Free — no signup required

Putting It Together: The Progressive Delivery Pipeline

2 min read

The Full Workflow

Feature flags and canary deployments are complementary, not competing, tools. A mature progressive delivery pipeline uses both in sequence:

Code Merged
    │
    ▼
Deploy to Production (behind a Feature Flag = OFF)
    │
    ▼
Enable Flag for Internal Employees
    │  (Manual validation, QA sign-off)
    ▼
Enable Flag for Beta Users (1–5%)
    │  (ACA running, monitoring business metrics)
    ▼
Canary Rollout: 5% → 25% → 50% → 100%
    │  (ACA gates each step automatically)
    ▼
Feature Flag Removed from Code (cleanup)

The feature flag handles the who (targeting specific user segments). The canary + ACA handles the how much (traffic percentage) and the is it safe (automated health gates).

When to Use Which Tool

Scenario Best Tool Reason
Hide an incomplete feature during development Feature Flag Zero traffic exposure; instant toggle
Test a new algorithm with real users for business impact A/B Test (Feature Flag) Need user-level assignment and business metric tracking
Validate a new service version is technically healthy Canary + ACA Infrastructure-level traffic split; statistical health comparison
Emergency kill switch for a broken feature Feature Flag Faster than a rollback deployment; no infrastructure change needed
Migrate a database schema with zero downtime Feature Flag + Canary Flag controls which code path reads/writes; canary validates the new path

Flag Debt: The Hidden Cost

Every feature flag you add is a liability if not managed. Flag debt accumulates when:

  • Flags are never removed after a full rollout completes.
  • The team forgets what a flag does or is afraid to remove it.
  • Flags reference each other, creating combinatorial complexity (if flagA && flagB && !flagC).
  • Tests don't cover all flag combinations, hiding bugs.

Best practices to prevent flag debt:
1. Add a removal_date or owner field to every flag in your flag management system.
2. Create a ticket to remove the flag at the same time you create the flag.
3. Set up alerts for flags that have been at 100% rollout for more than 30 days.
4. Treat flag removal as a first-class engineering task, not optional cleanup.

Interview Tip

Interviewers at companies like Netflix, Uber, and Meta often ask about the operational complexity of feature flags at scale. A strong answer acknowledges flag debt and describes a governance model: flag ownership, automated staleness detection, mandatory removal tickets, and testing strategies that cover flag combinations. Mentioning that flags should be treated as temporary code with an expiry date — not permanent configuration — signals senior-level thinking.

This is one of 18 chapters

Every chapter is free — Kubernetes, Terraform, SRE, distributed systems, and more — with fast daily review built in.

Sign up free