Sitemap

π‚πšπ§πšπ«π² π‘πžπ₯𝐞𝐚𝐬𝐞 𝐒𝐧 𝐚 π‚πˆ/𝐂𝐃 𝐏𝐒𝐩𝐞π₯𝐒𝐧𝐞

3 min readFeb 11, 2024

--

Press enter or click to view image in full size

What is?

Canary Release is a deployment strategy where changes are initially released to a small subset of users. A canary release involves deploying a new version of an application to a small, carefully selected subset of users or servers, often referred to as the β€œcanary group” or β€œcanary deployment.”

What does?

In this strategy, it is closely monitored to detect any issues such as bugs, performance problems, or compatibility issues that new versions can have. If the canary release proves successful and no critical issues are detected, the new version is gradually rolled out to a larger audience or the entire user base. If there are any issues, the release can be rolled back before affecting the majority of users, minimizing the impact of potential problems.

Why?
Canary releases are important to reduce the risk associated with deploying changes to production systems, as they provide an opportunity to catch and address issues early in the deployment process.

Common Examples?

Press enter or click to view image in full size
  1. Social Media Platforms: Companies like Facebook or Twitter often use canary releases to test new features or UI changes with a small percentage of users before rolling them out to the entire user base.
  2. E-commerce Websites: Online retailers may employ canary releases to introduce changes to their website or checkout process, ensuring that any potential issues are detected and resolved before impacting a large number of customers.
  3. Software as a Service (SaaS) Providers: SaaS companies can use canary releases to deploy updates to their cloud-based applications, allowing them to assess the impact on performance and user experience before updating all customer instances.
Software as a Service

Tools for?

  1. Feature Flags Management Tools

When new features are developed, feature management tools are used to turn on features to the targeted user groups (customers) for the canary tests.

Press enter or click to view image in full size

Tools like LaunchDarkly or Split.io allow teams to control the rollout of new features and enable canary releases by selectively enabling features for a subset of users.

Get Eranga Kodithuwakku’s stories inΒ yourΒ inbox

Join Medium for free to get updates fromΒ thisΒ writer.

2. Deployment Automation

Press enter or click to view image in full size
CI/CD Pipeline

CI/CD platforms such as Jenkins, GitLab CI/CD, or CircleCI provide automation capabilities for deploying changes to production environments, including canary releases.

3. Monitoring and Observability

Tools like Prometheus, Grafana, or Datadog help teams monitor the behavior and performance of canary releases in real-time, enabling them to detect and respond to any issues quickly.

4. Container Orchestration

Press enter or click to view image in full size

Container orchestration platforms like Kubernetes or Docker Swarm facilitate the deployment of canary releases by managing the scaling and networking of containerized applications.

--

--