Q
Manage Learn to apply best practices and optimize your operations.

How important is ALM process automation in a modern DevOps approach?

Automation is key to the modern DevOps approach and application lifecycle management. Twain Taylor explains where and how automation should fit into your development phases.

Automation is key to the modern DevOps approach and application lifestyle management. Though it was a Herculean...

task in the days of VMs, containers are now making automation accessible for every DevOps team. With the advent of Docker, ALM process automation becomes even more possible and necessary.

Let's look at how containers change automation at every step of the software delivery lifecycle.

Automated container image builds

In a DevOps environment, code is often checked in numerous times per day. Each time code is added to the repository, it needs to be built into a container image and pushed to the repository. This is a crucial first step in automating your software pipeline.

Thankfully, vendor tools are coming together to make ALM process automation possible. This first step can be automated by a continuous integration tool, like Jenkins. Other platforms, like Puppet and Google Cloud, also integrate with Jenkins to deliver automated container image builds.

Automated test infrastructure

Testing is another crucial, albeit tricky, part of the DevOps strategy where automation needs to be put into play.

Selenium is the leading test automation framework available today. Setting up a Selenium Grid, however, is a complex task: It requires manual configuration of grid nodes and isn't scalable. Luckily, with Docker, you can pull container images for a Selenium hub and nodes for each browser. Further, you can control the execution of tests at scale by managing the Selenium Grid with Kubernetes. With the advanced auto-scaling features of Kubernetes, you won’t have to overprovision nodes for your Selenium Grid as you can quickly start up new nodes as needed.

Automated deployments

Deployments are plagued with downtime for various reasons. Containers enable a technique called blue/green deployments, which can help cultivate highly reliable releases. It requires you to have two identical production environments -- one hosting the current version of your app and the other the new release. Once your release is ready, you can simply switch the proxy to divert all traffic to the new version of your app. Users won't even notice the release.

ALM process automation is becoming essential to the success of applications, and containers are pushing automation to the limit.

This is a resource-heavy task and requires both creating and destroying VMs quickly. This is expensive and time-consuming because it uses double the number of VMs. With containers, however, you can easily automate the creation and cleanup of containers at scale. This makes it possible to have blue/green deployments without the headache. Now, any company can achieve continuous delivery and need not stop with just continuous integration.

Containers have made automation in ALM simpler as well as more necessary.
While containers have made automation more important, they have also made it easier to implement.

The bottom line: Automation rules

ALM process automation is becoming essential to the success of applications, and containers are pushing automation to the limit. Whether it's creating builds, managing test infrastructure or ensuring smooth releases, automation is key.

Next Steps

Learn how automated development tools mitigate the risk of human error

How to match container automation tools to your Amazon Web Services workload requirements

How to automate your Kubernetes cluster for container management

This was last published in July 2017

Dig Deeper on Software containers

PRO+

Content

Find more PRO+ content and other member only offers, here.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Join the conversation

1 comment

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

Which stage of development, if automated, would make a difference to your application's lifecycle?
Cancel

-ADS BY GOOGLE

SearchSoftwareQuality

SearchCloudApplications

SearchAWS

TheServerSide

SearchWinDevelopment

Close