Your typical goal with Puppet is to build complete system configurations, which
manage all of the software, services, and configuration that you care about on a given
system. The roles and profiles method can help keep complexity under control and make your
code more reusable, reconfigurable, and refactorable.