Why Automate IT?

Anthony Hawkins
6 min readMar 6, 2021

--

When we think of human labor, we think of exerting energy to physically accomplish some form of work or task. Moving dirt, building a car, etc. But it’s hard to believe that in the world of IT there could be human labor that needs automating, but there is. As administrators we’re constantly exerting mental energy in the form of configuring a server, ensuring each server in a cluster is consistent or nursing back a service back to health. It may also not involve just the technical side of the job but also the preparation for the work itself. For example translating a request in an email, spreadsheet, or an architectural diagram into a realized configuration and have it run is also labor.

The time spent performing this labor adds up and causes bottlenecks as the demand for more servers and more changes to existing servers end up filling your entire day. All the “it would be nice if we could…” projects fall to the way-side and the technical debt, or things that need to be properly fixed or put to the side, pile up.

What if you could log into work and press a button, or better, yet, the buttons pressed themselves? When we define automation in terms of infrastructure automation it is the process of programming away all our mundane unfulfilling administration tasks and providing us with new meaningful work. Our Jobs become building the machines vs being the machine.

The Limits of the Human Machine

Years ago, automation always seemed like a pipe-dream to my fellow colleagues and management. It was something that was treated as a magical land with lollipops and unicorns even as the various infrastructure teams struggled to keep up with the increasing demands of application developers.

Ultimately, we pushed the human machine to its limits, manual IT labor could only carry us so far. The two pitches that eventually sold automation were avoiding human error, and the ability to scale what was delivered and maintained without continually increasing team size, i.e. doing more with less.

Avoiding Human Imperfection

Let’s step away from automation for a second and talk about bread, yes delicious carb-tastic bread. The best bakers will bake the most amazing tasting loaves and display them proudly on a shelf, piled high to the ceiling, behind his or her counter. When you step into an artisanal bakery, you can’t help but notice that each loaf is unique and has its own personality. The moral of the story is even the best baker will produce a product of imperfection.

When it comes to artisanal bread, imperfection is desired. When it comes to producing IT infrastructure it is the source of much pain and frustration because even the most seasoned and technically capable engineers will produce imperfections in their work.

Imperfection causes inconsistency amongst server clusters and introduces the dreaded “it works some of the time” errors. This causes an operations administrator to have to compare the runtime configurations line by line to discover the typo or error made by the engineer who originally built it.

This isn’t the late 90s or early 2000s, in the modern age, people expect their software to work consistently well and perform. When it doesn’t, the customer will have no qualms posting a review in an app store about their buggy experience. This ultimately causes potential customers to never give your product or service a chance. The only way to avoid these inconsistency issues is to remove human imperfection from the equation by automating their work.

Do More with Less

Steve Jobs is definitely a polarizing figure in the technology world, but an anecdote told by him resonated with me as an Automator.

“I think one of the things that really separates us from the high primates is that we’re tool builders. I read a study that measured the efficiency of locomotion for various species on the planet. The condor used the least energy to move a kilometer. And, humans came in with a rather unimpressive showing, about a third of the way down the list. It was not too proud a showing for the crown of creation. So, that didn’t look so good. But, then somebody at Scientific American had the insight to test the efficiency of locomotion for a man on a bicycle. And, a man on a bicycle, a human on a bicycle, blew the condor away, completely off the top of the charts. And that’s what a computer is to me. What a computer is to me is it’s the most remarkable tool that we’ve ever come up with, and it’s the equivalent of a bicycle for our minds.” ~ Steve Jobs

The specific part of that story that really sums up what it means to automate infrastructure is that, as humans, we are tool builders. We can build or use tools and glue them together using programming to give ourselves the bicycle needed to do our work in less time, less stress, less frustration, and in some cases, with less people dedicated to a particular role.

Although, admittingly, the hardest part of automation is that you can be so busy running and trying to keep up with the work that you simply don’t have time to stop and get on the bike.

To better demonstrate the power of automation and how it enables small teams to manage vast amounts of infrastructure is Netflix. At the time of this writing, Netflix is famously known for having a small core team of Site Reliability Engineers which keep the shows streaming in nearly every country and accounts for about 10–15% of all internet traffic. That type of scale and the ability to maintain it with a small team can only be achieved with automation.

The Value of Automation

Bar none, the most frequent question which I was always asked when proposing automation was “what is the value?”. Value often translates to money and is only realized in a company when products are used often and by a wide customer base. If the marketing team at your company is doing a great job in selling the products, the only way to meet increasing customer demand and stay competitive is to meet that demand by scaling existing products or being agile enough to deliver new products quickly to market in order to stay competitive. The value of automation is the ability to effectively meet those business needs quickly.

On the other side of the value coin is savings. Automation saves time by ensuring skilled engineers are not wasted on tedious administrative tasks. Instead of implementing their knowledge, they can begin to apply their knowledge of technology to automation processes. For example, instead of an engineer manually configuring a network by setting IP addresses, subnets, gateways, etc. He or she can automate a set of rules and checks to ensure that “the robot” applies a working network configuration to a server. Once the process in place; the task can be done quickly, with confidence that it is correct, and the automation can be repeated for future network configurations.

Three other cost-saving benefits that are gained from automation are:

  • Avoid costly outage penalties that are outlined in a Service Level Agreement (SLA) between two businesses.
  • Instead of investing in more personnel, money can be invested into tools and software products that provide additional automation capabilities or refine existing processes.
  • A finely-tuned automated environment can eliminate the need for contracted primary support personnel. which can be a multi-million-dollar saving, each year.

The above are just some examples of how automation can bring value to your team and organization and why it's becoming an ever-increasing necessity to transition from IT produced by human labor to that of Automation Technology in which the people build and maintain the machine vs being it.

--

--

Anthony Hawkins

Lover of all things internet and how it works. An operations guy who knows how to develop and build automation.