Application release automation (ARA)—also known as application release orchestration—is a major requirement of contemporary DevOps teams practicing CI/CD in the software development lifecycle. Continuous Integration and Continuous Delivery (CI/CD) allows businesses to roll out new features to software applications quickly in production or apply security patches with little to no downtime.
Application release automation (ARA) allows agile software development teams to collaborate in programming across workstations using version control utilities. Web server configuration for software can be standardized to deploy in containers across public cloud hardware vendors. Application release automation (ARA) speeds up the software development process with better code testing and security.
Application release automation (ARA) platforms differ in the amount of integrated support available across the software development lifecycle; most require installation on desktop workstations. Below are several key components of ARA platforms:
- Version control for software programming teams
- Release scheduling
- Sandbox-based code testing
- Artifact management
- Dashboard analytics
ARA platforms require network monitoring integration for scheduled deployments such as security patches for web servers. Application release orchestration (ARO) is now typically based around Docker container virtualization, full-image disk prints, Git version control, Puppet scripts for the command line, and Kubernetes for web server virtualization. This architecture supports enterprise scale web traffic.
- Agility and speed: Software programming teams benefit from agility and speed to market by adopting application release automation (ARA). Version control facilitates team coordination in programming applications for launch or in maintaining existing web/mobile apps in production. Automated code testing and sandbox environments are standard with most ARA platforms as support for DevOps team best practices.
- Easy, reliable updates: Scheduling live software application updates or version launches in rolling upgrades are important to guarantee 100% uptime. Container-based applications can be updated without going offline. ARA software can be used to govern the entire software development process. This includes the production of disk image prints of full web server stack software with code pre-deployed for Kubernetes containers.
The vRealize Code Stream utility from VMware competes largely with the Visual Studio suite from Microsoft for market share in the ARA sector. Many DevOps teams use a hybrid approach based around IDE platforms and open source command line utilities. Jenkins, Puppet, TravisCI, Ansible, and Spinnaker are some of the most popular. Most DevOps teams run ARA workflow through GitHub or GitLab.
All major public cloud hosts (AWS, Microsoft Azure, Google, IBM, Oracle, HP, etc.) have proprietary ARA platforms available for enterprise software development and lifecycle management. These platforms include IDEs that integrate with automated web server configuration, code testing, scheduled deployments, and debugging utilities. All public cloud hosts now offer native Kubernetes support. Companies like VMware and RackSpace also have ARA PaaS tools for AWS EC2.