Zero Downtime Deployment on AWS ECS

If you host customer-facing services on ECS behind a load balancer, you might want to have zero downtime when deploying a new version of your software.

Assuming the application itself is stateless (e.g. all state is stored somewhere else, for example in a database) and the changes are non-breaking, there is a simple built-in way to do so:

Simply set the Maximum percent property to 200 .

This way, ECS will spin up a new container, register it with the load balancer, and then destroy the old container as soon as the new container is live.

Neat!