Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Learning Path: Puppet: The One-Stop Guide to Puppet
Rating: 3.1 out of 5(13 ratings)
131 students

Learning Path: Puppet: The One-Stop Guide to Puppet

Automate your IT infrastructure with the latest techniques in Puppet
Last updated 11/2017
English

What you'll learn

  • Get a complete understanding of the Puppet ecosystem and terminologies
  • Write efficient, reusable, and modularized Puppet code
  • Automate and integrate all the various tests in Jenkins
  • Create a pipeline for effective code management
  • Go through the different methods of reporting with Puppet
  • Build a Nagios-based monitoring using Puppet
  • Deployments and excel methods to harden infrastructure using secure community modules
  • Debug errors in the Puppet environment

Course content

3 sections57 lectures8h 48m total length
  • The Course Overview4:45

    This video provides an overview of the entire title.

  • Installing and Setting Up the Working Environment11:21

    Installation of the required setup and working environment.

  • Configuration Management and How Puppet Fits into the Scenario4:57

    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.

  • Puppet Components and Terminologies4:58

    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.

  • Understanding the Puppet Run Cycle3:48

    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.

  • Installing the Puppet Components6:06

    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.

  • Puppet in Action8:29

    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.

  • Overview of the Puppet Language12:47

    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.

  • Puppet Server in Production and Managing Certificates9:42

    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.

  • Introduction to Community Modules and Puppet Forge7:15

    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.

  • Managing Module Dependencies and librarian-puppet5:21

    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 Environments with r10k14:08

    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.

  • Understanding roles and Profiles10:04

    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. 

  • Writing and Managing a Module12:36

    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.

  • Understanding and Using Hiera13:37

    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.

  • Overview of Module Testing3:58

    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.

  • Testing Puppet Syntax with puppet-lint8:40

    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-puppet16:00

    The methodology of writing tests first and then writing code to fulfill the tests is widely practiced in the industry for almost all programming languages. Puppet development is no exception. Using rspec-puppet, we learn to write unit tests for Puppet modules.

  • Writing Tests with Beaker Using Serverspec9:38

    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 test-kitchen Using Serverspec9:48

    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.

  • Publishing Modules to Puppet Forge with puppet-blacksmith6:15

    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.

  • Configuring and Using Jenkins to Run the Test Suites7:12

    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.

  • Using Jenkins to Create a Code Management Workflow13:35

    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.

  • Puppet essentials for beginners:

Requirements

  • No prior programming or system administration experience is assumed

Description

With the ever increasing challenges of IT infrastructures, the need to automate common activities has become the major requirements in many large organizations. Puppet is one of the most efficient configuration management tool that allows to manage and automate all your IT infrastructure. So, if you looking forward to master the automation techniques of Puppet, then go for this Learning Path.

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

The highlights of this Learning Path are:

  • Integrate and automate all the various tests in Jenkins
  • Secure Puppet deployments and master methods to harden infrastructure

Let's take a quick look at your learning journey. You will start off with a complete understanding of the Puppet environment followed by detailed steps to configure your own Puppet infrastructure. You 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. You will also learn about procedures to secure the Puppet deployments and methods to harden infrastructure using community modules.  You’ll then get to run the Puppet components in Docker containers, using Puppet to create Docker images, and running applications on Docker along with orchestration using Mcollective. Finally, you will learn how to write custom plugins for Puppet such as facts, resource types, providers, and functions.

By the end of this Learning Path, you'll have a solid working knowledge of Puppet and be a confident Puppet user.

Meet Your Expert:

We have the best works of the following esteemed author to ensure that your learning journey is smooth:

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

Who this course is for:

  • This Learning Path is targeted at developers and system administrators who want to automate their IT infrastructure using Puppet.