Processus de déploiement progressif d'une nouvelle version d'application.
Un Rollout est le processus de déploiement progressif d'une nouvelle version d'application aux utilisateurs/instances de production, par opposition à un déploiement big-bang instantané. Permet de limiter le blast radius et faciliter la détection précoce de problèmes.
Stratégies de rollout (voir entrées dédiées pour détails) : (1) Recreate — kill all, deploy new (downtime) ; (2) Rolling — replace instances progressively (Kubernetes default) ; (3) Blue/Green — atomic switch entre deux environnements ; (4) Canary — traffic % progressif vers v2 ; (5) Shadow — duplicate traffic vers v2 sans servir users ; (6) A/B Testing — cohorts based routing.
Kubernetes rolling update controls : (1) `maxSurge` — combien de pods supplémentaires temporairement (par exemple 25% means scale up jusqu'à 125%) ; (2) `maxUnavailable` — combien de pods peuvent être down (25% means run minimum 75%). Combinaison détermine vitesse vs disponibilité du rollout. Default : 25%/25% — graceful, no downtime.
Progressive delivery tools : (1) Argo Rollouts — Kubernetes CRD adding Canary, Blue/Green, Experiment, Analysis ; (2) Flagger — automated promotions based metrics ; (3) Spinnaker — multi-cloud advanced ; (4) AWS CodeDeploy — blue/green, canary natif pour ECS, Lambda, EC2.
Monitoring rollouts : suivre les golden signals pendant deploy ; alerts régression auto-rollback ; comparer baseline vs canary metrics (Kayenta — Spinnaker statistical analysis). Best practice : automate as much as possible, mais require human approval pour production critique.
200+ certifications, 400 000+ questions, examens blancs chronométrés.
Voir le catalogue →