Ranger4 DevOps Blog

Why Do Application Release Automation?

Posted by Helen Beal on Fri, Jan 24, 2014 @ 13:01 PM

Automating the release process using an ARA tool has a number of high-level benefits:

- Hugely expedited release cycles (often from days to hours, sometimes to a matter of minutes) that results in significant cost reductions

- Do more with less

- Enables higher frequency of release - scale

- Elimination of errors introduced by manual/scripting processes

- Fewer/no issues/outages - reducing risk

- Less time troubleshooting

- Instant rollback / redeploy - increased uptime

- Visibility of deployments

- Complete audit trail allowing for compliance

Typically, in the past, development teams have built their code, then ‘thrown it over the wall’ into the operations team for deployment into production. This causes conflict where the operations team have not had enough visibility of the release coming through (and development want it live now because the business is putting pressure on them) and operations struggle to plan it into their planned work schedule (often because they are too busy with unplanned work/firefighting as a result of previously broken releases). Additionally, code often behaves differently in production than in development and testing due to environment configuration changes that are often difficult to identify.

ARA allows the development team to integrate the release tool to their build and configuration management tooling, enables differences between the environments through the route-to-live to be easily seen. ARA enables role based access so developers can have access to their projects and environments and manage their deployments. Everything is recorded, so if something goes wrong, it’s quick to redeploy the last known working release and the auditors have a record of everything that happened too.

ARA enables development and operations to work together through the release process and collaborate on every deployment. It eases the conflict between the teams by enabling rapid resolution should there be an issue on release and encourages development to give operations earlier visibility and schedule deployments.

Topics: UrbanCode, DevOps, application release automation