Puppet Essentials for Beginners
4.0 (1 rating)
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.
41 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Puppet Essentials for Beginners to your Wishlist.

Add to Wishlist

Puppet Essentials for Beginners

Automate your IT infrastructure with ease!
4.0 (1 rating)
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.
41 students enrolled
Created by Packt Publishing
Last updated 5/2017
Current price: $10 Original price: $125 Discount: 92% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 3.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Gain a complete understanding of the Puppet ecosystem and terminologies
  • Write efficient, reusable, and modularized Puppet code.
  • Write extensive tests for the code and run automated builds using Jenkins Integration and Acceptance tests with the use of tools such as Rspec, Serverspec, and Kitchen.
  • Integrate and automate all the various tests in Jenkins
  • Create a pipeline for effective code management
View Curriculum
  • Puppet essentials for beginners is targeted at system administrators, engineers and anyone associated with management of infrastructure services in organizations of any size. The course assumes no prior knowledge of Puppet and builds the foundation of the student starting with in-depth concepts of configuration management and then moving on to Puppet specific details and configuration topics.
  • To fully benefit from the coverage included in this course, you will need:
  • Idea about how a Linux system works and some basic system administration concepts
  • Familiarity with Git and GitHub for source control
  • Basic knowledge about the Jenkins continuous integration tool.
  • This course has the following software requirements:
  • An editor like Atom,
  • Puppet – version 4 and above
  • Linux – CentOS and Ubuntu
  • VirtualBox – latest version

Puppet is a configuration management tool that allows you to automate all your IT configurations, giving you control over what you do to each Puppet agent in a network, and when and how you do it. In this age of digital delivery and ubiquitous Internet presence, it's becoming increasingly important to implement scalable and portable solutions, not only in terms of software but also the systems that run it.

This video course will start by walking the viewer through a complete understanding of the Puppet environment followed by detailed steps to configure their own production-grade Puppet infrastructure. An overview of the Puppet language will also be provided to make viewers feel at ease with the Puppet DSL. Once the viewer is comfortable with the Puppet ecosystem, in-depth topics such as the configuration and management of Puppet servers, environments, module repositories, and modules will follow. Users will then learn how to write reusable modules with Hiera. Towards the end of the video course, viewers will write tests for modules right from the beginning, build an efficient and scalable codebase, and create continuous integration pipelines with CI tools such as Jenkins.

About The Author

Anirban Saha is an infrastructure professional with more than six and half years' experience in infrastructure management at various industries and organizations ranging from early startups to corporate environments. He has worked extensively with configuration management and automation tools including Puppet, Chef, Ansible, Saltstack, and Terraform, to name a few. He has extensive experience in architecting, deploying, and managing large infrastructures. He speaks at various conferences on the latest technologies and is also the author of Salt Cookbook published by Packt.

Who is the target audience?
  • This video course is targeted at absolute beginners in Puppet.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
23 Lectures
Installation and Setup
2 Lectures 16:06
This video provides an overview of the entire title.
Preview 04:45

Installation of the required setup and working environment.
Installing and Setting Up the Working Environment
Puppet Ecosystem, Components, and Terminologies
6 Lectures 41:05
To deal with large infrastructures, manage and deploy them, configuration management has become the industry wide accepted solution. We will look at problems addressed by configuration management and the advantages.
Preview 04:57

Before diving deep into learning a technology, it is important that we make ourselves aware of the unique terminologies of the concerned tool. We learn about the most important components and terminologies of Puppet.
Puppet Components and Terminologies

To learn about how to manage infrastructure with a tool, a deep understanding of the workflow of the tool is extremely necessary. We learn about the relation of the Puppet components with each other and how they work together to achieve a managed infrastructure.

Understanding the Puppet Run Cycle

To get started with a tool, it is essential to be able to obtain the software and know how to install them on the system. We learn about installing the Puppet components and explore the directory structure of Puppet to know what lies where.
Installing the Puppet Components

After obtaining the required tools, the procedure to make the components work with each other is necessary to master. We learn to create basic content on the Puppet server and make the agents get them after successful authentication.
Puppet in Action

To use a running Puppet infrastructure, it is important to be able to add meaningful content to it so that agents are able to get more and more functionalities. We learn about modules and their structure. We also learn to add features to modules to make them applicable to a diverse infrastructure.

Overview of the Puppet Language
Managing Puppet Infrastructure, Modules, and Environments
7 Lectures 01:12:43
While default settings are enough for a small infrastructure, often parameters need to be tweaked to get optimal performance as infrastructures scale. We learn to change parameters to suit our needs and manage certificates on the Puppet server.
Preview 09:42

With an ever growing community, there has been a trend in creating community modules which can be used by users and organizations without having to write new modules themselves. We learn about community modules, where to find them and how to contribute.
Introduction to Community Modules and Puppet Forge

When using community modules or a module with loads of dependent modules or classes, all the dependencies need to be mentioned in the module specifically and need to be present on the system during various phases such as Puppet agent runs or testing. We learn to manage these modules.
Managing Module Dependencies and librarian-puppet

Keeping all modules in a single location has its own disadvantages such as dangers of breaking the module tree when trying to test a new module or a change. Environments can be configured to address this problem. We learn to configure and manage environments.
Managing Environments with r10k

As the functionalities keep getting added to Puppet agent nodes, the list of modules to be included in the node definitions keep increasing. To address this problem and keep node definitions clean and efficient, the concept of roles and profiles is applied.
Understanding roles and Profiles

Writing a module has become a complex process as new features and workflows are added each day. With ever increasing list of directories and files in a module, it is necessary that we know the function of each of them. We learn to create and manage a module.
Writing and Managing a Module

One of the recent attempts to create generic modules includes steps to separate logic and data. Hiera enables users to keep data separated from module logic and reuse modules by just changing Hiera data.
Understanding and Using Hiera
Testing and Code Workflow Management in Puppet
8 Lectures 01:15:06
Although not seen as mandatory or crucial in module development, test driven development should be adopted and followed by all organizations managing infrastructure using Puppet. We get an overview of Puppet module testing.
Preview 03:58

When writing long and complex modules, it is easy to miss characters or keywords here and there and to not be able to follow style guides. Syntax tests make it easy for developers to find out problems in code files and conform to the standard development style guide.
Testing Puppet Syntax with puppet-lint

When writing long and complex modules, it is easy to miss characters or keywords here and there and to not be able to follow style guides. Syntax tests make it easy for developers to find out problems in code files and conform to the standard development style guide.
Writing Unit Tests with rspec-puppet

Once modules are written, it should be tested on a running system and the configured components should be verified before the modules can be pushed to production. The Beaker testing tool helps us to create acceptance tests using Serverspec for Puppet modules.
Writing Tests with Beaker Using Serverspec

To test modules on running systems and verify configured components, there are more than one tool and we have options to choose from. Test-kitchen is another excellent tool which helps us to run acceptance tests using Serverspec.
Writing Tests with test-kitchen Using Serverspec

Being able to publish modules in an automated manner is as important as being able to write and test them. Puppet-blacksmith helps us to create releases and publish modules to Puppet Forge in an automated manner.
Publishing Modules to Puppet Forge with puppet-blacksmith

Being able to run test one by one is fun and easy to do when developing modules. However, to be able to produce production code continuously and efficiently, being able to test the code in an automated fashion is important and can be achieved by a tool such as Jenkins. We learn to use Jenkins to run Puppet test suites.
Configuring and Using Jenkins to Run the Test Suites

After being able to run test suites in Jenkins, controlling the code management workflow is the next important task in the process. Creating a workflow for developers to be able to push new code to production without breaking existing infrastructure is what we will learn here.
Using Jenkins to Create a Code Management Workflow
About the Instructor
Packt Publishing
3.9 Average rating
8,109 Reviews
58,360 Students
686 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.