DevOps is a lot of things to a lot of people, but automation is hardly ever omitted. Some believe that automation is a prerequisite for DevOps, while others see it as an optional extra—something that’s nice to have but is far from mandatory. In reality, the relationship between automation and DevOps is fairly straightforward as they both aim to achieve the same goal: reduce time to market.

What Is DevOps, Really?

Many organizations see DevOps as a solution to the problems created by long-established waterfall models where siloed teams of developers and IT operations take responsibility for different tasks in the software development lifecycle, leading to frequent hand-offs, extensive planning, and failure to deliver the correct solution on time.

DevOps strives to break down the traditional barriers that isolate development and operations by promoting a broad cultural shift where the two units speak a common language. It emphasizes small and iterative steps to application development and deployment, with feedback loops to dynamically react to changing customer needs.

“DevOps requires a cultural transformation. The approach encourages all parties to collaborate, communicate, and share responsibilities, customer-orientated goals, and business objectives,” writes Hewlett-Packard in its business white paper[1]. “Repairing the historical adversarial relationship between Development and Operations is essential, and a culture of trust must emerge.”

Clearly, there’s a lot more to DevOps than just automation, but automation of each stage of the software development process—from building to testing, releasing, deployment, provisioning, configuration, and monitoring—plays such a critical role that it has become a key attribute of DevOps.

Marriage Made in Heaven

DevOps sees the software development process as a single pipeline, instead of a series of boxes, each packed in one department, labeled in another, and delivered by someone who doesn’t even know what’s inside.

This pipeline consists of three main components: technology, people, and culture. Automation helps with the first two. It provides the tools that automate previously manual tasks and establishes the processes that make it possible to take advantage of this automation.

“If DevOps is the game of golf, then automation is like the putter. The game itself may be played for different reasons by different individuals—exercise, competition, just to get out and enjoy nature—but the fundamentals are the same no matter what the ultimate goal is,” says Tony Bradley, Editor-in-Chief of TechSpective[2].

“You can’t do astronomy effectively without a telescope, and you can’t play golf effectively without a putter. Similarly, you can’t effectively do DevOps without automation—but it is theoretically possible, because it is just one element of DevOps.”

Since automation complements DevOps so well, and because doing DevOps without it would be so difficult and inefficient, DevOps teams try to automate their entire software-delivery practice—from testing of new code to how infrastructure is provisioned.

Benefits of Automation in DevOps

With the elimination of manual steps and the introduction of repeatable processes come many benefits that make automation an important competitive advantage.

Faster Time to Market

Automation in DevOps can reduce time to market from months and weeks to days and hours. “With the DevOps process and automated testing, we deploy an HP Application Lifecycle Management release every three months while previously we’d be lucky to deploy a release in 18 months. That’s an 83 percent improvement,” says Liran Levy, R&D Lifecycle DevOps Manager at Hewlett Packard Enterprise[3].

Organizations that promote a culture of increased collaboration and communication between the development and operations teams while automating key processes to increase release velocity can enjoy a competitive advantage stemming from their ability to quickly adjust to the current market demands and customer needs. Automation additionally reduces time to recovery and makes it much easier to execute a rollback and recover to peek operational efficiency after a failure.

Better Business Focus

Organizations that implement automation as a part of their larger DevOps efforts can spend more time on the things that directly impact their business, instead of wasting it on time-consuming processes that could be effortlessly automated. When both development and operations have more time to utilize their skills and intelligence to deliver improvements and innovations because they don’t have to waste it on mundane tasks, everyone benefits.

Automation is especially important for small organizations, which have to utilize their limited resources as efficiently as possible to compete with established players. When the number of team members is in single digits, the entire team must function like a well-oiled machine to keep up with the relentless pace of business. Of course, the same can also be said about large organizations with massive, geographically dispersed teams.

According to the 2017 State of DevOps report by Puppet and DevOps Research and Assessment (DORA), teams practicing DevOps and implementing automation experience 24 times faster recovery from failures, spend 22 percent less time spent on unplanned work and rework.

Reduced Cost of Release

Because automation significantly downsizes manual processes, it also eliminates many sources of human error. This, together with increased release velocity reduces the cost of release. “We have had some great results from our DevOps initiatives so far. We reduced our cost per release on one application by 97 percent,” writes Jonathan Fletcher, Chief Technology Officer at Hiscox, a specialist global insurer[4]. “These results largely arise from automation.”

The cost-saving benefits of automation are clearly immense, and they far outweigh the cost of automation solutions. The sooner organizations move away from manual processes, the sooner they can reap the rewards of their investment.

Conclusion

Automation has become a key enabler of DevOps, and it would be very difficult to imagine one without the other. If DevOps sees the software development process as a single pipeline, then automation is like a high-pressure pump that pushes products through it at a much faster speed and with much greater reliability than would be possible otherwise. In this article, we have merely touched upon the many benefits of automation in DevOps, but its growing popularity alone should be enough to confirm its merit and significant strategic importance to anyone who wishes to compete in the day and age of cloud computing.

[1] “Better Apps Faster.” June 2015, h41360.www4.hpe.com/files/devops_journey.pdf?hootPostID=53141bdc1b30fae4c85b8170136c7679.

[2] Bradley, Tony. “DevOps Is More Than Just Automation.” DevOps.com, 11 Jan. 2017, devops.com/devops-just-automation/.

[3] “Better Apps Faster.” June 2015, h41360.www4.hpe.com/files/devops_journey.pdf?hootPostID=53141bdc1b30fae4c85b8170136c7679.

[4] Fletcher, Jonathan. “Reducing the Cost of Release by 97% with DevOps.” Puppet, 15 July 2015, puppet.com/blog/reducing-cost-of-release-by-97-devops.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.