Using Puppet Forge modules
Although you could write your own manifests for everything you want to manage, you can save yourself a lot of time and effort by using public Puppet modules wherever possible. A module in Puppet is a self-contained unit of shareable, reusable code, usually designed to manage one particular service or piece of software, such as the Apache web server.
What is the Puppet Forge?
The Puppet Forge is a public repository of Puppet modules, many of them officially supported and maintained by Puppet, and all of which you can download and use. You can browse the Forge at https://forge.puppet.com/.
One of the advantages of using a well-established tool such as Puppet is that there is a large number of mature public modules available, which cover the most common software you're likely to need. For example, here is a small selection of the things you can manage with public modules from Puppet Forge:
MySQL/PostgreSQL/SQL Server
Apache/Nginx
Java/Tomcat/PHP/Ruby/Rails
HAProxy
Amazon...