Enabling Blue/Green, Canary Deployments with AWS Step Functions

Mario Bittencourt
6 min readJun 24, 2023
Photo by Kostiantyn Li on Unsplash

Canary and Blue/Green deployments are some of the common strategies you can use to release new features with a gradual approach and no interruptions. Despite being well-established, in the serverless world, more specifically when using AWS Step Function, it was not possible to do so, at least not without a lot of extra effort until now.

AWS recently released a new feature that allows you to define versions and aliases that help you to achieve either one of those strategies.

Let’s see how to use them and why they are a big deal!

Avoiding Big Bang Releases

The moment you have your first release in production and customers actively using your service, you face the risk of breaking things with every subsequent release you do.

In order to reduce the risk you are likely following one or more of the recommendations:

  • Have a peer-review process
  • Add automated tests to your code
  • Have the tests serve as a gateway for the deployment
  • Add features in small increments

While those are definitely healthy recommendations, they do not change the fact that after a deployment all users would be exposed to the new…

--

--