Automation is not (only) about speed

  • July 25, 2020

Everything we do at Flugel.it revolves around infrastructure automation – it is our core business.

What do we mean exactly by infrastructure automation?

Infrastructure Automation is a process used to apply the same configuration to one or thousands of nodes/instances/VMs with the same effort. To achieve this, we leverage technologies that allow us to describe infrastructure via some machine-readable language.

With it, we can describe the desired configuration, state or even how different components interact with each other. This includes both software and hardware, including but not limited to: VMs, databases, networking equipment (virtual or physical), databases, etc. 

It can be also used to automate tasks related to the build process of software running on such infrastructure, such as: integration tests, coverage, syntax, etc.

DEVELOPMENT:

 A transition from classic infrastructure to automated infrastructure may be challenging, since it involves a huge change in how the infrastructure is conceived.

Some questions may arise through this process, such as, “Why should I automate something which is only deployed every 5 years? Or, “In my case, the speed that automation provides is not worth the effort .” The counterargument to these two questions is, “Can you actually trust a manual procedure which is performed only every  five years? Are you willing to  risk manual errors?

Beyond speed, which is generally obtained by automating processes, it is even more important that we consistently get the same results. Therefore, the error percentage and rework required with manual processes are dramatically reduced.

Another benefit of automation is the small amount of overhead needed to periodically monitor that it’s operating correctly. 

Using the example detailed above, even if you need the automation only once every five years, you can test it as frequently as once a week, which would be very challenging and cost-prohibitive to do manually.  Regularly testing this automated process provides a high level of certainty that if you need to deploy that infrastructure at any point in the future, you would be able to without any issues.

In addition, automation can serve as a disaster recovery process. Often, a failed infrastructure may be quicker, easier, and more reliable to regenerate from the ground up by means of automation, rather than troubleshooting it and applying a manual fix. 

At Flugel.it, we’re Subject Matter Experts (SMEs) on pretty much every automation tool, such as Cloudformation, Terraform, Ansible, Chef, Puppet, and Saltstack, to name just a few.

 

CONCLUSION:

Most repetitive operational tasks benefit from automation because it reduces dependencies among different work teams, allowing for faster development times. Traditional operational teams do not have proper automation processes in place; therefore, they have higher workloads and / or lack sufficient time to learn new technologies or embark on new projects that could add value to their organization.

For all these reasons and more, automation is not just more speed when deploying or testing. Maybe, the most important benefits provided by automation are reliability and consistency, while at the same time, making processes faster without neglecting process compliance. 

There are more benefits that will be discussed  in future articles.