Zero-downtime deployment
One of the most important aspects of a mission-critical application that needs frequent updates is the ability to do updates in a fashion that requires no outage at all. We call this a zero-downtime deployment. At all times, the application that is updated must be fully operational.
Popular deployment strategies
There are various ways to achieve this. Some of them are as follows:
- Rolling updates
- Blue-green deployments
- Canary releases
Docker Swarm supports rolling updates out of the box. The other two types of deployments can be achieved with some extra effort on our part.
Rolling updates
In a mission-critical application, each application service has to run in multiple replicas. Depending on the load, that can be as few as two to three instances and as many as dozens, hundreds, or thousands of instances. At any given time, we want to have a clear majority when it comes to all the service instances running. So, if we have three...