Skip to main content
← Back to articles

Feature Flags and Progressive Delivery

LaunchDarkly-style patterns for canarying risky changes without separate deployment trains.

Nestlancer Editorial

Share

Feature Flags and Progressive Delivery

Feature flags decouple deployment from release—you ship code dark, then expose it to 5% of tenants while watching error budgets.

Flag taxonomy

TypeLifetimeExample
Release flagDays–weeksNew checkout flow
Ops flagPermanentKill switch for integrations
Experiment flagFixed cohortPricing page variant

Release flags must have ticket-linked removal dates. Ops kill switches stay forever.

Progressive rollout checklist

  • Metrics dashboard filtered by flag variant
  • On-call knows kill-switch owner
  • Database migrations compatible with both paths
  • Client apps handle unknown flag states gracefully

NestJS integration

if (await this.flags.isEnabled('new-media-pipeline', { userId })) {
  return this.mediaV2.process(file);
}
return this.mediaV1.process(file);

Evaluate flags server-side for security-sensitive features.

Avoid flag debt

Quarterly audits: delete stale flags and combinatorial test paths they created. Fifty permanent flags means fifty untested permutations.

Progressive delivery reduces blast radius—treat flags as temporary scaffolding, not permanent conditionals.

Comments

Loading comments…

Related posts