Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 Features of an Effective a Developer Environment

  • Convenience and Productive
    • Fast/Easy to install - everthing for development included by default
    • Fast/Easy to start/stop/update/teardown
    • Ability to reproduce and share environments
    • Easy to manipulate multiple instances/environments and operate simultaneously
      • (golden/dev/test/experimental), compare/contrast/diff environments
      • experiment with federation and multi-site deployments in DevEnv
    • Export/Import/shareable instances - reproducable in many contexts
      • Share with others, publish, reproducable environment as part of bug reports, ...
  • Reliability and Isolation
    • Instances isolated from each other and the developers system and from on-line requirements
    • Encapsulated - full environment enclused in the developer environment
      • Run multiple clusters in a laptop in an airplane disconnected from internet
    • Intentional upgrade process - avoid breaking auto-update
    •  (not automated),  encapsulated (minimal dependencies on external system/tools)
  • Accuracy and Portability
    • Represents the 'production' implementation of the system as closely as possible
    • Run in all popular developer laptops/system/OS combinations
      • Windows, Linux, Mac, ...
    • Developments in DevEnv are directly applicable to production systems
    • Support development at all-levels as closely as possible
      • system-level, operations-level, apps, user-facing, and development at all levels
  • Extensibility - Ability to extend and customize the platform as well as the developer environment
    • I.e.  no specific tool or model lock-in, freedom to change
    • Network - emulate multiple physical networks, ability to change k8s network plugins
    • Distributed - Emulate multi-site, multi-instance in dev
      • Federation, Distributed/federated/multi-site/edge-oriented development and testing

 

5 minutes to a running multi-node cluster that can run in your laptop.  VBox machines running CoreOS on host-local networking, not exposed to internet.  Notes below for other options.

...