SlideShare a Scribd company logo
Puppet Fundamentals
Hameedullah Khan
Topics Covered
• Introduction to Puppet
• What is Puppet?
• Configuration Management Tools
• DevOps Tools Chains
• Puppet Fundamentals
• Node Calssification
• The Catalog
• Resource Types
• Resource Abstraction Layer
• Classes and Defined Types
• Modules
• Templates and Static Files
• Puppet Modules
• Use modules from Puppet forge
• Build your own module
What is Puppet?
• Open Source Configuration Management Tool
• On going management of servers
• Declarative Language Allows to define what needs to
be managed on an Operating System
• Works on all major platforms (Linux, Unix, MacOS,
Windows)
• Puppet Enterprise with better reporting and
management features + official support.
Configuration Management
Tools
• Puppet, Ansible, Chef, SaltStack, ChefEngine
• Automation
• Reproducibility
• Scale
• Aligned Environments
• Infrastructure as a Code
• History of changes on Infrastructure
DevOps Tools Chains
• DevOps is about culture, processes, people and tools.
• Where does Puppet fits in the typical DevOps tools chain?
• SCM
• Repository and Software Management
• Software Builds
• Configuration Management (Puppet)
• Testing, Monitoring (Puppet reporting)
• Cloud (AWS, Rackspace, Openstack, Google Cloud)
• Containerization and Virtualization (Puppet can build docker images)
• Databases
• Application Servers
Node Classification
• To identify nodes and then compile catalog for
them.
• Typical node classification includes, classes,
parameters, environment.
• Puppet Code, hiera_include, External Node
Classifier.
The Catalog
• List of resources along with their relationships
(dependencies, subscriptions)
• Json Format
• Client sends facts, Master compiles the catalog,
client applies the catalog.
• Client uses RAL to execute operating system level
commands.
Puppet Resource
• Resource is a single unit of configuration.
• Every resource has a resource type associated.
• Resource declaration includes: type, title, attribute/argument.
file {‘/tmp/devopsdubai.txt’:
ensure => file
}
• Namevars
• References:
• puppet describe file
• puppet describe --list
Resource Abstraction Layer
• Resources are abstracted
• Types and Providers
• Type specifies the attributes of resources
• Providers implements resources on the underlying
operating system.
• puppet resource user
• puppet resource user root
Classes and Defined Types
• Classes are combination of resources
• Class parameters
• Include or Declare?
• Defined resource Types
• Similar to Classes
• Can be declared multiple times with different titles.
• Can be declared only.
Modules
• Puppet Code is written in files called manifests.
• Modules are distributable puppet classes/manifests.
• Modules stored on modulepath are only visible to
puppet command.
• Pre Defined Directory structure required for
autoloading of classes.
Templates and Static
Files
• ERB templates
• Loops, conditionals and variables are available.
• Static files can’t be changed by Puppet Code.
• Deployed on system as it is without any
interpolation.
Puppet Forge
• Repository for puppet modules
• Managed by PuppetLabs
• Supported/Approved Modules
• puppet module search
• puppet module install
• puppet module upgrade
Build your own Module
• puppet module generate
• metadata.json
• init.pp
• templates
• files
• puppet module build
Thank you!
twitter.com/hameedullah
hameed@sudo.co.ae

More Related Content

PPS
A Presentation about Puppet that I've made at the OSSPAC conference
PDF
Using Puppet in Small Infrastructures
PDF
Intro to-puppet
PPTX
Jenkins shared librar
PDF
JavaScript
PDF
How Symfony Changed My Life
PDF
Deploying distributed software services to the cloud without breaking a sweat
PDF
Puppet Development Workflow
A Presentation about Puppet that I've made at the OSSPAC conference
Using Puppet in Small Infrastructures
Intro to-puppet
Jenkins shared librar
JavaScript
How Symfony Changed My Life
Deploying distributed software services to the cloud without breaking a sweat
Puppet Development Workflow

What's hot (20)

PDF
Coffeescript
PDF
Ruby projects of interest for DevOps
PDF
What is Chef and how we use it at tripsta
PDF
High Quality Symfony Bundles tutorial - Dutch PHP Conference 2014
PDF
Culerity - Headless full stack testing for JavaScript
KEY
Actors and Threads
PDF
Superb Supervision of Short-lived Servers with Sensu
PPT
Chef, Devops, and You
KEY
Cooking with Chef
PDF
Chef conf-2014
PDF
Toplog candy elves - HOCM Talk
PDF
Writing Bullet-Proof Javascript: By Using CoffeeScript
PPTX
Ruby, the language of devops
PDF
Great Tools Heavily Used In Japan, You Don't Know.
PDF
CoffeeScript Design Patterns
PDF
Getting started with Puppet
ODP
Introduction to Chef
PDF
Online game server on Akka.NET (NDC2016)
PDF
Ansible and AWS
PDF
Coffeescript
Ruby projects of interest for DevOps
What is Chef and how we use it at tripsta
High Quality Symfony Bundles tutorial - Dutch PHP Conference 2014
Culerity - Headless full stack testing for JavaScript
Actors and Threads
Superb Supervision of Short-lived Servers with Sensu
Chef, Devops, and You
Cooking with Chef
Chef conf-2014
Toplog candy elves - HOCM Talk
Writing Bullet-Proof Javascript: By Using CoffeeScript
Ruby, the language of devops
Great Tools Heavily Used In Japan, You Don't Know.
CoffeeScript Design Patterns
Getting started with Puppet
Introduction to Chef
Online game server on Akka.NET (NDC2016)
Ansible and AWS
Ad

Viewers also liked (18)

PDF
2015 Internet Trends Report
PDF
2017 iosco research report on financial technologies (fintech)
PDF
Web engineering notes unit 3
PPTX
Comparing 30 MongoDB operations with Oracle SQL statements
PDF
Puppet for SysAdmins
KEY
Puppet for dummies - ZendCon 2011 Edition
PDF
Vertical Booking CRS Overview 2017
PDF
Managing Windows Systems with Puppet - PuppetConf 2013
PDF
Introduction to puppet
PDF
3P Learning (3PL) - Earning from Learning - equity research initiation report
PPTX
Tugas 4 0317-imelda felicia-1412510545
PPTX
Gs08 modernize your data platform with sql technologies wash dc
PDF
MongoDB NoSQL database a deep dive -MyWhitePaper
PDF
Tracxn Research - Mobile Advertising Landscape, February 2017
PPTX
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
PPTX
Webinar: Fighting Fraud with Graph Databases
PDF
IBM Storage for Analytics, Cognitive and Cloud
PPT
Puppet
2015 Internet Trends Report
2017 iosco research report on financial technologies (fintech)
Web engineering notes unit 3
Comparing 30 MongoDB operations with Oracle SQL statements
Puppet for SysAdmins
Puppet for dummies - ZendCon 2011 Edition
Vertical Booking CRS Overview 2017
Managing Windows Systems with Puppet - PuppetConf 2013
Introduction to puppet
3P Learning (3PL) - Earning from Learning - equity research initiation report
Tugas 4 0317-imelda felicia-1412510545
Gs08 modernize your data platform with sql technologies wash dc
MongoDB NoSQL database a deep dive -MyWhitePaper
Tracxn Research - Mobile Advertising Landscape, February 2017
Introducing NoSQL and MongoDB to complement Relational Databases (AMIS SIG 14...
Webinar: Fighting Fraud with Graph Databases
IBM Storage for Analytics, Cognitive and Cloud
Puppet
Ad

Similar to Puppet Fundamentals Talk at DevOps Dubai by Hameedullah Khan (20)

PDF
Puppet - The IT automation software
PPTX
Introduction to Monsoon PHP framework
PDF
Open Source SQL Databases
PPTX
Automation using Puppet 3
PPTX
DevOps and Chef and puppet presentation.pptx
PDF
Puppet: From 0 to 100 in 30 minutes
PPTX
Laravel ppt
ODP
If You Have The Content, Then Apache Has The Technology!
PDF
CNIT 152: 13 Investigating Mac OS X Systems
PDF
Let's Build an Inverted Index: Introduction to Apache Lucene/Solr
PDF
8. Software Development Security
PDF
Introduction to Cooking with Chef
PDF
PuppetConf 2017: Custom Types & Providers: Modeling Modern REST Interfaces an...
PDF
Apereo OAE - Bootcamp
PDF
CISSP Prep: Ch 9. Software Development Security
PDF
8. Software Development Security
PDF
CNIT 121: 13 Investigating Mac OS X Systems
PDF
Elasticsearch Introduction at BigData meetup
PPTX
Introduction to Ansible - Jan 28 - Austin MeetUp
PDF
Ex200 objectives
Puppet - The IT automation software
Introduction to Monsoon PHP framework
Open Source SQL Databases
Automation using Puppet 3
DevOps and Chef and puppet presentation.pptx
Puppet: From 0 to 100 in 30 minutes
Laravel ppt
If You Have The Content, Then Apache Has The Technology!
CNIT 152: 13 Investigating Mac OS X Systems
Let's Build an Inverted Index: Introduction to Apache Lucene/Solr
8. Software Development Security
Introduction to Cooking with Chef
PuppetConf 2017: Custom Types & Providers: Modeling Modern REST Interfaces an...
Apereo OAE - Bootcamp
CISSP Prep: Ch 9. Software Development Security
8. Software Development Security
CNIT 121: 13 Investigating Mac OS X Systems
Elasticsearch Introduction at BigData meetup
Introduction to Ansible - Jan 28 - Austin MeetUp
Ex200 objectives

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Electronic commerce courselecture one. Pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Chapter 3 Spatial Domain Image Processing.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Spectral efficient network and resource selection model in 5G networks
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Electronic commerce courselecture one. Pdf
cuic standard and advanced reporting.pdf
Network Security Unit 5.pdf for BCA BBA.
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Building Integrated photovoltaic BIPV_UPV.pdf
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
MYSQL Presentation for SQL database connectivity
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Review of recent advances in non-invasive hemoglobin estimation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Puppet Fundamentals Talk at DevOps Dubai by Hameedullah Khan

  • 2. Topics Covered • Introduction to Puppet • What is Puppet? • Configuration Management Tools • DevOps Tools Chains • Puppet Fundamentals • Node Calssification • The Catalog • Resource Types • Resource Abstraction Layer • Classes and Defined Types • Modules • Templates and Static Files • Puppet Modules • Use modules from Puppet forge • Build your own module
  • 3. What is Puppet? • Open Source Configuration Management Tool • On going management of servers • Declarative Language Allows to define what needs to be managed on an Operating System • Works on all major platforms (Linux, Unix, MacOS, Windows) • Puppet Enterprise with better reporting and management features + official support.
  • 4. Configuration Management Tools • Puppet, Ansible, Chef, SaltStack, ChefEngine • Automation • Reproducibility • Scale • Aligned Environments • Infrastructure as a Code • History of changes on Infrastructure
  • 5. DevOps Tools Chains • DevOps is about culture, processes, people and tools. • Where does Puppet fits in the typical DevOps tools chain? • SCM • Repository and Software Management • Software Builds • Configuration Management (Puppet) • Testing, Monitoring (Puppet reporting) • Cloud (AWS, Rackspace, Openstack, Google Cloud) • Containerization and Virtualization (Puppet can build docker images) • Databases • Application Servers
  • 6. Node Classification • To identify nodes and then compile catalog for them. • Typical node classification includes, classes, parameters, environment. • Puppet Code, hiera_include, External Node Classifier.
  • 7. The Catalog • List of resources along with their relationships (dependencies, subscriptions) • Json Format • Client sends facts, Master compiles the catalog, client applies the catalog. • Client uses RAL to execute operating system level commands.
  • 8. Puppet Resource • Resource is a single unit of configuration. • Every resource has a resource type associated. • Resource declaration includes: type, title, attribute/argument. file {‘/tmp/devopsdubai.txt’: ensure => file } • Namevars • References: • puppet describe file • puppet describe --list
  • 9. Resource Abstraction Layer • Resources are abstracted • Types and Providers • Type specifies the attributes of resources • Providers implements resources on the underlying operating system. • puppet resource user • puppet resource user root
  • 10. Classes and Defined Types • Classes are combination of resources • Class parameters • Include or Declare? • Defined resource Types • Similar to Classes • Can be declared multiple times with different titles. • Can be declared only.
  • 11. Modules • Puppet Code is written in files called manifests. • Modules are distributable puppet classes/manifests. • Modules stored on modulepath are only visible to puppet command. • Pre Defined Directory structure required for autoloading of classes.
  • 12. Templates and Static Files • ERB templates • Loops, conditionals and variables are available. • Static files can’t be changed by Puppet Code. • Deployed on system as it is without any interpolation.
  • 13. Puppet Forge • Repository for puppet modules • Managed by PuppetLabs • Supported/Approved Modules • puppet module search • puppet module install • puppet module upgrade
  • 14. Build your own Module • puppet module generate • metadata.json • init.pp • templates • files • puppet module build