At this point, you have already performed some production-grade tasks with Puppet. You learned how to write standalone manifests and then invoke puppet apply to put them to use. While setting up your first Puppet master and agent, you created a simple example for a node manifest on the master. In a node '<hostname>' block, you created the equivalent of a manifest file. This way, the Puppet master used just this manifest for the specified agent node.
While this is all useful and essentially important, it will obviously not suffice for daily business. By working with node blocks that contain sets of resources, you will end up performing lots of copy and paste operations for similar nodes, and the whole construct will become unwieldy very quickly. This is an unnatural approach to developing Puppet manifests. Despite...