Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Cloud-native přístupy — 12-factor app a co to znamená v praxi

25. 03. 2019 1 min čtení CORE SYSTEMScloud

„Cloud-native” se za poslední rok dostal z konferencí do reálných zadání. Co to doopravdy znamená? Pro nás je to soubor principů, které dělají aplikaci provozovatelnou, škálovatelnou a odolnou. 12-factor app je dobrý startovní bod.

12-factor app — co z toho má smysl

III. Config ve env vars. Žádné konfigurační soubory v gitu. Na Kubernetes ConfigMaps a Secrets.

VI. Stateless processes. Session v Redis, soubory v object storage, sdílená cache. 10 replik, load balancer je rozhodí kamkoliv.

XI. Logs as event streams. Aplikace loguje na stdout. Infrastruktura (Fluentd) sbírá a posílá do Elasticsearch.

Health checks — readiness vs. liveness

Liveness: „Je živá?” — Kubernetes restartuje. Readiness: „Přijímá traffic?” — vyřadí z load balanceru. Špatný liveness timeout → restart loop pod zátěží. Spring Boot Actuator to řeší elegantně.

Graceful shutdown

SIGTERM → přestat přijímat requesty → dokončit rozpracované → exit. Pre-stop hook (sleep 5) dává load balanceru čas vyřadit pod. Pozor na batch joby (checkpoint/resume), DB pool (drain), message consumers.

Observability — tři pilíře

  • Metriky (Prometheus): RED method — request rate, error rate, duration
  • Logy (ELK/Loki): strukturované JSON s correlation ID
  • Tracing (Jaeger): distribuované trasování přes služby — game changer

Immutable infrastructure

Žádné SSH na produkci. Žádné quick fixy na podu. Změna = nová verze přes CI/CD. Pod je cattle, ne pet. Kulturní změna víc než technická.

Cloud-native je mindset

Není to jen „běží na cloudu”. Je to stateless, observable, resilient, automated. Můžete být cloud-native i on-premise s Kubernetes. A v cloudu nebýt cloud-native (lift and shift VM).

cloud-native12-factorkubernetesbest practices