DevOps: why automate repetitive tasks?
In some of our previous blog posts, we referred to the automation of repetitive tasks. Automating these so-called dirty jobs offer important time savings – and cost savings in general. But what are these dirty jobs exactly? And why is it clever to automate repetitive tasks?
DevOps is a specific approach to lean and agile software delivery, bringing together development and operations into one seamless combination. DevOps promotes close collaboration between the lines of business, development and IT operations. An important objective of DevOps is to improve IT value streams. So you automate repetitive tasks, also known as dirty jobs or monkey work. DevOps automation helps IT resources spend less time on those dirty jobs – and more time on tasks that meet key business requirements. Following the automation of dirty jobs, is the automation of more complex tasks, bringing automation as a whole to a higher level.
Over and over again
There are a lot of opportunities to automate repetitive tasks in middleware and database management. Database administrators know the daunting task of creating database schemes and database users all too well. In general, they also spend quite a lot of time creating and adjusting access control lists, changing parameters, and so on. Running a server farm equals managing users and passwords, restarting services, installing upgrades and patches: lots of manual tasks that can easily be automated.
Automation is meaningful when it comes to managing tasks that are repetitive. This possibly means two things. In some cases, a task needs to be done over and over again on the same machine. In other cases, a task needs to be performed on a machine only once, but it can still be very repetitive when the administrator runs a farm that consists of dozens – maybe hundreds – of servers. So, it’s not just the size of the server farm that drives the decision to automate. Just a handful of servers may require a lot of repetitive tasks as well.
What automation does, is quite simple to understand. First of all, you need a detailed description of the manual procedure. In the case of patch management, for example, it includes logging on to the server, verifying the OS status, downloading the necessary patch, installing it and logging off again. To automate that procedure, a script is written that automatically executes one step after the other.
To make sure an automation project is meaningful, it is recommended to build a business case. Obviously, the time & money automation helps save, need to compensate the resources invested in writing the automation script. In a lot of cases, that’s a fairly simple exercise. Let’s take the example of automating the integration of two IT environments, following the acquisition of a company. Disconnecting a server from the former company network and integrating it into the new environment is a task that takes up to 20 minutes when performed manually. Automating the process reduces the lead time to only 2 minutes.
Scripts don’t make mistakes
Sure, scripting an entire procedure take some effort, but nonetheless, in most cases the time savings are obvious. And there’s more. Scripts don’t make mistakes. When performing a repetitive task, a human administrator inevitably loses focus. A script never does, adding to the overall quality of the environment’s management.
Do you want to automate repetitive tasks? Or learn more about DevOps automation? Click here!