Using Puppet for AWS deployments
Puppet is an open source platform for provisioning, configuring, and patching applications and OS components. A Puppet deployment has two components: Puppet master and Puppet client. The Puppet master is a centralized configuration server that holds the definitions and instructions needed to install your applications. A Puppet client connects to the Puppet server and downloads the necessary instructions to install and update the software running on it.
In Puppet, you have to describe machine configurations in Puppet's own Domain Specific Language (DSL). Central to using Puppet is declaring resources. Each resource describes some aspect of a system, like a file that must be copied or a package that must be installed. Resources are often grouped into classes that are organized into modules. Groups of resource declarations and conditional statements can be specified in a class.
Manifests are files containing Puppet code and are text files saved with a .pp
extension...