Sign inSign up

centeredge/shawarma

By centeredge

•Updated about 1 year ago

Enable/disable background processing during blue/green deployments.

Image
0

50K+

centeredge/shawarma repository overview

⁠Shawarma

A Kubernetes sidecar to assist with enabling/disabling background processing during blue/green deployments.

⁠Overview

A Blue/Green Deployment⁠ is a process designed to maintain 100% uptime during deployments, with rapid rollbacks. As the new version is deployed, traffic is routed to the new version and diverted from the old version. However, the old version is left running and ready to receive traffic, allowing for rapid failover to the previous version in the event a rollback is required.

This works great for serving incoming requests, but what about background processes running within the application? For example, running scheduled background jobs or processing messages from the message bus. In a traditional blue/green deployment, these processes continue to execute, potentionally leaving a bug operating in production that you thought you fixed.

⁠How it Works

Shawarma is designed to address this problem for applications running within Kubernetes. It is a very lightweight Go app which runs in a sidecar container within each pod of your application. It monitors the Kubernetes API to know when the pod is or is not connected to the load balancer, and uses an HTTP POST to let your application know the state. Your application must simply receive the POST and start or stop background processing.

Tag summary

Content type

Image

Digest

sha256:0a394661a…

Size

9.6 MB

Last updated

about 4 years ago

docker pull centeredge/shawarma