Build systems that are native to cloud environments.
To support a rapid pace of change, scaling and simplification to operation of many smaller systems.
- Prefer open and cloud tooling for configuration and deployment
- Considering auto-scaling in the design of applications
- Build tolerant of unique cloud failure conditions
- Requires in-house capability to deploy using cloud native infrastructure
- Space data capture and Beauty CRM are examples of cloud native. Not completely painless because tools used to provision cloud infrastructure would need work but Kubernetes is available on other cloud platforms and containerisation enables consistency across whole path to live. From nothing to live for Beauty CRM was days rather than > 6 weeks just to get an internal test server. DISCO - elastic search is another example.
- 1JL was designed as cloud native as reasonably possible at the time but are constrained by some dependencies of internal network.
- Bad example .. Large packages such as ATG are not cloud ready/enabled which restricts hosting option
- Good reading - https://12factor.net