Puppet Fundamentals

Puppet Fundamentals


Learn firsthand best practices for managing your infrastructure with Puppet Enterprise. You’ll learn how to install Puppet Enterprise, write classes, and create modules.


Please note: Based on feedback from our customers, Puppet Fundamentals, Puppetizing Infrastructure, and Puppet Essentials for Windows are getting a complete refresh in Oct 2018 and are being replaced with a new three-day course: Getting Started with Puppet (GSWP)!

GSWP takes the high-quality curriculum from these three courses and creates one hands-on, activity based course. The labs are focused on real-world issues so you will leave the class with the resources and code you need to immediately get started in your own infrastructure. GSWP also features Puppet tasks and Bolt, Discovery, and the PDK. It provides users a practical, guided on-ramp to get started with Puppet.

Learn more about Getting Started with Puppet here.

This course is offered both in-person and virtually. The full course schedule, including virtual classes, is available below.

In this three-day course, students will start by installing Puppet Enterprise, then learn Puppet best practices and use Puppet to write simple classes, and update and extend existing modules. Fundamentals is taught through a combination of lecture and relevant, real world, hands-on exercises. After completing this course, students will be able to deploy basic system configurations using best practices for Puppet in a Master-Agent setup.


3 days

Course Content

The fundamental component roles that make up Puppet Enterprise (and Puppet Open Source).

The core concepts for the Puppet DSL, including:

  • Modules and Classes
  • Classification
  • Resources
  • Relationships
  • Language Constructs

Separating logic from presentation by using Templates.

Modeling repeatable portions of your configuration by using Defined Resource Types.

Building a foundation for building more complex configurations by using Advanced Classes:

  • Parameterized Classes
  • Introduction to Inheritance
  • Introduction to Data Separation using Hiera
  • Revisiting Classification using parameterized classes & ADB

An introduction to using modules from the Puppet Forge and Supported Modules.

A brief introduction to the Roles and Profiles design pattern.



In this course, we expect students to have little to no experience with Puppet Enterprise (or Puppet Open Source) and are looking to build a foundation for future growth, experience, and knowledge.

This course is recommended for Linux/Unix users who know the command line, such as Bash, and are familiar with operating system concepts such as services, packages and configuration files. Student should also be familiar with a text editor. Puppet trainers typically use Vim, but you may use any text editor you are comfortable with. The provided Training VM includes vim, emacs and nano.

Students definitely need junior-level sysadmin skills. For example:

  • how to restart a service
  • what an entry in the hosts file means
  • what a hostname is
  • how to troubleshoot basic networking problems such as name lookups, DNS lookups, and basic connectivity

Be able to configure a virtual machine (either of VMware or VirtualBox) to use bridged or NAT networking.

If you'd like an opportunity to refresh your Unix skills before logging in, you might work through the following material:


Students will be provided with access to a hosted classroom environment.

Please review the technical requirements for your class here.



3 Days

Upcoming Classes

No classes have been scheduled.

Upcoming Classes

Puppet Fundamentals Ratings

Averaged from 27 responses.

Training Organized
Training Objectives
Training Expectations
Training Curriculum
Training Labs
Training Overall

What do these ratings mean?