Canary deployment for serverless

1 points by rsh210m ↗ HN
All, I'm looking for feedback about a new product me and my team are now building, focusing on testing and deployment of applications involving serverless code. In an effort to increase the speed and predictability of the dev process, we want to enable canary deployment of new code as well as in production testing for serverless functions. Using this method, we want to enable dev teams to efficiently monitor the quality and readiness of their code as an integrated part of their production environment.

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