Automate deployments pattern
Need(s)
Deployment of services is an important phase in the development lifecycle. If this phase is not well thought out with the right processes and the right tools, it becomes an expensive phase for the company.
- We need to be able to deploy to a hybrid architecture (Cloud + Datacenters) using a single tool.
- We want to control Multi-Regions deployments.
- We have to be able to parallelize deployment of different artifacts and them instances.
- We need to be able to trigger deployments.
- We need to rollback deployment as easily as possible.
- We want to reach zero downtime deployment.
- We need to be alerted of deployment success or failure.
- We want to have deployment metrics.
Automate deployments pattern definition
Automate deployments pattern in its most simple form, could mean simply writing a script to perform the deployments, or using a specific tool to do the leg-work for us. Automating deployments brings with it a heap of other benefits as well, such as increased speed, greater reliability, and built-in audit trails. These benefits can be built into your automated software deployments with very little effort for maximum reward.