Mastering Puppet for Large Infrastructures
3.6 (30 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
431 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Mastering Puppet for Large Infrastructures to your Wishlist.

Add to Wishlist

Mastering Puppet for Large Infrastructures

Master Puppet and overcome issues faced in larger deployments with real-world examples
3.6 (30 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
431 students enrolled
Created by Packt Publishing
Last updated 12/2016
Current price: $10 Original price: $110 Discount: 91% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Initialize a code repository for your project and manage module dependencies
  • Configure Puppet server infrastructures by using different methodologies and components
  • Add features to achieve redundancy and optimize performance
  • Deploy specific storage components for servers to ensure fast and reliable data delivery
  • Implement orchestration using mcollective and Hiera for data management
  • Learn to trigger notifications and alerts for noteworthy Puppet events
  • Write efficient Puppet code tests and ensure proper code delivery to Puppet master servers
  • Utilize some best practices and tips on how to troubleshoot issues that might crop up
View Curriculum
  • This video tutorial assumes intermediate-level knowledge of Puppet.

Puppet is a configuration management system that automates all your IT configurations, giving you control of what you do to each node, when you do it, and how you do it.

This video course takes you from a basic knowledge of Puppet to an advanced level, where you'll master the latest and most advanced Puppet features. You will discover advanced techniques to deal with centralized and decentralized Puppet deployments and take control of your servers and desktops. This course will also present interesting examples illustrating how to automate Puppet deployment for configuration management and every aspect of your systems, including provisioning, deployment, and change management. By learning these skills, you will make Puppet reliant, scalable, and high-performing.

About The Author

Thomas Uphill is a long-time user of Puppet. He has presented Puppet tutorials at LOPSA-East, Cascada, and PuppetConf. He has also been a system administrator for over 20 years, working primarily with RedHat systems; he is currently a RedHat Certified Architect (RHCA). When not running the Puppet User Group of Seattle (PUGS), he volunteers for the LOPSA board and his local LOPSA chapter, SASAG.

Who is the target audience?
  • This course targets system administrators and developers, particularly those working in production environments and looking for ways to use Puppet in enterprise environments.
Compare to Other Puppet Software Courses
Curriculum For This Course
32 Lectures
Getting Started
5 Lectures 53:34

This video provides an overview of the entire course.

Preview 02:36

Puppet is a configuration management tool; you use it to keep the configuration of your machines consistent. There are several terms used in a Puppet installation; we'll introduce those here.

Introducing Puppet and Terms Associated with Puppet

In this section, a detailed understanding of the different Puppet architectures will be provided, with emphasis on the difference between installation with Passenger and Puppet Server.

Puppet Code, Puppet Servers, and Environments

We will learn how to initialize a code repository for our project and how to create appropriate branches for the same to be used in development, builds and tests later.

More about Puppet Servers and Environments

We will learn to use r10k to manage module dependencies in our project and see how they can be useful to automate deployments in the MPLI Productions Puppet infrastructure.

Git Control Repositories and r10K
Architecting Puppet for Scalability, Redundancy, and Performance
4 Lectures 33:02

In this video, we will go through the typical installation of a PuppetServer machine in a standalone configuration. For convenience, we will refer to this machine as puppetca.

Preview 10:15

In this video, we are going to have one puppetca and two puppet master machines. The puppetca will act as a load balancer for our configuration.

Expanding on Our Standalone Puppet CA Machine

In this video, we will modify our configuration to make the puppetca machine accessible directly.

Enterprise Configuration - Master of Master(MOM)

In this video, we will learn how to tweak parameters in the Puppet configuration files to increase performance in Puppet client runs and in storing and retrieving Puppet metadata.

Performance Tuning with Puppet Server
Using PuppetDB
4 Lectures 31:33

In this video, we will learn how to install and configure PuppetDB with a PostgreSQL database as the backend for better scalability in the MPLI Productions environment.

Preview 16:19

In this video, we will introduce the concept of exported resources and show some usage examples

Exported Resources

In this video, we will learn how to utilize the default dashboard available with PuppetDB and how it can be used to visualize infrastructure data for MPLI Productions.

PuppetDB's GUI

In this video, we will learn about the different API endpoints that PuppetDB provides and the type of information that we can utilize and manipulate from them.

PuppetDB's API
Extending Puppet Functionalities
5 Lectures 51:34

We will learn how to use already developed public modules and reuse them for tasks in MPLI productions.

Preview 19:52

We will learn to create custom facts based on internal requirements for MPLI productions and use them to develop modules.

Creating Our Own Custom Facts

We will learn how to go beyond the default types available with Puppet and write custom types for an MPLI Productions environment.

Running Our Own Custom Types

We will understand what Hiera is and how to use it for data management for an MPLI Productions Puppet environment.

Using Heira

We will configure mcollective on the Puppet client nodes in MPLI Productions so that we can run remote commands and modules on the nodes using the same.

Using the 'ensure => absent'
Puppet Reporting
4 Lectures 20:31

We will learn how to configure Puppet to enable reporting.

Preview 05:42

We will learn how to install, configure and manage the Foreman dashboard and integrate the Puppet masters for MPLI Productions with it.

Foreman Reporter with Our Puppet Installation

We will learn how to configure various types of report processors for the dashboards and generate meaningful reports for the MPLI Productions infrastructure.

PuppetDB to Store Reports

We will learn how to identify and monitor Puppet events such as sync failures and raise alerts and notifications for them for MPLI Productions.

Using Report Processors to Monitor Systems
Testing and Troubleshooting
9 Lectures 01:26:30

We will learn how to install puppet-lint and use it to perform DSL syntax tests on the puppet code we have written for MPLI Productions.

Preview 08:19

In this video, we will learn to install rspec-puppet and write unit tests.

Using rspec-puppet to Create Tests for Our Code

In this video, we will learn to install Beaker and write acceptance tests.


We will learn to install Test Kitchen and bring all of the above mentioned tests together so that they can be run as a suite.

Test Kitchen

We will learn to use the tests that we have written and build the Puppet code on Jenkins to be merged with the master branch of the repository.


In this video, we will talk about the Puppet API and the Puppet CA API.


In this video, we will discuss SSL certificates and X509 SSL certificates.

SSL Certificates

In this video, we will discuss why does Puppet fail the first time then work fine the second or third time.

Metaparameters and Ordering

In this video, we will use Pry to interrupt the Puppet server and inspect the running process.

Using PRY to Inspect the Puppet Server
Wrapping Up
1 Lecture 10:00

We will learn to understand and follow a few best practices to develop Puppet code and maintain the Puppet infrastructure in an efficient manner.

Preview 10:00
About the Instructor
Packt Publishing
3.9 Average rating
8,229 Reviews
58,938 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.