In this podcast, Stefan Prodan, developer experience engineer at Weaveworks and creator of the Flagger project, sat down with InfoQ podcast co-host Daniel Bryant. Topics discussed included: how progressive delivery extends the core ideas of continuous delivery; how the open source Flagger Kubernetes operator can be used to implement a progressive delivery strategy via canary releasing with an API gateway or service mesh; and the new “GitOps toolkit” that has evolved from the Flux continuous delivery operator.

Key Takeaways

  • Progressive delivery is a term used to describe the incremental rollout of any changes within a system that optimises for reducing risk and limiting “blast radius” of any negative outcomes.
  • Progressive delivery uses techniques such as canarying, feature flags, and A/B testing at scale. Being able to observe the system is a prerequisite for progressive delivery.
  • Flagger is an open source add-on to the Kubernetes API (an “operator”) that augments the service deployment and release machinery. Flagger adds more strategies and options for releasing functionality, such as canary releasing and A/B testing.
  • Flagger supports the incremental release of functionality via both API gateways and service meshes. This covers the ingress (north-south) and service-to-service (east-west) use cases, respectively. Tests can be run automatically upon deployment of a new service, and synthetic test traffic can be generated and evaluated.
  • Weaveworks is evolving Flux, a CNCF-hosted continuous delivery operator for Kubernetes, into a “GitOps toolkit”. This toolkit defines clear abstractions and interfaces for each stage of a typical continuous/progressive delivery pipeline, and allows community or custom modules to be composed into a complete toolchain.

#api gateway #gitops #progressive web apps #service mesh #continuous delivery #the infoq podcast #architecture & design #development #podcast

Stefan Prodan on Progressive Delivery, Flagger, and GitOps
1.55 GEEK