Jonatan Matajonmatum.com
conceptsnotesexperimentsessays
© 2026 Jonatan Mata. All rights reserved.v2.1.1
Concepts

Cloud Native

Development approach leveraging cloud advantages: containers, microservices, immutable infrastructure, and declarative automation for scalable and resilient systems.

evergreen#cloud-native#containers#microservices#cncf#kubernetes#devops

What it is

Cloud native is an approach to building applications that fully leverage the capabilities of the cloud computing model. It's not simply "migrating to the cloud" — it's designing systems from scratch that exploit elasticity, automation, managed services, and distributed resilience patterns.

The Cloud Native Computing Foundation (CNCF) defines cloud native as using technologies that enable organizations to build scalable applications in dynamic environments like public, private, and hybrid clouds. Containers, service mesh, microservices, and immutable APIs are examples of this approach.

Cloud native represents a fundamental shift in how we think about software architecture: from monoliths deployed on physical servers to distributed systems that embrace failure as normal and self-heal.

Fundamental pillars

PillarPrincipleKey technologyBenefit
ContainersConsistent and portable packagingDocker, containerd, PodmanEnvironment consistency
MicroservicesSmall, independent componentsKubernetes, ECSIndependent scaling
Immutable infrastructureReplace instead of modifyIaC, AMIsPredictability and rollbacks
Declarative APIsDescribe desired stateKubernetes manifests, CDKAutomation and self-healing

CNCF ecosystem

The CNCF maintains a landscape of over 1,000 projects organized by categories:

Loading diagram...

Key graduated projects

  • Kubernetes: Container orchestration
  • Prometheus: Monitoring and alerting
  • Envoy: Service mesh and load balancing
  • CoreDNS: Service discovery
  • containerd: Container runtime
  • Fluentd: Unified logging
  • Jaeger: Distributed tracing

Cloud native maturity model

Level 1: Containerized

  • Applications packaged in containers
  • Basic cloud deployment
  • Traditional infrastructure with containers

Level 2: Orchestrated

  • Using Kubernetes or orchestrators
  • Deployment automation
  • Basic service discovery

Level 3: Microservices

  • Microservices architecture
  • Well-defined APIs
  • Database per service

Level 4: Cloud Native

  • Twelve-factor app compliance
  • Fully automated CI/CD
  • Comprehensive observability
  • Chaos engineering and auto-healing

Level 5: Serverless

  • Serverless functions
  • Event-driven architecture
  • Fully managed infrastructure

Twelve-Factor App alignment

Cloud native embraces twelve-factor app principles:

FactorCloud Native Implementation
CodebaseGit + GitOps
DependenciesContainer images + package managers
ConfigConfigMaps, Secrets, environment variables
Backing servicesManaged databases, message queues
Build/Release/RunCI/CD pipelines
ProcessesStateless containers
Port bindingService mesh, ingress controllers
ConcurrencyHorizontal pod autoscaling
DisposabilityGraceful shutdown, fast startup
Dev/Prod parityContainer consistency
LogsCentralized logging (ELK, Fluentd)
Admin processesJobs, CronJobs in Kubernetes

Migration path: Traditional → Cloud Native

Phase 1: Containerization (3-6 months)

# Basic Dockerfile
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["npm", "start"]

Phase 2: Orchestration (6-12 months)

# Kubernetes Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: app
        image: myapp:v1.2.3
        ports:
        - containerPort: 3000
        env:
        - name: DATABASE_URL
          valueFrom:
            secretKeyRef:
              name: db-secret
              key: url

Phase 3: Microservices (12-18 months)

  • Monolith decomposition
  • API Gateway implementation
  • Service mesh adoption
  • Distributed tracing

Phase 4: Optimization (18+ months)

  • Serverless functions for specific workloads
  • Advanced observability
  • Chaos engineering
  • Multi-cloud strategies

Cloud Native vs alternatives

AspectCloud NativeCloud HostedOn-Premises
DesignFor the cloudMigrated to cloudFor physical servers
ScalingAutomatic, horizontalManual or verticalManual, limited
ResilienceDesigned from startAdded afterHardware dependent
DeploymentContinuous, blue-greenScheduled releasesMaintenance windows
CostPay-per-use, optimizableFixed instancesHigh initial CAPEX
VelocityMultiple deploys/dayWeekly/monthlyMonthly/quarterly

Why it matters

Cloud native is not a technology fad — it's an architectural response to modern software requirements: frequent deployments, global scaling, fault tolerance, and accelerated time-to-market.

For engineering teams, cloud native means shifting from "maintaining servers" to "delivering value." Cloud native systems self-heal, scale automatically, and enable rapid experimentation without risk of total system failure.

The main trade-off is complexity: cloud native requires expertise in Kubernetes, observability, distributed networking, and DevOps. But for organizations that need to scale quickly or handle variable loads, the benefits significantly outweigh the costs.

Cloud native adoption also changes organizational structure: small, autonomous teams responsible for complete services from development to production — the "you build it, you run it" model.

References

  • toc/DEFINITION.md at main · cncf/toc · GitHub — CNCF, 2018. Official cloud native definition.
  • CNCF Landscape — CNCF, 2024. Complete ecosystem of cloud native projects.
  • The Twelve-Factor App — Heroku, 2017. Methodology for SaaS applications.
  • Microservices — Martin Fowler, 2014. Microservices architecture.
  • Overview | Kubernetes — Kubernetes, 2024. Fundamental orchestration concepts.
  • Understanding cloud-native apps — Red Hat, 2024. Practical guide to cloud native applications.
  • What Is Cloud Native? | IBM — IBM, 2024. Enterprise perspective on cloud native.

Related content

  • Serverless

    Cloud computing model where the provider manages infrastructure automatically, allowing code execution without provisioning or managing servers, paying only for actual usage.

  • Docker

    Container platform that packages applications with all dependencies into portable, consistent units that run identically in any environment.

  • Kubernetes

    Container orchestration platform that automates deployment, scaling, and management of containerized applications at scale, becoming the de facto standard for cloud native.

  • Microservices

    Architectural style structuring an application as a collection of small, independent, deployable services, each with its own business logic and data.

  • Twelve-Factor App

    Twelve-principle methodology for building modern SaaS applications that are portable, scalable, and deployable on cloud platforms.

  • DevOps

    Culture and set of practices that unify development (Dev) and operations (Ops) to deliver software with greater speed, quality, and reliability. It's not a role — it's a way of working.

  • CI/CD

    Continuous Integration and Continuous Delivery/Deployment — practices that automate code integration, testing, and delivery to production. Foundation of modern software engineering.

Concepts