Configuration management

With every system that depends on a large number of similarly configured machines (regardless of whether they are physical or virtual ones), there always arises a need for simple and easy rebuild tooling to help automate the majority of the tasks that have in the past been done by hand. In the case of PaaS clusters, ideally, all pieces of the infrastructure are capable of being rebuilt with minimal user intervention into the exact state that is wanted. In the case of bare-metal PaaS server nodes, this is critically important as any operation that you have to do manually gets multiplied by the number of nodes you have, so streamlining this process should be of utmost importance for any kind of production-ready clustering infrastructure.

Now you may ask yourself, "Why do we care about covering CM tooling?" and the truth of the matter is that if you do not have proper CM around your container infrastructure, you are guaranteeing yourself after-hour emergency calls due to various issues such as: the nodes never joining the cluster, mismatched configurations, unapplied changes, version incompatibilities, and many other problems that will make you pull your hair out. So to prevent this set of situations from happening to you, we will really dive deep into this ecosystem of supporting software.

With that explained and out of the way, we can see some of the options we have available to choose from for the CM tooling:

Due to the fact that both Puppet and Chef require an agent-based deployment and SaltStack is trailing in Ansible popularity by a huge margin, for our work here, we will cover Ansible as the CM tooling of choice but as your needs will probably vary. Use your own requirements to select the most appropriate tool for the job.

As a relevant side note from my interactions with the DevOps online communities, it seems that at the time of writing this material, Ansible is becoming the de facto standard for CM tooling but it is not without its flaws. While I would love to recommend its use everywhere for a myriad of great features, expect complex edge cases of bigger modules to be marginally reliable and keep in mind that most bugs you will find are likely to have been already fixed by an unmerged pull request on GitHub that you might have to apply locally as needed.
WARNING! Choice of configuration management tooling should not be taken lightly and you should weigh the pros and cons of each before committing to a single one as this tooling is the hardest to switch out once you have a few machines managed with it! While many IT and DevOps professionals treat this choice almost as a way of life (similar to polarization between vim and emacs users), make sure that you evaluate your options carefully and logically due to the high costs of switching to a different one down the road. I have personally never heard of a company switch CM tooling after running with one for a while though I am sure there are a few out there.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.84.71