An Application Release Pattern is an application-side attempt to make releases smooth and downtime-less. It supplements and complement infrastructure-side Release Strategies to together increase resiliency and stability.
Context
- Deployment is the processes of shipping a (new) version of a service
- Release is the action of enabling (new) features that re deployed
- Deployment != Release.
Variant: Feature Toggles
- Enable / disable functionality at deploy time - or even at runtime
- Not only for release: gracefully shut down service capabilities, if they are impaired
Variant: Dark Launch
- Enable / disable functionality incrementally
- Enable / disable functionality for a subset of users (e.g. 2%)
- Control strain / load gradually