The document discusses using Puppet and Razor together for automated operating system and application deployment. Razor is a provisioning tool that can deploy both operating systems and hypervisors to physical and virtual machines. It uses auto-discovered hardware inventory data and model-based provisioning to select the correct OS image and automate the provisioning process. Puppet can be integrated with Razor through its open APIs and plug-ins to enable full lifecycle management from metal to cloud. The document provides examples of using Puppet to install and configure Razor, define images, models, policies and deploy Ubuntu images.