What is meant by “infrastructure as code” Infrastructure as code is a way to maintain infrastructure by automated processes and minimize human effort needed to configure anything from physical baremetals to services running on many virtual hosts. There are 2 ways to do this. The first way is to have an automating software running on every host and pulling configuration from servers which have all configuration ‘recipes’. The second way is that configuration servers push configuration to host (insecure – configuration server needs to have access to all servers).
Our transition from lower Puppet version to Puppet 5 was (and still is) somewhat tricky. For us - managing more than 2000 hosts with puppet - this task is really time consuming. Every host must be switched manually to make sure no critical changes will apply. Luckily, there are some steps that can be done to simplify this task, some of which I’m going to explain. This will allow you to switch to higher version of Puppet without losing your precious data, and allow you to use other Puppet 5 features in the future.