In a previous life I ran a large Puppet Enterprise install on high hundreds of physical boxes and 1000's of VMs. We had a 90-95% internally written module base. Our problems mainly revolved around our multiple OS provisioning workflow and scaling the infrastructure. Several months ago I left to join a very small startup. I left with nothing, no modules, no configs and arrived to nothing, no servers, and no time to setup infrastructure. At that point I realized starting with Puppet can be overwhelming. Where do you start? Should you use OSS or PE? Should you get the bits from PuppetLabs or the distro? How do you bootstrap? What about PuppetDB? Have you heard of Hiera? What about that best practices? How am I going to have time to write all these modules? Take a deep breath and just get started. This talk covers my approach. Starting with a target environment of 20 servers and planning for growth. We cover the setup I have now and why I made the choices I did: Puppet Enterprise, PuppetDB, Hiera, Razor, mostly forge based modules. I'll also cover tools I use outside of the Puppet environment to tie it all together FPM, Pulp, Vagrant, etc.