4. Painful and Stressful
Time-consuming, tedious, and error-prone
Long weekend releases
Overnight releases
Costly process
Sometimes Boring
Rollback is difficult
Too many people involved
Manual process
Too many hand-offs
Releases are
9. Expand / Contract
• Don’t change exiting
object or the schema of
existing objects in
production.
• Instead of overwriting
static content, we put new
static content side by side.
• Basically version it.
• You don’t need to rollback,
you point to old version.
Jez Humble : https://continuousdelivery.com/
10. Blue-green deployments
• Deploying complete
application.
• Install all the components
app, service, database
twice
• Old version in blue slice
• New version in green slice
• Change router to point to
Green port
Jez Humble : https://continuousdelivery.com/
11. Canary Releasing
• Facebook and Netflix uses this
technique.
• Release to Internal employee.
• Then deploy to next level of users.
• Then push to everyone.
12. Cluster Immune System
• Monitor certain critical system
metrics like user usage of
system.
• While canary release, Immune
system checks key metrics if
they out of band.
• If any high statistics then
rollback to old version.
13. Feature Toggle
• All the major features is
already in live 6 months
before.
• Helps in A/B testing.
• Configuration will
toggle the features.
14. Dark Launch
• Facebook messenger
release
• Features available in
Live but not visible to
user.
Jez Humble : https://continuousdelivery.com/
By using continuous integration and making code deployment a low-risk process, Facebook has enabled code deployment to be a part of everyone’s daily work and sustain developer productivity. This requires that code deployment be automated, repeatable, and predictable.