Mike's Notes
Another great visual explanation from Nikki Siapno, who writes the weekly Level Up Coding newsletter. It's worth subscribing to.
Resources
- https://www.linkedin.com/in/nikkisiapno/
- https://blog.levelupcoding.com/
- https://blog.levelupcoding.com/p/luc-68-navigating-software-updates-a-closer-look-at-deployment-strategies
References
- Reference
Repository
- Home > Ajabbi Research > Library > Subscriptions > Level Up Coding
- Home > Handbook >
Last Updated
30/04/2025
The Most Popular Deployment Strategies Explained.
Nikki Siapno, is an Engineering Manager at Canva and founder of Level Up Coding.
Using the right deployment strategy is crucial for seamlessly integrating new features and updates. It reduces the risks, avoids interruptions, and delivers a smooth user experience.
There are many possible approaches, let's look at 5 of the most popular deployment patterns:
Blue/Green Deployment
Renowned for zero downtime, this method uses two environments, Blue and Green. One hosts the live version while the other tests the new version.
After comprehensive testing without affecting live traffic, users are transitioned to the updated environment.
If an issue is discovered after switching environments, it is relatively easy to switch back.
The main challenge is the cost and complexity of managing two environments.
Canary Deployment
Named after canary birds in mines, it starts by rolling out changes to a small subset of users.
This allows for monitoring performance and gathering feedback.
If successful, you gradually extend the update to more users.
It excels in minimizing user impact during updates due to isolation of a small set of users.
Rolling Deployment
Updates software in phases, rather than all at once.
It incrementally upgrades different segments of the system, ensuring most of it remains operational during the deployment.
It can be ideal for critical systems that require continuous operation.
However, it extends the total update time and might introduce temporary inconsistencies.
Feature Toggles
Think of feature toggles as on-off switches for new features.
They allow teams to deploy features quietly, turning them on for specific users when it makes sense.
Feature toggles support strategies like canary releases and A/B testing.
The challenge lies in managing numerous toggles, which can become complex and risk feature conflicts.
A/B Testing
Comparable to a scientific experiment, A/B testing offers two variations of a feature to different user groups to gauge which performs better.
It's a go-to for validating user preference and effectiveness of new features, based on concrete data like user engagement or ease of use.
Each deployment pattern stands out for specific strengths:
- Blue/Green for safety and zero downtime.
- Canary for controlled, low-risk rollouts.
- Rolling for maintaining continuous operations.
- Feature Toggles for flexible feature management.
- A/B Testing for data-driven user insights.
The right deployment strategy varies depending on the project's needs and objectives. Recognizing these differences allows teams to choose the best approach for a successful and user-centric software release.
No comments:
Post a Comment