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

Limited Time Offer!

For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!

Enroll Now

Source – searchmicroservices.techtarget.com

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.

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.

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.

Subscribe
Notify of
guest

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

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x