Automated Release is the fully automated process of deploying a software service, including all the infrastructure it requires to run (excluding infrastructure dependencies like shared databases).
Re-deploying an existing service - meaning roll-out of a new version or roll-back to an old version - through and Automated Release must account for high availability, by use of fitting Release Strategies.
Automated Releases require a Programmable Infrastructure that can be instrumented via Infrastructure as Code, with OS Configuration Management used where appropriate.
Steps / stages in an Automation Pipeline that implements Continuous Delivery execute Automated Releases.
DevOps Organizations strive to do high frequency Automated Releases to be able to react fast to the market, do experiments and generally utilize short Feedback Loops to optimize their business.
Side-effects of high frequency Automated Releases:
- Same way, every time, there are no surprises, if every release runs through the same, automated pipeline, doing the same stuff
- Reproducible state, as repeating a specific release (commit) yields the same results, results in the same state, rollbacks are easily possible
- Consistent environment, all stages (test, dev, prod, ..) are uniform, to the extend that true (integration / environmental) testing can be done