Minimize the blast radius of changes with Gloo Gateway and Weaveworks Flagger

Progressive delivery is a term used to describe incremental rollout of changes to your system that optimizes for reducing risk and limiting “blast radius” of any negative outcomes of your changes.

When we make a change to our system (code change or configuration change) we first expose this change to the smallest subset of users and analyze the impact of this change. If we find that the change has negligible or positive impact, we can continue to increase the subset of users that see this change. If we find that it has a negative impact, we can reduce the subset of users affected. We can measure this impact, in part, by analyzing our telemetry, logging, and tracing data.

To do this in a microservices architecture, you need some way of controlling and routing the traffic as well as collecting network metrics. Envoy Proxy is a powerful mediator that can be used to do this. At the same time you are unrolling new changes and need to control the traffic, you must also keep a stable interface or API. If you’re changing implementation details in the backing services, you want your clients and consumer services to not feel the impact of these changes if backend APIs change. For this reason, you may choose an API Gateway, specifically one built on Envoy. Gloo Gateway is a great fit for this.

Watch the demo below to see Gloo Gateway and Flagger working together:

This video demonstrates traffic-control patterns like traffic shadowing, percentage based traffic shifting, and header-based request matching, and how they mitigate the impact of a release. We then show how to use Gloo Gateway to control the traffic and do a percentage-based rollout. We also use a “canary analysis” tool such as Weaveworks Flagger to define the parameters of our release including automating the progressive delivery.

Want to learn more? Register for our upcoming joint webinar on July 30th at 10:00am Pacific for demos and live Q&A.