Before automation was popular, it was common for a system administrator to sit down with their cup of coffee and install CD, and do their install or system rescue by hand.
It meant a lot of waiting for things to finish, a lot of watching paint dry. There were often also several things to configure after the install completed.
Oh yeah. Where did I put those files? Which configuration am I supposed to be using for this machine? What policies need set again?
There was a lot of winging it. If you were really unlucky and you didn’t have the information recorded somewhere, you had to try to remember things from past experience.
It was also common practice to spend a lot of time configuring one machine until it was just perfect, and then create an image of that machine for use later. We call these “unicorns.” If that machine got corrupted, it meant a huge loss of time. You’d either have to set up another one from scratch or restore from the previous image and hope things didn’t get corrupted.
Of course, you know how to do all this setup and maintenance work. You also know it doesn’t scale. It’s an inefficient way to work, messy and error-prone.
Enter automation. Chef. Puppet. Ansible. They all work, and naturally, they all have their own benefits and drawbacks.
The key to automation is that you use it for system definition. Now all the characteristics of a machine are kept in configuration files. In code, that’s all kept in version control, like Subversion or git. You define what a machine is supposed to look like, and you use automation to build it. No more spinning CDs and watching paint dry.
It means a complete paradigm shift in how work gets done, but it’s a shift well worth making.
No More Unicorns
Let me paint another picture for you. Do you remember having to walk around to every machine on your network and individually apply security patches and updates? What if some critical vulnerability was found, and you had to patch it immediately? You know you’re going to be doing a lot of walking that day.
Again, enter automation. In this case, we’ll speak in terms of using Chef automation. You pull down the security updates to your control machine (where you’re writing all your automation code), and then you modify your recipe to add this security update to your machine properties. Then on the next automation cycle, your machines all get the update. Automatically. No hours of updating each machine, one by one.
How much time and money would this save you? How much stress would this help you avoid? Let us help you transform how you do your IT work. Better yet, let us be your IT department!
No More Messes