Configuration Automation with Puppet


Real Class Example

Configuration Automation with Puppet

This online instructor led training course provides the knowledge and skills to utilize Puppet, an open source software configuration management and deployment tool. In this course students will learn key topics including the what Puppet is, its supported platforms, Puppet OSS and Puppet Enterprise, Puppet concepts, building a lab, using different types of resources, Hiera lookups, and more.


Jesse Crawford
MS Cyber Security and Puppet Certified Professional

Course Information

Skills Learned

After completing this course, students will:

  • Understand what Puppet is
  • Know the differences between Puppet OSS and Enterprise
  • Understand Puppet concepts, including run process, declaritive programming, puppetdb, and more
  • Be able to build a lab by installing the Puppet master and the agent
  • Understand classes and ordering
  • Better understand Puppet resources and types
  • Understand Hiera lookups
  • Be able to describe Puppet at scale
  • Understand how to avoid the common Puppet ordering loops
  • Be able to install Puppet Enterprise and understand the Puppet Enterprise Console

Who Should Attend This Course

This course is intended for sysadmins, SREs, DevOps engineers or similar who manage Windows, Linux, or Unix infrastructure and want to learn about Puppet and how it can be utilized to automate their infrastructure.


None, but we recommend that students have experience working with deploying applications on their operating system and familiarity with Ruby.

Course Outline


  • What Puppet is used for
  • The Puppet architecture – agent and master
  • Supported platforms
  • Connecting an agent to a master
  • Puppet OSS vs. Enterprise

Puppet Concepts

  • Puppet manifests compile to catalogs
  • Declarative programming rather than imperative
  • Resources must be idempotent
  • The Puppet run process
  • Parts of a Puppet system (introduce hiera, puppetdb)

Building a Lab

  • Creating a master and agent
  • Installing the Puppet master
  • Installing and connecting the agent

The Puppet Language

  • Resources as a concept
  • Classes
  • Ordering
  • Different ways of including/requiring classes

Resources and Types

  • Simple resource types – packages, services
  • Managing files
  • Templates, ERB and puppet template
  • Complex resources types – config file line, perhaps other examples
  • Using exec

Using Modules

  • Including classes and modules
  • Puppet Forge content


  • Hiera lookups
  • Hiera lookup precedence/order

Advanced Puppet Language

  • Using facts, hiera, and other variables
  • Ruby in Puppet manifests – loops, conditionals, etc.
  • Resource collectors

Puppet at Scale

  • Node classification
  • Puppet manifest deployment with r10k
  • Puppet reporting with puppetdb
  • Using Bolt for quick actions

Common Puppet Problems

  • Avoiding ordering loops
  • Investigating resources that apply every run
  • Monitoring Puppet agents for failures using reporting

Puppet Enterprise

  • Install process
  • Puppet Code Manager
  • Enterprise Console


Are you a student and need support?

Don’t see the class you’re looking for?

Get a demo or pricing!

Call (800) 850-9932 or submit this form to get pricing for you or your team.

We absolutely love being able to tailor the StormWind training experience to you and your goals. Simply provide us with a little bit of upfront info and we’ll get to work on customizing learning packages for you—at a price you just can’t resist.