« Previous 1 2 3 4 5
Protecting the production environment
Methuselah
Infrastructure and Scaling
Puppet requires a not inconsiderable infrastructure for professional use. You need the Puppet server including a CA, a controlling Git with r10k, optionally some kind of software management, and a GUI for reporting. Additionally, you implement PuppetDB as an application with a PostgreSQL database if you need exported resources.
I mostly use Foreman for reporting and ENC, extended by the plugin Katello for software management, which also requires a PostgreSQL server. A PuppetDB is therefore a good choice and does not cause much additional work. Moreover, you need GitLab Community Edition as a Git with a GUI for integrated issue management.
A Puppet server can serve around 500 hosts. If more, Puppet scales very well horizontally: Additional Puppet servers that also compile catalogs can be integrated easily.
Conclusions
Puppet is complex, heavyweight, and not easy to learn. However, once mastered, it proves to be flexible and secure. The many modules maintained on Puppet Forge are a massive advantage. They usually also require a training period but leave hardly any wishes unfulfilled.
Puppet protects its own production environment with established processes. However, this also means saying goodbye to the idea that you can quickly write code for it. The code has to be tested conscientiously and transferred to production via staging. Configuration parameters for managed applications do not require such tests and can be easily adapted in Hiera.
Infos
- HashiCorp Vagrant: https://www.vagrantup.com
- Ruby templating language: https://puppet.com/docs/puppet/5.5/lang_template_erb.html
- Directory structure: https://puppet.com/blog/magic-directories-guide-to-puppet-directory-structure
- Community portal for modules: https://forge.puppet.com
- Community project for module maintenance: https://voxpupuli.org
- Class containment: https://puppet.com/blog/class-containment-puppet
- Native implementations of Puppet environments: https://github.com/puppetlabs/r10k
- Orchestration with Puppet Bolt: https://puppet.com/docs/bolt/latest/bolt.html
« Previous 1 2 3 4 5
Buy this article as PDF
(incl. VAT)
Buy ADMIN Magazine
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Most Popular
Support Our Work
ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.