Blue-green deploys return your service to safety
A blue-green deployment is a release strategy that avoids having to bring your service down for an upgrade.
Feature flags improve upon blue-green deployments with granular controls for individual features in a release and granular targeting to expose only internal or beta testers.
What is a blue-green deployment?
A blue-green deployment is a software release approach with two identical production environments. It has the advantage of easy failover and avoiding release downtime, though is less gradual than a canary release.
Deploy to the green deployment, observe it to ensure it is stable, and then transfer all production traffic to it. If anything goes wrong, you can easily cut back to the blue environment with your previous production code.
Blue-green deployment best practices
Feature flags and blue-green deployments
Feature flags give you the advantages of blue-green deployments plus you can turn on and off individual features; you’re not limited to entire packages or releases. If a single feature in a larger release is having an issue, you don’t need to roll back everything.
Feature flags target specific users, so you can expose internal QA testers, external beta testers, or specific segments of your user base to a new change. With Split, tie this directly to your operational data to be alerted to issues and detect changes before a large set of users
Easily roll back without changing code
Feature flags return you to a safe, known state without infrastructure complexity.