We have seen how to distribute software in your environment,so now, we will speak about deployment strategies, that is, how to upgrade your application without your service suffering from it.
There are three different problems you might incur during an update:
- Downtime during the update rollout.
- The new version has problems.
- The new version seems to work, until it fails.
The first problem is known to every system administrator. During the update, you are probably going to restart some services, and for the time between the start and the end of the service, your application will not be available on that machine. To address this problem, you would need multiple machines with a smart load balancer in front that will remove specify nodes from the pool of available nodes just before the upgrade on that specific node is performed, to add them back later as soon...