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.
Speakers: Carlos Sanchez