Things change
Once we introduce a tool like Puppet in our infrastructure, everything changes and we should be well aware of this.
Infrastructure as code
There's a wonderful term that describes what tools like Puppet or Chef have introduced in IT operations: infrastructure as code. We define our IT infrastructure with formal code, the configurations of our servers, the procedures to set them up, and whatever is needed to turn a piece of bare metal or a blank VM to a system that provides services for our purposes.
When we can use a programming language to configure our systems, a lot of powerful collateral effects take place. These are inherently related to the fact that we are dealing with code.
Versioning
Code can be versioned with an SCM. The history of our commits reflects the history of our infrastructure. We can know who did a change and when and why they did it. There's a huge intrinsic value in this: the power of contextual documentation and communication. Puppet code is inherently the...