Feature Flag Rollout diagram template
Decouple deploy from release with flags, percentage rollouts and a kill switch.
About this design
Feature flags separate shipping code from turning it on. Code for a new feature is merged and deployed behind a flag that is off, so deployment becomes a routine, low-risk event. A flag service holds the rules, and each application caches them locally and evaluates them per request using the user's attributes, which allows internal staff first, then one percent of users, then everyone. Evaluations and the metrics that matter, errors and conversion, are sent to a monitoring tool so a bad rollout is visible within minutes, and a kill switch turns the feature off instantly without a deploy. Use the template to discuss flag hygiene, because stale flags are technical debt, consistent bucketing so a user does not flip between variants, testing both code paths, and what happens when the flag service itself is unreachable.
Diagram as text
This is the source of the diagram, in the ArchBoard diagram DSL. Paste it into Tools, Diagram from text to rebuild or change it.
title "Feature flag rollout"
direction LR
service app "Application" -> flags "Flag service"
app -[evaluate locally]-> cache redis "Flag cache"
flag-service -> db postgres "Flag rules"
app -[exposure + errors]-> monitor datadog "Monitoring"
client "Product team" -> flag-serviceMore devops templates
CI/CD Pipeline
Build, test, scan and deploy containers from a pull request all the way to Kubernetes.
Observability Stack
Metrics, logs and traces collected from services into dashboards and alerts.
Kubernetes Cluster with Ingress
Ingress, services, pods, config and persistent storage inside a Kubernetes cluster.