Canary Deployment, Constraints, and Benefits

Understanding Canary 

Canary was an essential part of British mining history: these humble birds were used to detect carbon monoxide and other toxic gases before the gases could hurt humans (the canary is more sensitive to airborne toxins than humans). The term “canary analysis” in software deployment serves a similar purpose. Just as the canary notified miners about any problems in the air they breathed, DevOps engineers use a canary deployment analysis to gauge if their new release in CI/CD process will cause any trouble to business.

You can consider the following general definition of a canary release deployment: canary deployment is a technique to reduce the risk of introducing a software update in production by slowly rolling out the change to a small subset of users before making it available to everybody. 

Canary and Dark Release Using an Istio Service Mesh on Kubernetes

Istio Service Mesh on Kubernetes (k8s) cluster brings in quite a few architectural patterns off the shelf. In this article , I want to show you how we can quickly implement Canary Releases and Dark Releases using Istio service mesh

As a developer, it is imperative that you are able to install a k8s cluster and try out. With the latest release of Kops, it is pretty straightforward to fire up a new K8s cluster on AWS. I have created a series of steps and commands in my repo here - Kubernetes-AWS-Istio, which you can follow to create it on AWS. I have also kept istio installation file that you can apply using kubectl to start Istio pods on cluster. You do not need to install Istioctl to install Istio if you use the file provided by me. The Istio installation file on my repo is a standard K8s YAML.

Feature Flags Are The Answer To Retailers’ Holiday Nightmares

Feature flags for fast targeted deployments

It was 5 p.m. on Thanksgiving, and everyone had left their homes, full of turkey and stuffing, to drive down to your store for the Black Friday sales. Your team was excited about the new feature implemented on your app that will make it easier for customers to locate sales and speed up the check-out process. You had been working on the code for months, running tests and ensuring that everything will operate efficiently on the day. You couldn’t wait to review the amazing data and upgrade this feature for Cyber Monday.

Managing Canary Release of Microservice Application on Kubernetes with Istio

Istio’s service mesh is able to manage traffic distribution with complete independence from deployment scaling, which enables a simpler, yet significantly more functional way to realize canary release and rollout. It allows users to introduce a new version of service by first testing it using a small percentage of user traffic, and then if all goes well, increase, possibly gradually in increments, the percentage while simultaneously phasing out the old version.

KubeSphere provides three kinds of grayscale strategies based on Istio, including blue-green deployment, canary release, and traffic mirroring. Without modifying the source code, KubeSphere can realize grayscale, traffic governance, tracing, traffic monitoring, and other service mesh features.