
Whether you’re a DevOps lead, Site Reliability Engineer, IT Manager, or CTO, odds are automation is pretty much ingrained in what you do.
In many ways, the terms automation and DevOps are synonymous. And in recent years, it feels like the term has taken over, as there’s almost no end to solutions that aim to automate something.
A recent report from Red Hat found that companies have automated an average of 36% of their cloud operations. The longer a business has been established, the more its manual processes have been replaced with automated workflows.
There are a variety of reasons for the rise in automation popularity:
Rewind recently sat down with various software development leaders about their automation experiences, how automation fits within their team’s goals, and the frameworks they use for making decisions.
Scott Sturgeon, CTO at Tugboat Logic by One Trust, is skeptical. “From my perspective, automation has become a buzzword. Not everything can be automated in a sane way. Not everything should be. Things that are repetitive and time-consuming, are the things that I tend to focus on. Most of the automation you hear about these days comes down to CI/CD –continuous integration, continuous deployment. You can build out very complex pipelines that can automatically update your production instance. Which is great, if you’re set up to do that properly.”
“I think automation is a very generic term and you want to be more specific about what you’re actually going for. It’s a technique and method, rather than an outcome,” explains Nigel Kersten, Field CTO at Puppet. You don’t automate for automation’s sake, you automate because you’re trying to achieve a result. I also think it’s a good marketing buzzword because it resonates with the folks on the ground who think, ‘I can make robots do it.’ So you have to be cautious about how you’re using that word.”
Heeding this caution in mind, here are some top tasks that are frequently over-automated or unnecessarily complicated by automation.
Although most tasks can be automated, it doesn’t mean they should be. Here are some quick tips on what can be removed from the to-be-automated list:
“Things that a computer can’t do well should not be automated. For example, a lot of companies try and automate code reviews,” explains Scott. “This is fine for things following syntax or weird circular dependencies. A computer can figure that stuff out. However, looking at the logic of a piece of code and whether or not that’s done properly isn’t something a computer can do well. A code review, in my mind, still requires a person to look at it.”
James Ciesielski, CTO at Rewind, expands on this risk-based approach to automation in development. “When it comes to deciding what to automate, we assess the risk of having people involved in maintaining a process. I’ve seen development environments where people were granted God-like privileges to the development team. Often this is done in the name of serving customers, but people make errors, intentional and unintentional.”
The reality is that many businesses will need to automate things that directly or indirectly
While there’s no one-size-fits-all approach to the decision, here are some signals IT experts use to evaluate whether a process is a good candidate for automation:
In the end, often a good starting point is finding processes (which add value) that you are frequently doing and relying on a human. When people are involved, the chances of error go up exponentially.
Lena Feygin, DevOps Team Leader at OwnBackups, stresses caution and prudence over the desire to ‘:automate_all_the_things:.’ Her advice? “In the end, we only need to automate issues that really cause problems and not fix problems that don’t exist.”
Looking for more expert advice on automation from DevOps pros? Download our complete guide to automation in development operations- absolutely free.