Release strategies describe the way of rolling out (network) services, without downtime and with capability to automatically recover from failed releases.
The naive approach is to
- Shut down the service
- Replace the service with a new version
- Start up the service
This obviously comes with the downside of the service being offline while it is being replaced.
Any release pattern, that runs different versions of the software in different environments. For example: