| > I would argue that all deployments (no matter how small) should have configuration management. I would argue that in most cases, they don't need anything but some documentation explaining what was installed, and why. I will take a word file with screenshots over a broken script in an obscure language every single time. > but there's no reason not to use something like Ansible that's designed for infrastructure automation, There's a big one: my time isn't free. If someone is willing to waste money on that, sure, I'll be happy to bill them for their extravagant tastes (but only after having done my best to explain them it's a waste of money) And still, I will think about the next person that may have to maintain or tweak whay I wrote, so I will also leave a document full of screenshots in case they don't know ansible or whatever new fashionable tool that the client may have specifically requested. > it's faster and the resulting system is of higher quality. Not everything needs to be of high quality. Forgive me if I'm assuming your gender, but I see a lot of black-and-white thinking among male sysadmins/devops: it's good or it's bad, it's high quality or it's not. I prefer to have a "sufficient" degree of quality: if a checklist is enough, I will not waste time writing a script. If a shell script is enough, I will not waste time writing proper code - and so on. > Over time you will also accumulate a library of bits and pieces that you can copy over to new setups, further improving your speed and quality Except you assume a continuous progress, without any change of scope or tools, and with the tools themselves never evolving. It doesn't work like that: over time, you will accumulate a bunch of useless code for old versions. Even small inconsequential changes (like unbound in debian 11 requesting spaces before some options, which wasn't the case before) will take some time and effort. Why waste your energy one one shots? The do-nothing approach argues that you should avoid premature optimization, which strikes me a good approach in software in general. |