Backend deployment is the process of moving application code from development to production environments, a critical transition where planning, automation, and risk management converge. Modern deployment practices emphasize zero-downtime releases through strategies like blue-green and canary deployments, progressive delivery that incrementally exposes changes to users, and automated rollback mechanisms that restore service when issues arise. Understanding these patterns β from database migration techniques to supply chain security controls β separates deployments that cause outages from those that ship reliably at scale.
What This Cheat Sheet Covers
This topic spans 13 focused tables and 102 indexed concepts, 102 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Core Deployment Strategies
The choice of deployment strategy determines how risk, downtime, and blast radius are controlled when shipping new code. Ordered from the simplest to the most controlled, each strategy trades off speed, complexity, and rollback capability differently.
| Strategy | Example | Description | |
|---|---|---|---|
Two environments: Blue (live) and Green (new). Traffic switches instantly after validation. | β’ Maintains two identical production environments to eliminate downtime β’ instant rollback by reverting traffic to the previous environment. | ||
Route 5% traffic to new version. Monitor metrics, then gradually increase to 100%. | β’ Gradually shifts traffic to new version starting with small percentage β’ limits blast radius if issues arise and enables real-world validation. | ||
Replace pods incrementally: 25% β 50% β 75% β 100%. Old and new versions coexist temporarily. | β’ Replaces instances incrementally without downtime β’ both versions run simultaneously during transition, requiring backward compatibility. | ||
Release to internal users β beta testers β 10% β 50% β 100%. Gate each phase on metrics passing thresholds. | β’ Controlled, incremental rollout with automated promotion based on success criteria β’ combines feature flags, canary releases, and observability. | ||
Deploy feature to production with feature flag disabled. Enable for internal team first, then gradually. | β’ Code is deployed but feature remains hidden behind toggle β’ allows production testing without user visibility before official release. | ||
Mirror production traffic to new version. Compare responses without affecting users. | β’ New version processes real traffic in parallel with production but results are not served to users β’ validates performance and behavior without risk. | ||
Route 50% users to variant A, 50% to variant B. Measure conversion, engagement, latency. | β’ Different versions served to user segments for business metric comparison β’ feature effectiveness measured before full rollout. | ||
Terminate all running instances. Deploy new version after complete shutdown. | β’ All existing instances are stopped before new ones start β’ accepts downtime in exchange for simplicity, suitable for dev environments or breaking changes. | ||
Deploy to Stamp A, validate, then deploy to Stamp B. Each stamp is an independent production unit. | β’ Blue-green at the infrastructure stamp level β deploy new version to one stamp while others serve traffic β’ naturally limits blast radius across regions or tenants. |