Canary deployment for serverless
To achieve this we implemented an instrumentation of serverless functions using an intelligent serverless redirection module. This module uses a predefined policy to route events and triggers to achieve a well balanced gradual deployment of new code as well as in-production testing of the code.
As an example, the redirection module may apply a rule where only 5% of the production traffic will be routed through the a newly deployed code from ‘Branch XXX’. Another rule can determine that events that are originating from a defined source (filename/location, user pool, address…) are labeled as “Test-Traffic-Branch-YYY” and routed through a newly deployed code from “Branch YYY”
A dashboard will present all the configured routes (both testing and production) and related statistics for quality, performance latency and more.
The idea is to allow a well managed execution of multiple tested routes involving multiple dev pipelines on the same system concurrently, all within (optionally) the actual production context.
Using this framework we also offer a way for developers to work on their code In a controlled lab environment within the production context. In this lab environment, we offer a rich feature-set to enable developers to interact with their code using their own locally installed IDE and other dev tools for monitoring, troubleshooting and rapid deployment of new code changes as may be needed.
Any feedback will be most welcome!
2 comments
[ 3.8 ms ] story [ 9.6 ms ] thread