Are there any advantages over CloudInit? Yes, absolutely, many of them!
Of course, you can write from top to bottom as soon as CloudInit scripts to provide the server. But what happens when you need to change a configuration file, add a user, upgrade a package, or install a new package? As a result, you log on to the servers or write scripts to do this, and the inevitably inappropriate state of the servers.
CloudInit is not configuration management. If you decide to start using configuration management software, use cloud-based initialization for only one task: to load the Puppet / Chef / other handler.
Puppet does not just help you automate the installation of packages, install ssh keys, or configure a bunch of Tomcat. This provides a state of things. When a developer fixes a Java application at 3 a.m. and changes the configuration of Tomcat, Puppet will change it. You can quickly change the version of Python for all or groups of nodes, and if someone installs a different version, Puppet will change it.
When your application stack changes and you start using, say, RabbitMQ or Jetty, or the new RDBMS, you can easily test and deploy the changes to tens or thousands of servers.
There are many other reasons to use configuration management software, such as reporting, auditing, and security compliance.
czervik Aug 17 2018-12-12T00: 00Z
source share