⚡ ~/naveed Interview Prep
⚡ Portfolio Home ✍️ Engineering Blog Deep Dives 🎯 Interview Hub 998+ Scenarios ☸️ Kubernetes Mastery Hub 24 Modules 🎮 DevOps Arcade & Quizzes Subnet Blitz ⚡ 🗺️ DevOps Roadmaps PDFs & Guides 🤖 Morpheus Analysis AI Quant ↗ 🛠️ Developer Tools Utilities 🧪 Labs & Experiments 📄 Interactive CV & Certs 🔗 All Links & Socials ⚡ Join The Dispatch (Weekly SRE Newsletter) →
Staff / Principal SRE CI/CD Deployment Architecture Deployment Architecture

Q: How would you design a zero-downtime deployment strategy for a critical application? Compare rolling, blue-green, canary, and feature-flag-based deployments, and explain when you would choose each.

Deep architectural tradeoff matrix comparing Rolling, Blue-Green, Canary, and Feature Flag deployments, detailing when to use each and how to execute zero-downtime database schema migrations.

#Zero Downtime #Canary #Blue-Green #Feature Flags #Rolling Update #Database Migrations
🎙️ Candidate Opening & Architectural Context
"Zero-downtime deployments require isolating application traffic during transitions and ensuring data stores support multiple software versions concurrently. Each strategy presents distinct tradeoffs between risk, cost, and complexity."
Advertisement

🛠️ Production Runbook & Step-by-Step Resolution

1️⃣

Strategy Comparison & Tradeoff Matrix

The four production deployment patterns evaluated:

  • 1. Rolling Update: Progressively replaces old pods with new pods in-place. Pros: Zero extra compute cost; simple native K8s support. Cons: Runs two versions simultaneously with random traffic split; slow rollback. Best for: Routine stateless internal services with backward-compatible APIs.
  • 2. Blue-Green: Provisions a full duplicate environment (Green), validates it, then switches the router (ALB/DNS) 100% to Green. Pros: Instant rollback (flip router back); clean traffic cutover; thorough testing before cutover. Cons: Doubles infrastructure cost during release; stateful/database complexity. Best for: Major version upgrades, monolithic apps, or releases with breaking API contracts.
  • 3. Canary Deployment: Deploys new version alongside stable; shifts a small percentage of live traffic (e.g. 5% → 20% → 100%) based on automated telemetry analysis (Argo Rollouts/Flagger). Pros: Minimal blast radius; automated metric-driven rollback. Cons: Requires traffic routing infrastructure (Service Mesh / ALB) and sufficient traffic volume. Best for: High-traffic, mission-critical customer-facing microservices.
  • 4. Feature Flags (Dark Launching): Code is deployed to production in a dormant state; toggled dynamically via LaunchDarkly/Unleash. Pros: Decouples code deployment from feature release; instant per-user toggling; enables A/B testing. Cons: Code complexity and technical debt if flags aren't pruned. Best for: User-facing features, frontend changes, and gradual business launches.
2️⃣

The Universal Database Requirement: Expand & Contract

Zero-downtime is impossible without two-phase schema migrations:

  • In all zero-downtime strategies, Version N and Version N+1 access the database simultaneously.
  • Phase 1 (Expand): Add new column/table without modifying existing columns. Make it nullable or with default values. Both old and new application versions function cleanly.
  • Phase 2 (Code Release): Deploy the application code (Canary/Blue-Green) that begins writing to the new schema.
  • Phase 3 (Contract): After 100% traffic is stable on the new version, run a subsequent release that drops unused old columns.
3️⃣

Decision Framework: When to Choose What

Choosing the right tool for the job:

  • Stateless standard microservice: Canary deployment via Argo Rollouts.
  • Complex monolithic or database-heavy release: Blue-Green with warm secondary target group.
  • Risky new business algorithm: Feature Flag dark launch to 1% beta cohort.
  • Cost-sensitive internal tooling: Native Kubernetes RollingUpdate with PDBs and readiness probes.
💡 The Senior SRE Gold Nugget (Key Architectural Takeaway)
"Choose Canary (Argo Rollouts) for high-traffic microservices; Blue-Green for instant rollback and clean cutover; Feature Flags to decouple deployment from release. Always use Expand/Contract database migrations."
⚡ 60-Second Elevator Pitch Talking Points
  • Rolling Update: In-place, 0 extra cost, but mixed versions and slow rollback. Good for routine stateless updates.
  • Blue-Green: Dual environments, instant router flip rollback, but 2x cost. Best for monolithic apps and major releases.
  • Canary: Progressive traffic shifting (5% -> 100%) with automated metric-based rollback. Best for critical high-traffic services.
  • Feature Flags: Decouple deploy from release; instant toggling without redeployment. Best for user-facing features.
  • Database rule: Always use Expand/Contract (multi-phase) schema migrations to support concurrent versions.
Advertisement
Want more CI/CD scenarios?
Explore our complete collection of scenario-based CI/CD interview runbooks.
Browse All CI/CD Questions →

📚 Related Production Scenarios in CI/CD