We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Continuous Delivery to many Kubernetes Clusters

Formal Metadata

Title
Continuous Delivery to many Kubernetes Clusters
Title of Series
Number of Parts
542
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Moving to Kubernetes opens the door to a world of possibilities, but as the number of resources, clusters and namespaces grows, it becomes increasingly difficult to manage. We will show how at Adobe Experience Manager we continuously deliver changes to cluster resources and have implemented a way of doing feature flags and progressive rollouts with Kubernetes yaml definitions, across multiple clusters and regions using Jenkins, ArgoCD, and other open source projects. Running a cloud service in multiple Kubernetes clusters across regions, forced us to have high levels of automation, tied with monitoring and alerting across the globe. The typical release train model (dev-stage-production) had shortcomings that soon became evident. Adopting Progressive Delivery allows us to move faster, safer, and reduce the mean time to recovery in case there are any issues. Both canary deployments and feature flags are typically used to implement Progressive Delivery at both application and operational service levels. Teams collaborate with a DevOps philosophy and a "you build it, you run it" approach, with freedom, but also requiring tooling to help teams deliver value with the least interference as possible. We are continuously improving this tooling to make it as easy as possible to safely deploy changes.