Summary
Cloud-native is a design philosophy and set of practices for building applications that are resilient, scalable, and manageable in modern cloud environments through the use of containers, microservices, declarative APIs, and continuous delivery.
What is Cloud-Native?
The Cloud Native Computing Foundation (CNCF) defines cloud-native technologies as those that empower organisations to build and run scalable applications in public, private, and hybrid clouds. The key pillars are containers (packaging and isolation), microservices (independent deployment of bounded components), dynamic orchestration (Kubernetes scheduling), and declarative APIs.
Cloud-native applications are designed for failure: they assume any component can fail and use patterns like circuit breakers, retries, and health checks to remain available. They are also designed for observability, emitting logs, metrics, and traces so operators can understand their behaviour.
The twelve-factor app methodology is closely aligned with cloud-native principles, providing concrete guidance on configuration, dependency management, and stateless processes.
Why is Cloud-Native relevant?
- Scalability: Applications can scale horizontally in response to demand automatically
- Resilience: Failure of individual components does not cascade to system-wide outages
- Velocity: Independent microservices allow teams to deploy changes independently
- Portability: Container-based packaging runs consistently across environments