Enterprises' growing need for continuous delivery and streamlined software release management is driving a surge of investment in application release automation. While some software pros see this move as long overdue, others are more cautious about release automation, particularly in cloud app deployments and with cloud-based tools.
Application release automation (ARA) suites streamline the movement of software from development to production. Still, only 15% of global enterprises have implemented a release automation tool during the technology's seven years of existence, according to Gartner. However, that number will swell to 50% in the next two years, the research firm predicted.
Need for speed, quality drive ARA investments
The two key drivers for increased enterprise investments in software release management are improved release processes and speed, said Forrester analysts Charles Betz and Chris Gardner. They've seen several business consequences of poorly executed software releases, including:
- wasted time spent on fixes and running the shop, rather than growing it;
- slower time to market;
- an inability to adjust to market forces as quickly as competitors do;
- poor employee experiences, due to overburden and stress; and
- unhappy customers.
Well-done software releases result in:
- continuous delivery (CD) of applications, leading to faster time to market;
- happier development teams, because they release high-quality products and spend less time on fixes and more on innovation; and
- happy customers, because software reflects their experiences and expectations.
Businesses and their customers won't tolerate waiting quarters or years for updates anymore, Betz said. In a recent Forrester survey, 64% of DevOps pros said their businesses were unhappy with their release velocity. The majority (32%) release software once a month, and only 8% release every day.
Continuous integration (CI) and CD advances, especially in automation, drive wider adoption of ARA tools and processes to create a coherent, manageable framework for software release workflows, as well as streamline release processes.
"You can't do anything continuous unless you have those good automation basics in there," said Theresa Lanowitz, head analyst at Voke Inc. "It only follows that release processes must be automated, too."
What to look for in ARA tools
Releasing apps to the cloud can be a relatively easy process, since infrastructure-as-a-service providers offer the compute environment. Also, enterprises can often use a standalone SaaS release management service or those embedded in platform-as-a-service (PaaS) offerings.
This ease of use and access, however, can lead businesses into trouble.
Brian KirschIT architect and instructor, Milwaukee Technical College
Releasing apps to the public cloud is risky, because it multiplies the damage done by software flaws, said Brian Kirsch, IT architect and instructor for Milwaukee Technical College and also a TechTarget contributor. When evaluating SaaS and PaaS ARA products, look for quality assurance (QA) checks and balances and continuous testing features, he advised.
"Features in ARA tools must be able to catch bugs before release," Kirsch said. "With any automation, there has to be points where you can intervene." Some cloud-based ARA tools are closed boxes, so make sure the system does not automate QA out of your DevOps teams' hands, he said.
Application release automation tools should always include integrated capabilities for development, integration and visualization of code throughout the lifecycle pipeline, Lanowitz said. Also, when evaluating application release automation tools, be sure they include automated testing in each phase of the development process through deployment, she said.
ARA tools should have a coherent information model that provides traceability from initial requirement or story through production deployment, i.e., pipeline as code, said Ed Macosky, Oracle VP of cloud platform and release engineering. Both he and Lanowitz also said that ARA tools must support pilot conversion and canary environment deployment, which are test deployments to small groups of users.
Evaluating cloud-based ARA tools
More pure-play cloud providers are coming out with automated software release systems, said Lanowitz. Rather than just implement your current cloud provider's ARA offering, do a proof-of-concept evaluation of a few cloud products, she said. Figure out which cloud provider's long-term architectural strategy fits best with yours.
There are several disadvantages of cloud-based ARA offerings, Forrester's Betz and Gardner said. They present platform lock-in risks, and it can be difficult to give a SaaS tool the necessary access to control sensitive production environments. What's more, ARA is still a nascent space for cloud providers.
An all-cloud approach might not work well today. "A lot of folks we talk to are deploying hybrid workloads that require some kind of an on-premises component, such as agents running on servers," Betz said.
Enterprises should determine if a cloud ARA tool can support applications that run in multiple environments with concurrent and complex release cycles, said Larry Salomon, DevOps evangelist at CA Automic. Beware of those that are only applicable to cloud deployments, are vendor-specific or require a long ramp-up time.
ARA tools should cover all DevOps processes and be tuned for usage by all members of a software release management team, according to Lanowitz and Salomon. Likewise, DevOps organizations should be sure more than one team member or subgroup organization can use the tool. Automation unifies and integrates processes, Lanowitz said, but software release management requires a cohesive team to make it work well.