The configuration of computer systems is a tedious endeavor. It requires installation of software and hours editing configuration files. Often, these tasks have to be repeated for many computers. This can be automated with configuration management software.
Configuration management software is written to control networks of tens if not hundreds or even thousands computers. So why would an amateur who runs only one or two machines want to use it?
In the past, I never used configuration management software. After all, all I wanted was to configure a single webserver. I like playing with server configuration files, after all I am a geek. However, I also have a day job that has nothing to do with system administration and a family. Therefore, even small projects can take a while to complete. Consequently, I forget many things and often fall into the same traps over and over again.
Of course I could take better notes, but automating configuration tasks prevents both repeated errors and serves as documentation at the same time. It also serves as a mind hack: On one hand, I know that documentation is important. On the other hand, coding is much more fun. Figuring out how to configure my system with a configuration management software can also be fun (for geeks).
In addition, even a small-time system administrator like me will end up repeating many things. The availability of cloud computing, for instance, gives many opportunities to play around – but also to spend a lot of time with mundane configuration tasks. Imagine you want to try some new software. Cloud computing gives easy and cheap access to computing resources. However, starting a fresh server instance usually comes together with basic configuration. Especially for geeks. After all, most geeks are not satisfied with the standard choice of text editor etc. Using configuration management software, you can automate these basic tasks. In my case, the resulting time savings can make the difference between a quick one-day project and a never ending on-off affair.