Introduction to Using Puppet

The configuration management and data center automation tool that streamlines every step of IT service delivery, Puppet allows you to provision physical and virtual machines, orchestrate configuration management and develop, test and deploy code faster. Designed to easily automate repetitive and error-prone system administration tasks, Puppet's declarative language allows you to state how your systems should be configured to do their jobs. It's easy to quickly set up systems in a reliable and repeatable way.

This Puppet training course demonstrates the complete Puppet configuration management system, and how it can be used to build and scale reliable infrastructure for your own environments. As a continuous hands-on lab-intensive course, students will build a fully functional infrastructure using Puppet. By the end of this course, you will have a solid understanding and hands-on experience with Puppet, and the knowledge to integrate Puppet into your own operations workflow.

2 days/16 hours of instruction
Education Credits
14 PDUs
14 Technical PDUs
14 PDUs
Public Classroom Pricing


GSA Price: $1640

Group Rate: $1650

Private Group Pricing

Have a group of 5 or more students? Request special pricing for private group training today.

Download the Course Brochure

Puppet Training Outline

Part 1: Intro to DevOps

  1. Why DevOps
  2. Benefits
  3. Automation
  4. Overview of Puppet
  5. Puppet Enterprise vs Open Source

Lab: Using the Puppet Console, adding nodes and classes


  1. How Puppet uses resources for configuration management
  2. Developing Puppet resources
  3. Variables
  4. Conditional statements
  5. Built-in resource types
  6. Description of resources – resource types, titles, and body
  7. Core resource types
  8. Inspecting resources

Lab: Developing Puppet resources, applying resources to nodes

Part 2: Classes

  1. Understanding Puppet classes
  2. Manifests with Classes
  3. Class Inheritance

Part 3: Architecture

  1. Sizing Puppet Master
  2. Differences between Monolithic and Split Puppet architectures
  3. Puppet Agent

Lab: Manifests and Classes: Create class definitions, validate class syntax and apply to Puppet nodes


  • Understand how Puppet reports Facts and the Catalog
  • Installing modules from the Forge
  • Searching the Forge from CLI and web
  • Using the Puppet Module command
  • Types and Providers

Lab: Modules, module path structure, and testing

Lab: NTP configuring nodes and class parameters

Lab: MySQL: Using Puppet to configure MySQL databases, users, and services

Part 4: Variables

  1. Using variables in Puppet
  2. Writing Puppet code without repeating
  3. Writing Classes with parameters
  4. Using the facter tool with modules and classes

Lab: Variables and Parameters: learn how to assign variables in a manifest, create classes with parameters     

Part 5: Hiera

  1. Description and uses for Hiera
  2. Code reusability
  3. Access control with Git, LDAP, Jenkins

Lab: Installing and Using Hiera

Part 6: Conditional Statements

  1. Understand and use these conditional statements:
    • If
    • Unless
    • Case
    • Selector

Lab: Conditional Statements: Using conditional statements in resources and modules.

Part 7: Advanced Topics

  1. Environments
  2. Using R10K to manage modules
  3. Creating custom modules
  4. Next steps

Lab: Resource ordering: Ensure the correct order of modules and classes

Lab: Defined resource types: Create new resource types

  • IT Managers and Leaders
  • Developers and Application Teams
  • System Administrators
  • IT Operations Staff
  • Release Engineers
  • Configuration Managers
  • Anyone involved with IT infrastructure
  • ScrumMasters
  • Software Managers and Team Leads

  • Use the Puppet Console, adding nodes and classes
  • Develop Puppet resources, applying resources to nodes
  • Create class definitions, validate class syntax and apply to Puppet nodes
  • Assign variables in a manifest, create classes with parameters  
  • Use conditional statements in resources and modules

Introduction to Using Puppet Schedule

There are currently no scheduled classes for this course. Please contact us if you would like more information or to schedule this course for you or your company.

Request Private Group Training