Stage 7 · Master
KCNA — Kubernetes & Cloud Native Associate
Cloud Native Architecture (16%)
Autoscaling, serverless, community roles, and the 12-factor methodology.
The 12-Factor App
The 12-Factor App is a methodology for building software-as-a-service applications. It provides best practices for portability, scalability, and maintainability. Every Kubernetes-native application should follow these principles.
- I. Codebase — One codebase tracked in version control, many deploys.
- II. Dependencies — Explicitly declare and isolate dependencies.
- III. Config — Store config in the environment, not in code.
- IV. Backing services — Treat backing services as attached resources.
- V. Build, release, run — Strictly separate build and run stages.
- VI. Processes — Execute the app as stateless processes.
- VII. Port binding — Export services via port binding.
- VIII. Concurrency — Scale out via the process model.
- IX. Disposability — Maximize robustness with fast startup and graceful shutdown.
- X. Dev/prod parity — Keep development, staging, and production as similar as possible.
- XI. Logs — Treat logs as event streams.
- XII. Admin processes — Run admin tasks as one-off processes.
Factor III (Config) maps directly to Kubernetes ConfigMaps and Secrets. Never hardcode configuration in container images. Use ConfigMaps for non-sensitive data and Secrets for credentials — though Secrets are base64-encoded, not encrypted by default.
Autoscaling
Kubernetes provides three autoscaling mechanisms that work together to handle variable load.
| Autoscaler | What It Scales | Metric |
|---|---|---|
| HPA | Pod replicas | CPU, memory, or custom metrics |
| VPA | Pod resource requests | Historical resource usage |
| Cluster Autoscaler | Node count | Pending pods or underutilized nodes |
kubectl autoscale deployment my-app \
--min=2 --max=10 --cpu-percent=70This creates a HorizontalPodAutoscaler that maintains CPU utilization at 70% by scaling between 2 and 10 replicas. The Cluster Autoscaler adds or removes nodes when pods cannot be scheduled.
Serverless on Kubernetes
Serverless on Kubernetes means running functions-as-a-service or event-driven workloads without managing the underlying infrastructure. Knative is the standard serverless platform for Kubernetes.
- Knative Serving — Scale to zero, automatic scaling, traffic splitting.
- Knative Eventing — Event-driven architectures with brokers, triggers, and sources.
- OpenFaaS — Functions as a service on Kubernetes.
- Virtual Kubelet — Connect serverless providers to Kubernetes.
CNCF Landscape
The CNCF (Cloud Native Computing Foundation) hosts the cloud native ecosystem. Projects are categorized by maturity: Sandbox, Incubating, and Graduated. Key graduated projects include Kubernetes, Prometheus, Envoy, CoreDNS, and containerd.
Know the difference between CNCF projects and non-CNCF tools. The exam may ask about project governance, maturity levels, or which foundation hosts a specific tool.
Community Roles
The Kubernetes community has defined roles for contributors at every level. Understanding these roles shows you understand how open-source governance works.
- Kubernetes Member (KM) — Entry-level contributor recognition.
- Reviewer — Reviews pull requests for code quality.
- Approver — Has merge authority for specific areas.
- Kubernetes Maintainer — Long-term contributor with broad merge authority.
- SIG (Special Interest Group) — Topic-focused working groups (e.g., SIG-Network, SIG-Storage).
Architecture Design Principles
Cloud native architecture favors loose coupling, microservices, containerization, and ephemeral infrastructure. The goal is resilience through redundancy, not through durable servers.
- Design for failure — Assume components will fail and build recovery into the system.
- Embrace ephemeral infrastructure — Nodes, Pods, and even clusters should be replaceable.
- Automate everything — From deployment to scaling to recovery, automation is non-negotiable.
- Observe your systems — Metrics, logs, and traces provide the visibility needed to operate.
Key Takeaways
Cloud native architecture is not about using every tool available. It is about making intentional trade-offs between complexity, performance, cost, and operational burden. A monolith is not wrong — a monolith that cannot scale is wrong.
Mark this lesson complete to store local progress and unlock a cleaner resume path the next time you visit.