<arch.design/>
Principles/Cloud-Native Architecture
InfrastructureCloudadvanced201512-factorcncfelasticmanaged-services

Cloud-Native Architecture

Design applications specifically to exploit cloud capabilities: elasticity, managed services, and pay-per-use scaling.

5/5
Operates at: Infrastructure level

Deployment 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

Netflix

Pioneered cloud-native on AWS; Chaos Engineering tests resilience at scale

Spotify

Fully cloud-native on GCP; serverless + Kubernetes for all workloads

Industry adoption

5/5Ubiquitous — used at virtually every scale-focused company.

Related principles