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.