Blue-Green Deployment with Traffic Steering for Phased Rollouts
Does this conversation sound familiar?
“Why the sad face?” asked Daniel. “Didn’t you just launch that new release?”
“Yeah. The release was done,” Cary said. “But we had to roll back. And there was downtime. We completed the regression tests, system integration tests and performance tests and the tests passed 100 percent. Everything was fine, or so we thought. Then a small number of ill-formed customer requests pounded our systems, consumed tons of resources and – BOOM – downtime. We had to hustle to fix, retest and redeploy the software.”
“I hear you. There are just some problems that you can only discover with production traffic,” Daniel said.
“I wish we had the kinds of tools and processes for methodically introducing phased rollouts. Rather than exposing new releases to our entire user base, it would be great if we could roll them out to a subset of our users. We could move faster and it would keep problems with new releases from becoming catastrophes.”
Here at A10 Networks, we’ve heard variations of this story many times. And more importantly, we’ve found a way to enable application teams to setup phased rollouts without extra coding or complex configuration changes to your cloud environment.
Blue-green deployment is a powerful technique for directing traffic between old (blue) and new (green) deployments while both environments remain online. You can learn more about blue-green deployment pattern from Martin Fowler’s blue-green deployment blog post, and Danilo Sato’s article, Implementing Blue-Green Deployments with AWS. By having blue and green releases running simultaneously, it is straightforward to roll back to the stable release if problems occur. Still, the problem of exposing the new deployment to a smaller fraction of the traffic remains.
Traffic Steering within Blue-Green Deployments
A10 Lightning ADC allows customers to define and manage a traffic split rule for their blue-breen deployments. That is, customers can specify the IP addresses for their blue and green versions and control what portion of the live production traffic should be directed to which deployment. One can choose a simple percentage split or create a split rule based on anything in HTTP request object, such as a geographic region.
A10 customers can also gain precisely targeted phased rollouts without any effort on the development side. Set and change the traffic split rule from the A10 Harmony Portal user interface, where you can also monitor health and success metrics for both deployments. As confidence in the green release increases, you can drive more traffic to it. If problems arise, direct all traffic back to the blue release.
Here is how the flow works:
There you have it. Lightning ADC supports blue-green deployments and precise traffic steering between the different releases. Lightning ADC’s continuous deployment capabilities to your cloud environment improves deployment efficiency and agility, while reducing risk.
Integrating with Lightning ADC requires no code change on the customer’s end. Other than phased roll out, A10 customers get many other benefits like advanced load balancing and content switching, application acceleration, protection against attacks and more.