EIEIOTECHNOVATION
← Training programmes

EIEIO / AUTOMATION & EMERGING TECHNOLOGY

Puppet Introduction Training Course

Course outline

3 days

Duration

3 days

Introduction

Puppet is a software configuration management tool. It runs on Unix-like systems as well as on Microsoft Windows, and includes its own declarative language to describe system configuration. Puppet is produced by Puppet, founded by Luke Kanies in 2005.

Course Objectives

This training course covers practical aspects and usage of Puppet infrastructure automation framework for build/deployment automation. The theoretical knowledge is supplemented by practical demonstrations and hands on exercises.

Prerequisites

The developers, testing and build management people having exposure to scripting on UNIX can attend this training.

The attendees should have knowledge about scripting language like Ruby, JavaScript etc.Having worked with deployment infrastructure management is an added advantage.

Classroom Setup

The Intel core compatible CPU with 8GB RAM and 500GB HDD with Ubuntu 18.04 Linux 64 bit with Mozilla Firefox latest browser, Puppet Enterprise latest with Puppet-Agent, The SCM repository client-server for GIT, Adobe PDF Reader to be installed and configured.

Live internet connection with reasonable speed and download permissions is required to download the dependencies.

The participants must have admin rights on their machines.

Course Outline

This is a tentative training plan

The final day wise course plan will be shared based on the discussions with the training team.

Day1

Software applications management

  • Challenges in the software application deployments and configurations
  • The releases and deployments
  • Testing, updates and installations
  • Manage installations across multiple machines.
  • Repeat the installation and configuration.
  • The user roles and rights.
  • Manage the networks.
  • Automate the deployment and configuration.

DevOps Automation tools

  • Build automation tools overview
  • Project configuration
  • Project deployments
  • Infrastructure management
  • Automate the Infrastructure and deployment process.
  • Role of Configuration Management tool

Configuration management concepts

  • Automatic deployment and configuration process
  • Master controller and Managed Nodes.
  • Provisioning
  • Configuration
  • Orchestration
  • SSH communication.
  • Idempotency in configuration
  • Remote task management
  • Error handling
  • Collect Node information.
  • Node monitoring.
  • Verify the configuration.
  • Manage the configuration across nodes
  • Configuration management tools overview

Puppet Introduction

  • Puppet products overview
  • Puppet Architecture
  • Puppet Enterprise vs. open source puppet.
  • The components of PE Ecosystem
  • Puppet master
  • Puppet agent
  • PE Console
  • Facter
  • PuppetDB
  • Hiera
  • Puppet Forge
  • The programming with Puppet
  • Puppet installation and configuration
  • Declarative and imperative
  • Declarative programming
  • Ruby language DSL
  • Manifests
  • Modules and Classes
  • Resources and Relationships
  • Puppet Resource abstraction layer
  • Puppet catalogues

The Puppet In action

  • Puppet agents
  • Puppet modules
  • Puppet manifest
  • Puppet Resources
  • Puppet Classes and resources.
  • Resource management
  • Resource Relationship
  • Apply basic module testing
  • Control and Manage the remote nodes
  • Provisioning with Puppet

Idempotency with Puppet

  • Gather the system facts
  • Indentify current system state
  • Make the required changes of any
  • Get the same state for repetitive execution

Day2

Manage Remote Tasks

  • Grouping the modules
  • Provisioning on remote nodes.
  • Configuration management on remote nodes.
  • Debug the operations
  • State management
  • Grouping the resources
  • Module auto loading Designed by Verity Software
  • Create role and profile modules
  • The Puppet Console
  • Building more complex configurations
  • Interacting with the Puppet Master using the REST APIs.
  • Execute OS specific commands
  • Control Installation on remote nodes.
  • Starting applications on remote nodes.
  • Getting the feedback from remote nodes.
  • Monitoring of remote nodes.
  • Manage Windows and Linux servers using a common script
  • Puppet task plans
  • Puppet in infrastructure management and provisioning
  • The configuration management and development practices
  • Create and manage baseline with Puppet
  • Define an application stack with Puppet
  • Automated application delivery on a stable platform.
  • Classify test nodes to enforce configuration
  • Collect and analyze results in the Enterprise Console

Manage Weblogic servers

  • The Weblogic server architecture
  • The server configuration
  • The puppet modules for Weblogic
  • Testing and execution of the Weblogic modules.

Puppet under the hood

  • Puppet communication
  • Puppet REST API
  • Puppet execution in client-server mode
  • Local execution with Puppet
  • The Puppet agent run life-cycle

Day3

Sharing with Puppet Forge

  • Shared repository for modules and tasks
  • Import Puppet modules from the Forge
  • Design, build, and extend modules from the Forge
  • Locate, download, wrap, and deploy Puppet modules from the Puppet Forge.
  • Develop best practices for implementing roles and profiles. Designed by Verity Software

Bolt

  • Bolt high level architecture
  • Setup communication in Bolt(SSH and Winrm)
  • Execute ad-hoc tasks with Bolt
  • automate the provisioning and management of nodes
  • start and stop services
  • Reboot remote systems
  • Gather packages and systems facts
  • Manage multiple nodes

Puppet Discovery

  • Browse and discover resources
  • Working with Docker
  • Trial license
  • puppet-discovery executable and tasks
  • Discover every host, package, and container running on the infrastructure.

Programme scope, delivery arrangements and suitability are confirmed during enquiry.