Rolling update v Kubernetes je základ. Ale pro kritické služby potřebujeme víc: canary deployment s automatickou analýzou, blue-green pro zero-downtime cutover, automated rollback na základě metrik.
Proč Spinnaker¶
Netflix vytvořil Spinnaker pro management tisíců deploymentů denně. Multi-cloud podpora (AWS, GCP, Azure, Kubernetes), pipeline s manuálními approval gates, a hlavně: Automated Canary Analysis (ACA).
Canary deployment s Kayenta¶
Kayenta je Spinnaker modul pro automatickou canary analýzu. Porovnává metriky canary verze s baseline (produkce). Error rate vyšší? Latence horší? Automatický rollback. Metriky OK? Postupně zvyšuj traffic.
Canary Analysis Config:
metrics:
- name: error_rate
query: rate(http_errors_total[5m])
threshold: marginal=5%, pass=1%
- name: latency_p99
query: histogram_quantile(0.99, ...)
threshold: marginal=10%, pass=5%
lifetime: 30m
score_threshold: 70
Blue-green deployment¶
Dvě identické produkční prostředí. Green (nová verze) nasazena a otestována, pak přepnutí load balanceru. Problém? Okamžitý rollback přepnutím zpět na blue.
Spinnaker vs. ArgoCD¶
ArgoCD je jednodušší a Kubernetes-native. Spinnaker je komplexnější, ale nabízí multi-cloud, canary analýzu a sofistikované pipeline. Pro pure Kubernetes projekty volíme ArgoCD. Pro multi-cloud a advanced deployment strategie Spinnaker.
Advanced deployment strategie snižují riziko¶
Canary deployment s automatickou analýzou zachytí problémy dříve, než ovlivní všechny uživatele. Pro kritické služby je to investice, která se vrátí.