Automation is a somewhat touchy topic in IT. Many companies are increasingly looking to automate in IT for a number of reasons. On the other hand, many IT professionals are afraid of automation. There is a belief held that if automation is employed, jobs are at risk, as the automation will replace employees. In this article, we will explore some benefits of automation, and why those beliefs on job loss are false. While it's true that automation can potentially lessen the workload of IT workers, experience tells us that there are nearly limitless numbers of
An often less considered, but very important element of automation is consistency. In a field where there are often many ways to accomplish the same goal, automation (and to a lesser, extent process) it is necessary to ensure that a task is performed the same way every time.
For example:
A mapped drive in Windows. We could manually go map the drive on each user's PC - that is fairly commonly done. We could also use a batch file to map them. This will ensure every user running the batch file is mapped consistently. This is the beginning of the automation journey.
For the ultimate repeatability in the previous example, we create a group policy to map the drive and apply it to the users needs. This has a centrally documented place where we can see who has what drives mapped. This level of automation helps prevent errors where, for instance, we create a batch file per user. Ensuring consistency in the drive letter of the mapping can become an issue with batch files.
We can automate the entire installation process of PCs. Using something like Microsoft Deployment Toolkit, we can create a base image and tasks to install required software. When new machines arrive, we can use the new image to reinstall windows, and make sure every system starts in the same base state. No more random bloatware from your vendor, and each PC is built the same.
There are many other tools we can use to help us maintain consistency, such as Microsoft System Center Configuration Manager (SCCM), or the remote monitoring and management tools used by Managed Service Providers. These means allow us to maintain systems in a consistent state once built. Combined with Group Policy in windows, these provide a power set of abilities to maintain consistent systems.
A huge benefit of the consistency afforded by automation is that troubleshooting is considerably easier. Since we know the work used to configure an environment was performed in an automated fashion, we can assume it to be consistent and begin investigating why it's not the same. Additionally, if we have the ability to create an entire environment in an automated form, we can tear down and rebuild an environment as part of our troubleshooting efforts. Once achieved, this is the ultimate level of assessment, as we don't even troubleshoot - we bring the system back to a known good state.
Even if you don't have the ability to reprovision systems, knowing that a system has a consistent state, and you can show it, removes many areas we may need to troubleshoot. Oftentimes troubleshooting in these instances becomes running various tools to find out how the system varies from the consistent state, then repairing the tool to put it back in that state. This can lead to much shorter Mean Time to Repair (MTTR) on issues.
Additionally, with good automation, it's much easier to implement items such as centralized logging and log storage. Tools such as the Elasticsearch, Logstash and Kibana stack are invaluable in aiding in damage control and are much easier to implement with automation configuring systems to feed them logs.
Finally onto the component of automation that concerns most IT people. While there are up front cost in creating the automation, and some cost in maintaining it, generally there is a large amount of time saved over a longer period by doing this. It can be easy to worry about the loss of work from the every day tasks you automate. However, this may be a poor way to view it.
As IT professionals, the work is to provide value to your company using IT. Given there is value in things such as password resets, software installations, and other items such as this, these are expected tasks. If automation and other tools handle creation and maintenance of these functions, then IT is freed up to be valued in other ways. Investigating new technology, reporting, and other strategic activities are much easier to accomplish with the lower effort requirements being automated.
It's easy to look at automation as a negative concept. I hope following this article that it is viewed with less negativity. The time savings allotted by automation can help your company reach its next level of IT performance. If you need assistance in automation in any way, please reach out. We'd be glad to help you begin that exploration.