Phase 4: Shipping, Progressive Delivery, Feature Flags, and Dark Launching
Deploying software should be a routine, non-event. High-performing teams decouple Deployment (moving bytes to servers) from Release (exposing features to users) using Feature Flags, Canary Deployments, and Blue-Green Deployments.
⚡ Quick Dive
Deployment vs. Release
| Concept | Action | Blast Radius Risk | Control Mechanism |
|---|---|---|---|
| Deployment | Pushing compiled binary / container to production Kubernetes | Zero (Code is inactive or dark launched) | CI/CD pipeline |
| Release | Toggling feature flag ON for users | Controlled (e.g. 5% beta users) | Feature Flag Dashboard (Unleash / LaunchDarkly) |
Canary Deployment Progression
Stage 1: 1% Canary Traffic ────► Monitor Error Rate & p99 Latency (15 mins)
Stage 2: 10% Canary Traffic ───► Monitor Business Metrics (1 hour)
Stage 3: 50% Staged Rollout ───► Full Cluster Warming
Stage 4: 100% General Availability (GA)
📖 Extended Guide
1. Feature Flag Implementation with Kill Switches
// Example using Unleash / OpenFeature SDK
if (unleash.isEnabled("enable-new-recommendation-engine", userContext)) {
// New algorithmic path
return getRecommendationsV2(userId);
} else {
// Fallback battle-tested baseline path
return getRecommendationsV1(userId);
}
- Kill Switch Capability: If the new recommendation engine crashes in production, the engineering team flips the flag OFF in the UI in <1 second with zero code redeployment.