...
- 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
Some Developer Use Cases
- Development of WB API/Web services
- Development of integration with external storage/compute - DataDNS
- Experimentation with K8s Federation - Federating multiple clusters and and A/B (reference/experimental) dev/testing in a developer environment
- Experimentation/development of in-cluster system services: services in k8s that support NDS-level services
- gluster automation, PVCs and alternate storage/volume models in WB, in-cluster authz/authn, network policy security, ...
- Test/Evaluation of systems-level SW: New k8s versions, different container runtimes/plugins, different network overlay plugins
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.
...