Deployment Strategies Simulator
Learn deployment strategies like Blue-Green, Canary, Rolling Updates, and Recreate. Visualize how each strategy handles traffic routing, downtime, and rollbacks.
Category: DevOps
Topics covered: deployment, kubernetes, devops, educational, interactive, ci-cd
// simulator
Deployment Strategies Simulator
Learn deployment strategies like Blue-Green, Canary, Rolling Updates, and Recreate. Visualize how each strategy handles traffic routing, downtime, and rollbacks.
Initial State
Goal: Play all four strategies to their last step and compare how each moves users from v1 to v2.
Recreate, step 1 of 4: Initial State. All traffic goes to v1
Recreate
Stop all old pods, then start new ones. Simple but causes downtime.
Pros
- Simple
- Clean state
- Low cost
Cons
- Downtime
- No rollback
- Risky
Understanding Deployment Strategies
What you'll learn
- How different deployment strategies minimize risk and downtime
- Trade-offs between deployment speed, safety, and resource cost
- When to use each strategy based on your application needs
- How traffic routing changes during deployments
- The role of feature toggles in modern deployment practices
Deployment strategies compared
- Recreate: Simple but causes downtime. Terminate all, then deploy all.
- Rolling Update: Kubernetes default. Gradual replacement, zero downtime.
- Blue-Green: Two environments, instant switch, instant rollback.
- Canary: Gradual traffic shift, real-user testing, data-driven rollout.
- Feature Toggles: Decouple deployment from release, per-user targeting.
Real-world implementations
- Kubernetes: Native support for Rolling Updates and Recreate via Deployment spec.
- Argo Rollouts: Advanced Blue-Green and Canary with automated analysis.
- Istio/Linkerd: Service mesh traffic splitting for Canary deployments.
- LaunchDarkly/Unleash: Feature flag platforms for toggle-based releases.
- AWS CodeDeploy: Managed deployment service supporting multiple strategies.
Best practices
- Always have a rollback plan before deploying to production.
- Use health checks and readiness probes to verify new versions.
- Implement proper monitoring and alerting during deployments.
- Consider database migrations carefully. They often need special handling.
- Start with smaller blast radius (Canary) for critical services.
- Clean up feature flags after features are fully rolled out.
Overview
How you release a new version decides how many users a bad release reaches and how fast you can undo it. This simulator plays four common strategies step by step, so you can compare them on the same three-pod application. Recreate stops the old version and then starts the new one, which is simple but causes downtime. A rolling update starts a new pod, waits until it is ready, removes an old one and repeats, so capacity stays up while versions run side by side. Blue-green deploys the new version next to the old one, waits until it is ready and then switches all traffic at once, which makes rollback a single switch back. Canary sends a small share of traffic, 10 percent here, to the new version, observes the metrics, raises it to 50 percent, checks again and only then rolls out fully, so a bad release reaches few users. The trade-offs are cost, speed and risk: blue-green needs double capacity, canary needs good metrics, and recreate needs a maintenance window.
Try this
- Step through "Recreate" and note the moment when no version is running.
- Compare "Rolling Update" and "Blue-Green" to see when old and new pods serve traffic at the same time.
- Step through "Canary" and stop at the 10 percent stage, where you would check metrics before going further.
Frequently asked questions
- What is the difference between blue-green and canary deployments?
- Blue-green switches all traffic from the old environment to the new one at once and can switch back instantly. Canary moves traffic gradually, starting with a small share, so problems affect fewer users but the rollout takes longer.
- Which deployment strategy does Kubernetes use by default?
- RollingUpdate. A Deployment replaces pods gradually, controlled by maxSurge and maxUnavailable. Recreate is the other built-in option; blue-green and canary need extra tooling or manual steps.
- When is a recreate deployment acceptable?
- When brief downtime is acceptable, or when two versions cannot run at the same time, for example because of an incompatible database migration or a single-writer resource.
Try next
// simulator
Idempotency and Retry Lab
Lose payment responses, replay idempotent requests, compare backoff with full jitter during an outage, and move exhausted jobs to a dead-letter queue.
// simulator
GraphQL N+1 and DataLoader Lab
Trace nested GraphQL resolvers, count N+1 SQL queries, batch users and comments with DataLoader, and discover why a loader cache must stay inside one request.
// simulator
Preview Environment Simulator
See how a pull request becomes a temporary copy of your app, complete with a private URL, safe test data, review checks, and automatic cleanup.