What is cloud native?
Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds.
"Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach. These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil."
CNCF, Cloud Native Computing Foundation
Cloud-native applications rely on 5 pillars.
- 3 "core pillars" provide the most important cloud-native benefits.
- The hardware abstraction pillar
- The distributed architecture pillar
- The commodity managed services
- 2 "supporting pillars"are more to mitigate the impact of the complexity caused by the core pillars.
- The automation pillar
- The observability pillar
IT Dimension - Core pillars
Modern computer models such as containerization and serverless computing favor hardware abstraction. This gives developers the ability to create workloads without having to deal with all the burden of hardware considerations such as static upfront sizing, installations (including OS aspects), localization, low-level patching, scaling management, and physical networking set-up.
In addition to technical pillars, successful cloud-native initiative also relies on non-IT dimensions such as :
- Agile methodologies
- Non-hierarchical team organization
- Feature and data driven product design
- Iterative and collaborative culture