[go: up one dir, main page]

0% found this document useful (0 votes)
62 views1 page

Canary Vs Rolling Deployments

Canary deployment and rolling deployment are two strategies for deploying software updates, each with distinct approaches. Canary deployment tests new versions on a small user group before wider rollout, while rolling deployment gradually updates servers in a sequential manner to ensure stability. The key difference lies in canary's focus on early testing with limited exposure versus rolling's emphasis on maintaining availability during the deployment process.

Uploaded by

saiakkina
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views1 page

Canary Vs Rolling Deployments

Canary deployment and rolling deployment are two strategies for deploying software updates, each with distinct approaches. Canary deployment tests new versions on a small user group before wider rollout, while rolling deployment gradually updates servers in a sequential manner to ensure stability. The key difference lies in canary's focus on early testing with limited exposure versus rolling's emphasis on maintaining availability during the deployment process.

Uploaded by

saiakkina
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 1

Canary deployment and rolling deployment are two different strategies used to

deploy software updates or changes, each with its own approach and benefits. Here's
a comparison of the two:

1. **Canary Deployment**:
- Canary deployment involves deploying a new version of the application to a
small subset of users or servers first, while the majority of the traffic continues
to be served by the stable version.
- The new version is gradually rolled out to a small percentage of users or
servers, often referred to as the "canary group."
- The performance and behavior of the new version are closely monitored in the
canary group to detect any issues or abnormalities.
- If the new version performs well and meets expectations, it can be
progressively rolled out to a larger audience.
- Canary deployment allows for early testing and validation of the new version
in a production environment, while minimizing the impact of potential issues on the
entire user base.
- It provides a controlled way to monitor the impact of the changes before fully
committing to the deployment.

2. **Rolling Deployment**:
- Rolling deployment involves deploying a new version of the application
gradually to a subset of servers or instances while the existing version continues
to serve traffic on the remaining servers.
- The new version is deployed to a few servers at a time, typically in a
sequential manner, while the load balancer routes traffic to the remaining servers
running the stable version.
- As the new version is deployed to each server, it is tested to ensure that it
is functioning correctly and does not introduce any issues.
- Once the new version is successfully deployed and tested on all servers, the
deployment is considered complete, and traffic is routed to the new version across
the entire infrastructure.
- Rolling deployment allows for a gradual and controlled rollout of the new
version, minimizing downtime and risk, while ensuring that the application remains
available throughout the deployment process.
- It is well-suited for applications that require high availability and cannot
afford to have a significant portion of their infrastructure offline during
deployment.

In summary, the main difference between canary deployment and rolling deployment
lies in their approach to deploying and testing new versions of the application.
Canary deployment focuses on gradually rolling out the new version to a small
subset of users or servers for early testing and validation, while rolling
deployment focuses on deploying the new version gradually to all servers or
instances in a controlled manner while minimizing downtime.

You might also like