Answers
Here are sample answers to the preceding questions:
- Zero-downtime deployment means that a new version of a service in a distributed application is updated to a new version without the application needing to stop working. Usually, with Docker SwarmKit or Kubernetes (as we will see), this is done in a rolling fashion. A service consists of multiple instances and those are updated in batches so that the majority of the instances are up and running at all times.
- By default, Docker SwarmKit uses a rolling updated strategy to achieve zero-downtime deployments.
- Containers are self-contained units of deployment. If a new version of a service is deployed and does not work as expected, we (or the system) only need to roll back to the previous version. The previous version of the service is also deployed in the form of self-contained containers. Conceptually, there is no difference between rolling forward (an update) or backward (a rollback). One version of a container...