Week 12: Feature Flags & Release Management

Theme: Feature flags with LaunchDarkly/Unleash, release trains, semantic versioning.

Learning Objectives

  1. Implement feature flags in Go using Unleash (open-source)
  2. Manage release trains and semantic versioning
  3. Use feature flags for gradual rollout and kill switches
  4. Separate deploy from release

Reading Materials

Finger Exercises (choose 2)

  1. Deploy Unleash server to kind. Create a feature flag called "new-checkout-flow" with 50% rollout.
  2. In the Go app, use the Unleash Go SDK to check "new-checkout-flow". Route to new or old handler.
  3. Create a kill switch flag: if toggled off, the app returns a maintenance page.

Project

Integrate Unleash into the Go app:

Build a release pipeline:

Document the release process in RELEASE.md

Time Budget

ActivityTime
Reading1.5 hrs
Finger exercises1.5 hrs
Project3 hrs
Total6 hrs