DevOps / GitOps Interview Questions
What is progressive delivery and how does it relate to GitOps — Argo Rollouts, Flagger?
Progressive delivery is the practice of releasing changes incrementally to a subset of users or traffic rather than all-at-once. Common strategies include canary releases (route 5% of traffic to the new version, ramp up if metrics look healthy), blue-green (maintain two identical environments and switch traffic between them), and A/B testing. The goal is to catch problems on a small blast radius before full rollout.
GitOps stores the desired final state. Progressive delivery tools manage the transition path to get there. A Git commit declaring a new image tag triggers the start; a separate tool decides how fast and safely to promote it.
Argo Rollouts: A Kubernetes controller that replaces standard Deployment resources with a Rollout CRD. The Rollout spec includes a strategy block defining canary steps or blue-green configuration. Argo CD syncs the Rollout manifest from Git; Argo Rollouts then manages the actual pod progression, traffic shifting (via Istio, NGINX, ALB), and Analysis template queries (Prometheus metrics, Datadog, Kayenta). If metrics fail, Rollouts automatically aborts and rolls back.
Flagger: Works alongside Flux CD. You keep deploying regular Kubernetes Deployments via Flux; Flagger watches them and creates primary/canary Deployment pairs automatically. It uses Prometheus or Datadog metrics to gate each traffic increment and integrates with Istio, App Mesh, Linkerd, and Nginx for traffic management. Canary objects are fully managed by Flagger — you only maintain the primary Deployment in Git.
Neither tool conflicts with GitOps — the rollout strategy CR itself is stored in Git and managed by the GitOps operator. Git records the intent; Argo Rollouts or Flagger executes the progression safely.
More Related questions...