Cloud-Native Architecture
Design applications specifically to exploit cloud capabilities: elasticity, managed services, and pay-per-use scaling.
★★★★★5/5Deployment platform — Kubernetes, Docker, cloud config
How it works
Cloud-native is a set of principles for building applications that fully leverage cloud platforms. The CNCF defines it around: microservices, containers, dynamic orchestration, and declarative APIs.
Cloud-native apps are designed to be: observable (metrics, logs, traces built-in), resilient (designed for failure), elastic (scale to zero or thousands), and automated (CI/CD, infrastructure as code).
The 12-Factor App methodology provides concrete practices: one codebase, explicit dependencies, config from environment, stateless processes, disposability, and dev/prod parity.
Why it matters
Traditional apps designed for static infrastructure waste cloud economics. Cloud-native design enables auto-scaling, zero-downtime deployments, and significant cost reduction through elasticity.
✓ When to use
- →Any new application designed for cloud deployment
- →Migrations where re-architecting is feasible ('re-architect' vs 'lift and shift')
✗ When NOT to use
- →Applications that can't be containerised or have hard OS dependencies
- →Lift-and-shift migrations with zero refactoring budget
Trade-offs
Full cloud economics: pay only for what you use
Vendor lock-in risk with managed services
Built-in scalability and resilience
Requires significant cultural and process changes
In production
Pioneered cloud-native on AWS; Chaos Engineering tests resilience at scale
Fully cloud-native on GCP; serverless + Kubernetes for all workloads
Industry adoption
Related principles
Container Architecture
Package applications with all their dependencies into isolated, portable units that run consistently everywhere.
Kubernetes Orchestration
LiveAutomate the deployment, scaling, and self-healing of containerised applications across a cluster of nodes.
Serverless Architecture
Execute functions in response to events without managing servers — the platform handles scaling, patching, and availability.
Microservices Architecture
LiveDecompose an application into small, independently deployable services that communicate over a network.