There is one thing that I particularly like about Puppet: its usage patterns can grow with the user's involvement. We can start using it to explore and modify our system with puppet resource
, we can use it with local manifests to configure our machine with puppet apply
, and we can have a central server where a puppet master
service provides configurations for all our nodes where we run the puppet agent
command.
Then our nodes' number may grow and we may find ourselves with an overwhelmed Puppet Master that needs to scale accordingly.
In this chapter, we will review how to make our Master grow with our infrastructure and how to measure and optimize Puppet performances. We will learn the following:
Optimizing the Puppet Master with Passenger
Scaling the Puppet Masters horizontally
Load balancing alternatives
Masterless setups
Store configs with PuppetDB
Profiling Puppet performances
Code optimization