What is Deployment? What are the Processes For Releases
2 min readSep 5, 2024
The processes involved in making a software system usable are referred to as deployment in the context of software development. The deployment procedure is essential to decide in order to correctly release features without any impact towards user activities.

Types of Deployment
- Multi Service Deployment :
The practice of deploying many microservices that interact to provide functionality is known as “multi-service deployment.” Microservices can be launched independently, in contrast to monolithic apps, which deploy all of its components at once. To guarantee that updates or new features are seamlessly integrated throughout the entire program, they frequently need to be coordinated.
a) Deploys all services at once. - Blue-Green Deployment:
Blue-green deployment is a technique that reduces downtime and risk by running two identical production environments, known as Blue and Green. One environment (Blue) is live while the other (Green) remains idle. When a new version is ready, it is deployed to the idle environment. Once tested, the traffic is switched from Blue to Green, making the new version live without downtime.
a) Have two identical environments , one is staging & other is production.
b) Once testing is done, user traffic is switched to the staging & staging becomes production.
c) Can be expensive but easy to rollback. - Canary Deployment:
In canary deployment, a new software version is released to a small subset of users before rolling it out to the entire user base. This approach helps in monitoring the new version’s performance and catching any issues early before a full-scale release.
a) Cheaper than Blue Green
b) Easy to rollback, requires monitoring
c) Gradually services are upgraded - A/B Test Deployment :
A/B test deployment involves releasing two different versions of a service, feature, or UI element — referred to as Variant A and Variant B — to different subsets of users. The goal is to collect data on user interactions with both versions to determine which version achieves the desired outcome more effectively.
a) Cheap Method to test new features in production.
b) Each version runs on experiment for a subset of users.