- Feature toggles are booleans in code that activates or deactivates a feature in run-time
- You can deploy first
- Measure soundness of your release in backwards compatibility/bug perspective
- Release new functionality gradually to different users, or vice versa (scale down or even rollback functionality and/or binaries).
- Allows for splitting availability of functionality from deployment of binaries, and gives much more fine-grained decision making then only "deploy/rollback"
- 💡 Always using it a good way to increase your confidence in a new version, since the new version functions exactly like the old until someone flips a feature toggle.
- The essence of blue-green is deploying all at once
- Easy rollbacks in case of failure.
- Completely automated deployment process
- Zero downtime deployment
- Concept
- Blue version = Current version, users use it
- Green version = New version on production, not yet available
- You redirect users to Green release and at the end it becomes your Blue release.
- Azure Traffic Manager allows it with its weighted round-robin routing method
- The essence of canary deployment is deploying incrementally
- Deploys in small, incremental steps, and only to a small group of people
- It is about to get an idea of how new version will perform (integrate with other apps, CPU, memory, disk usage, etc).
- Slowly replaces currently running instances of the application with newer ones.
- Noting that the old one is removed only when the new is has passed health checks is important