Get hands-on! Canary releases on K8s with Argo Rollouts.
Progressive delivery is a practice that builds on CI/CD principles but adds processes and techniques for gradually rolling out new features with good observability and tight feedback loops. Progressive delivery provides a fast-moving but risk-sensitive way to exert more fine-grained control over delivery.
Progressive delivery makes the rollout of new features and testing them in a production environment possible without introducing significant disruption. Testing cloud applications in a staging environment cannot provide a realistic facsimile of the true production experience, which is why experiment-based progressive rollout techniques, such as canary releases, facilitate proactive risk mitigation with:
A canary release is so-called because, like sending a canary into a coal mine, only a small amount of traffic, for example, 1% or 5%, will be routed to the new version of a service at a time. Meanwhile, the majority of traffic continues to go to the original version. This incremental rollout creates an opportunity for observing how changes work in practice and enables easy rollback at the first sign of trouble, all while preventing too much disruption to users.
Read the article Argo Rollout - Kubernetes Progressive Delivery Controller Concepts
Read the article Argo Rollout - Kubernetes Progressive Delivery Controller Architecture
Watch the video Argo Rollouts - Canary Deployments Made Easy In Kubernetes