Skip to content
_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
References Technologies Blog Know-how Tools
About Collaboration Careers
CS EN DE
Let's talk

Cloud-Native Approaches — 12-Factor App and What It Means in Practice

25. 03. 2019 Updated: 27. 03. 2026 1 min read CORE SYSTEMScloud
This article was published in 2019. Some information may be outdated.
Cloud-Native Approaches — 12-Factor App and What It Means in Practice

“Cloud-native” has moved from conferences to real project requirements over the past year. What does it actually mean? For us, it’s a set of principles that make an application operable, scalable, and resilient. The 12-factor app is a good starting point.

12-Factor App — What Actually Makes Sense

III. Config in env vars. No configuration files in git. On Kubernetes, use ConfigMaps and Secrets.

VI. Stateless processes. Sessions in Redis, files in object storage, shared cache. 10 replicas, the load balancer distributes them anywhere.

XI. Logs as event streams. The application logs to stdout. Infrastructure (Fluentd) collects and sends to Elasticsearch.

Health Checks — Readiness vs. Liveness

Liveness: “Is it alive?” — Kubernetes restarts it. Readiness: “Is it accepting traffic?” — removed from the load balancer. A bad liveness timeout → restart loop under load. Spring Boot Actuator handles this elegantly.

Graceful Shutdown

SIGTERM → stop accepting requests → finish in-progress work → exit. Pre-stop hook (sleep 5) gives the load balancer time to remove the pod. Watch out for batch jobs (checkpoint/resume), DB pools (drain), message consumers.

Observability — Three Pillars

  • Metrics (Prometheus): RED method — request rate, error rate, duration
  • Logs (ELK/Loki): structured JSON with correlation ID
  • Tracing (Jaeger): distributed tracing across services — game changer

Immutable Infrastructure

No SSH to production. No quick fixes on a pod. Change = new version through CI/CD. A pod is cattle, not a pet. More of a cultural change than a technical one.

cloud-native12-factorkubernetesbest practices
Share:

CORE SYSTEMS

We build core systems and AI agents that keep operations running. 15 years of experience with enterprise IT.

Need help with implementation?

Our experts can help with design, implementation, and operations. From architecture to production.

Contact us
Need help with implementation? Schedule a meeting