Mastering Puppet the devops way by School of DevOps®

The most comprehensive Puppet course. Learn to write Infrastructure as a Code and manage it at scale with Puppet

3.65 (447 reviews)
Udemy
platform
English
language
Other
category
instructor
2,550
students
8 hours
content
Jul 2020
last update
$89.99
regular price

What you will learn

Infrastructure as a Code and related concepts e.g. idempotence, convergence

Puppet's DSL and best practices to write Manifests, Modules, Node Classification etc.

Create dynamic, data driven modules with Parameters and Templates

Setup Puppet Master and Nodes and apply configurations with centralised configuration management system

Integrate with Continuous Integration tool (CircleCI) and deploy applications with Puppet

Managing multiple environments e.g. Dev, Stage, QA, Production

Externalising properties with Hiera

Roles and Profile Design Patterns

Overview of Puppet Enterprise

Description

Infrastructure as a Code is one of the foundations of Devops Automation toolchain. Being the first to enter in 2005, Puppet is at the forefront of the IaaC revolutions and was the first tool amongst the four main configuration management tools including Chef, Ansible and Saltstack . Puppet is also the fastest configuration management system and provides a simple DSL (Domain Specific Language) to define the state of resources and does the heavy lifting of managing underlying platform specific operations by itself, providing users higher level of abstraction than scripts do.

The use of puppet is no more limited to servers, but has also expanded to managing all type of devices including routers, embedded systems, storage etc. With more and more organisations adopting to devops practices, knowledge on IaaC and tools such as Puppet is essential for today's generation of devops professionals. This skill would also help one to advance their careers, specially for the operations, systems, networks and devops engineers.

This course is one of the most comprehensive programs to master Puppet. It starts from most basic concepts related to Infrastructure as a Code, Convergent Infrastructures, Code and Data separation, Idempotence. It then helps you dive into the world of puppet by understanding the basics of the languages such as resources/providers, manifests, modules and then delves deeper into creating dynamic code with parameters, templates, defined types etc. Once equipped with the basics, it unlocks Puppet's full potential with advanced topics such as environments, hiera, r10k, puppet enterprise, rolls and design patterns etc. This course takes from from zero to puppet master in two weeks.

Content

Infrastructure as a Code

Introduction
Four Approaches to Manage Infrastructures
Scripts vs IaaC - Procedural vs Declarative Approaches
My Story - How I got started with Puppet
Pull Model Centralized Configuration Management
Convergence and Idempotence
Code vs Data - Creating Dynamic Configurations
Iterative Approach, Who is Puppet for, What it is not
Is IaaC only about Puppet/Chef ? Going beyond the configuration management

Path to Automation with Puppet

Introduction
Path to Automation with Puppet
Training Approach

Environment Setup

Environment Setup - Section Intro
Codespaces Introduction
Using Codespaces
Puppet Master Agent Setup
Regenerating Certs
Project Intro

Manifests

Introduction
Resource DSL
Writing our first Manifest
Applying Puppet Manifest Locally
Idempotence and Convergence
Solution to Exercise
Execute Resource and Idempotence
Lab: Creating and applying a Puppet Manifest
Slides: Puppet - Manifests

Modules

Introduction
Anatomoy of a Module and Modulepath Configurations
Generating Modules
Classes, Naming Convention and Strategies
Creating java::install class, Classifying Node with Node Definitions
Using Default Block, Adding Checkpoints with Notify Resource, Classification
Ordering, Notifications and Meta Parameters
Exercise - Creating Tomcat Classes
Solution to Tomcat Exercise
Using init.pp , Defining Dependencies
Managing Configurations
Lab: Modules
Slides: Creating Modular Code

Parameters

Introduction
Code vs Data, Defining Sane Defaults
Params.pp design pattern, Defining Variables
Inheritance to consume properties defined in params
Parameterize Tomcat Configs
Supporting Platform Specific Configs with Params.pp and Switches
Using Facts inside Classes to create flexible configs
Lab: Data Driven Modules - Params and Facts
Slides: Puppet Parameters, Facts and Templates

Templates

Introduction
Why Templates? ERB Syntax
Templatizing Tomcat Configs
Lab: Converting tomcat.conf into a template

Parameterized Classes

Introduction
The need for Parameterised Class
How to write a Parameterised Class
Creating Parameterised Class for Tomcat
Lab: Coverting tomcat class into a parameterised class

Defined Types

Introduction
Defined Types vs Parameterised Classes, when to use what?
Puppetforge, Modules Selection Criteria, HAProxy Loadbalancers
Setting up a Load Balancer with Defined Types
Lab: Defined Types

Deploying a Application

Introduction
Setting up Sysfoo build with CircleCI and GitHub
Wrting a Defined type to Deploy Sysfoo
Selecting and writing Resources to Deploy the App
Making deployment code Idempotent

Environments

Introduction
Creating a dev environment and adding nodes to it
r10k - Automating Code Deployments to Puppet Master
Setting up Control Repo and Puppetfile
Deploying to dev environment with r10k

Using Hiera

Introduction
What is Hiera, an Introduction
Using Hiera to create per environment configurations
Using Hiera for Node Classification, Overriding Properties with Additional Data
Lab: Hiera Lab for Puppet

Puppet Enterprise

Introduction
Install Puppet Enterprise
Adding Nodes to PE
Dynamically Classifying Nodes with Groups
Orchestrating Application Stacks

Roles and Profiles Design Patterns

Introduction
The need for Roles and Profiles
Creating web and lb roles and profiles for tomcat, haproxy

Screenshots

Mastering Puppet the devops way by School of DevOps® - Screenshot_01Mastering Puppet the devops way by School of DevOps® - Screenshot_02Mastering Puppet the devops way by School of DevOps® - Screenshot_03Mastering Puppet the devops way by School of DevOps® - Screenshot_04

Reviews

Gustavo
December 6, 2022
The content of this course seems to be good, but the author seems to have neglected it for the last few years. The end result is that the materials are outdated, have disappeared and no longer work. For instance, it cleverly leverages docker to spin up containers to have the Puppet Master and clients, however it uses Ubuntu 14.04 and CentOS 6.8 for the container images. These are all deprecated and no longer supported. Thus, the examples trying to install packages fail, because the repos are no longer there. There is also resources that are supposed to be hosted in codespaces.io or the like, and they are simply not there. The Codespaces Codebox environment is an interesting coding environment for learning but seems to also not being developed any further. In the end, to be able to follow the examples and materials one might have to figure out how to spin up a lab environment that actually works.
Anderson
March 24, 2022
The course started good but it's very chaotic near to the end. The Puppet version used in the course is outdated as well.
Tesfaye
September 22, 2021
great teacher.....the only comment...change the mouse icon type and pause and explain on some topics instead of assuming
Olexandr
September 13, 2021
Hello, I'm trying to follow along Section 6 to install epel-release, and java-1.7.0.openjdk packages --> but as of now CentOS6 is end of life, and official repository is not available anymore. Therefore it's impossible to follow along course content. Also version of Puppetserver is End-Of-Life also. Is there any chance that this course's content will be updated to actual version of OS and Puppet server? Thank you.
Angel
August 31, 2021
First of all, the version we were talking about was version 4 when we are already on version 7. This brought some problems when executing some commands. I got the impression that the instructor often just did copy + paste and that was it. At some point in the course, I had a problem with Puppet, I wrote to the instructor about it (something that is normal here) and until today I am still waiting for a response.
Kenneth
November 16, 2017
Course could have been a lot better if the instructor edited the videos. It's painful and a bit insulting to watch him mess up and correct. Edit that part out.
Ramakrishnan
November 4, 2017
It's been good learning of Puppet at a very high level so far. Audio is very feeble in few of the video recordings, also I find Mr.Shah being little slow and with lots of pauses in few recordings. Otherwise, it's very good and i like the approach of learning by practising a project.
Andrei
November 2, 2017
The course is very good, up until now I was able to follow along, get the necessary information, learn Puppet (I am a total newbie with this tool). The concepts are explained clearly, you have some examples and you can also try it on your own as they provide an environment build with Docker to try everything out. What I would have liked to see is the installation and config on a couple of virtual machines, the issues that might arise from that and the details. I got quite a few of them when setting my environment up as I used VMs with a master and 3 nodes. Also I want to mention that the instructor is answering questions posted and helping you with the issues. Also the audio quality is not the best. Most of the times is very low, I need to go to 100% of volume and some times it's OK. Anyway, this is not an issue related to the info provided in the course, it's a personal thing.
Farid
October 28, 2017
This course is plain chaotic. Not recommended until the lectures have been reedited and reordered with a more linear explanation. Worst online course I have taken in my life.
Nimika
October 24, 2017
This was the most complete course on Puppet out there in udemy. It covers Heira , profile , roles and Puppet Enterprise 4 console. It would be nice if the instructors adds on how to add roles/profile from Enterprise console. sometimes you get lost when instructor jumps from one window to another and one folder to another and catchup with what files the changes are made. you will need to repeat the previous lesson and note down definitions as you move to future lectures. sometimes i feel instructor was too fast. Overall it is a good course and it can be improved a lot better ... i would say going slow would be a key for first timers to understand better
Mike
October 18, 2017
Step by step with clear explanation. Some lessons without sound, some in wrong order i.e. if quality was increased I would rate it with 5 stars.
Lea
October 8, 2017
I have been using scripts to automate my tasks even before attending this course and was always wondering whats different with these new generation devops automation tools. Gourav nicely explains the Infrastructure as a Code approach that Puppet follows and gives excellent analogies such as contractor vs architect. Now I am clear with these fundamentals and have started implementing some of these concepts in my org. We are already saving good amount of time automating tasks which we were performing manually or with scripts. And yes now I can spend more time with my friends and family :) Thanks for a course which is useful to apply on job !!
Anton
October 7, 2017
excellent course, well explained concepts, with good demonstrations and a practical java based project.
Gautam
October 6, 2017
I have been tasked to automate the application infrastructure in my organisation. I had head about devops but was not sure where to start. I happened to come across School of Devops run by Gourav and landed on this course page on Udemy. Now I am very comfortable with the concepts of Infrastructure as a Code and on my way to master Puppet. I liked this course for the depth at which it covers all the topics including templates, idempotence, convergence, iaac, enterprise puppet, not to mention hiera etc. I am still to complete but am loving this course.
Claudia
October 6, 2017
This course is the most comprehensive training I could find on Udemy. I specially was interested to learn some of the advanced topics such as Hiera, setting up Multiple Environments and creating Data Driven modules. Also the course follows a logical flow with the basics to advanced topics. Overall, it was a great learning experience.

Charts

Price

Mastering Puppet the devops way by School of DevOps® - Price chart

Rating

Mastering Puppet the devops way by School of DevOps® - Ratings chart

Enrollment distribution

Mastering Puppet the devops way by School of DevOps® - Distribution chart
1271898
udemy ID
6/28/2017
course created date
11/20/2019
course indexed date
Bot
course submited by