O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mastering Puppet the DevOps way by School of DevOps®

Video Description

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

About This Video

  • This was the most complete course on Puppet out there. It covers Heira, profile, roles and Puppet Enterprise 4 console.

In Detail

Infrastructure as a code is one of the foundations of the 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 with a 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 and so on. 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 you to advance your career, especially for operations, systems, networks and DevOps engineers. It then helps you dive into the world of Puppet by understanding the basics of the languages such as resources/providers, manifests, and modules, and then delves deeper into creating dynamic code with parameters, templates, defined types and so on. 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 and so on. This course takes you from from zero to Puppet Master in two weeks.

Table of Contents

  1. Chapter 1 : Infrastructure as a Code
    1. Introduction 00:00:54
    2. Four Approaches to Manage Infrastructures 00:05:58
    3. Scripts vs IaaC - Procedural vs Declarative Approaches 00:06:29
    4. My Story - How I got started with Puppet 00:04:28
    5. Pull Model Centralized Configuration Management 00:04:30
    6. Convergence and Idempotence 00:03:31
    7. Code vs Data - Creating Dynamic Configurations 00:02:53
    8. Iterative Approach, Who is Puppet for, What it is not 00:06:23
    9. Is IaaC only about Puppet/Chef? Going beyond the configuration management 00:01:49
  2. Chapter 2 : Path to Automation with Puppet
    1. Introduction 00:00:41
    2. Path to Automation with Puppet 00:09:01
    3. Training Approach 00:04:35
  3. Chapter 3 : Environment Setup
    1. Environment Setup - Section Intro 00:01:29
    2. Codespaces Introduction 00:07:42
    3. Using Codespaces 00:05:24
    4. Puppet Master Agent Setup 00:10:40
    5. Regenerating Certs 00:06:09
    6. Project Intro 00:01:52
  4. Chapter 4 : Manifests
    1. Introduction 00:00:48
    2. Resource DSL 00:06:45
    3. Writing our first Manifest 00:07:26
    4. Applying Puppet Manifest Locally 00:06:01
    5. Idempotence and Convergence 00:03:44
    6. Solution to Exercise 00:07:26
    7. Execute Resource and Idempotence 00:05:46
  5. Chapter 5 : Modules
    1. Introduction 00:01:03
    2. Anatomy of a Module and Modulepath Configurations 00:09:28
    3. Generating Modules 00:07:12
    4. Classes, Naming Convention and Strategies 00:07:58
    5. Creating java::install class, Classifying Node with Node Definitions 00:08:48
    6. Using Default Block, Adding Checkpoints with Notify Resource, Classification 00:08:28
    7. Ordering, Notifications and Meta Parameters 00:11:26
    8. Exercise - Creating Tomcat Classes 00:02:54
    9. Solution to Tomcat Exercise 00:07:24
    10. Using init.pp, Defining Dependencies 00:04:44
    11. Managing Configurations 00:10:56
  6. Chapter 6 : Parameters
    1. Introduction 00:01:20
    2. Code vs Data, Defining Sane Defaults 00:05:04
    3. Params.pp design pattern, Defining Variables 00:09:34
    4. Inheritance to consume properties defined in params 00:04:57
    5. Parameterize Tomcat Configs 00:08:38
    6. Supporting Platform Specific Configs with Params.pp and Switches 00:10:06
    7. Using Facts inside Classes to create flexible configs 00:11:22
  7. Chapter 7 : Templates
    1. Introduction 00:01:16
    2. Why Templates? ERB Syntax 00:07:26
    3. Templatizing Tomcat Configs 00:11:12
  8. Chapter 8 : Parameterized Classes
    1. Introduction 00:00:40
    2. The need for Parameterized Class 00:07:27
    3. How to write a Parameterized Class 00:06:16
    4. Creating Parameterized Class for Tomcat 00:09:17
  9. Chapter 9 : Defined Types
    1. Introduction 00:00:47
    2. Defined Types vs Parameterised Classes, when to use what? 00:04:47
    3. Puppetforge, Modules Selection Criteria, HAProxy Loadbalancers 00:08:34
    4. Setting up a Load Balancer with Defined Types 00:12:18
  10. Chapter 10 : Deploying an Application
    1. Introduction 00:01:15
    2. Setting up Sysfoo build with CircleCI and GitHub 00:11:33
    3. Writing a Defined type to Deploy Sysfoo 00:09:16
    4. Selecting and writing Resources to deploy the App 00:08:24
    5. Making deployment code Idempotent 00:07:03
  11. Chapter 11 : Environments
    1. Introduction 00:01:12
    2. Creating a dev environment and addin0067 nodes to it 00:08:04
    3. r10k - Automating Code Deployments to Puppet Master 00:06:12
    4. Setting up Control Repo and Puppetfile 00:16:13
    5. Deploying Dev Environment with r10k 00:06:13
  12. Chapter 12 : Hiera
    1. Introduction 00:00:56
    2. What is Hiera, an Introduction? 00:04:44
    3. Using Hiera to create per environment configurations 00:12:55
    4. Using Hiera for Node Classification, Overriding Properties with Additional Data 00:08:15
  13. Chapter 13 : Puppet Enterprise
    1. Introduction 00:01:33
    2. Install Puppet Enterprise 00:06:42
    3. Adding Nodes to PE 00:08:05
    4. Dynamically Classifying Nodes with Groups 00:08:39
    5. Orchestrating Application Stacks 00:09:29
  14. Chapter 14 : Roles and Profiles Design Pattern
    1. Introduction 00:01:38
    2. The need for Roles and Profiles 00:07:32
    3. Creating web abd lb roles and profiles for tomcat, haproxy 00:11:51