SlideShare a Scribd company logo
An introduction to configuration
management with Puppet
Rudy Gevaert
About me
GNU/Linux sysadmin
Post- and Puppetmaster at Ghent
University
Doing ICT for development
projects in Ethiopia and Cuba
http://webworm.org
@rgevaert
Rudy.Gevaert@UGent.be
Today’s presentation. . .
From the past to the present
Config management?
Puppet components
Puppet language
Demonstration
From the past . . .
. . . to the present
. . . and the future
The future is already here — it’s just not very evenly distributed.
(William Gibson)
Downloads of Puppet forge modules October 20121
1
https://puppetlabs.com/blog/mapping-the-puppet-forge
Problem of the system administrator
How to manage:
Problem of the system administrator
How to manage:
Multiple applications
Different stacks
1000 servers (and more!)
More problems: from a developers perspective
Before:
Monolithic application
Development on the server
Sole developer
Long time to market software
More problems: from a developers perspective
Before:
Monolithic application
Development on the server
Sole developer
Long time to market software
Now:
Distributed application
Set up local dev environment
Multiple teams
Short time to market
More problems: from a developers perspective
Before:
Monolithic application
Development on the server
Sole developer
Long time to market software
Now:
Distributed application
Set up local dev environment
Multiple teams
Short time to market
How do you build a local development environment that is similar to
production?
More problems: from a developers perspective
Before:
Monolithic application
Development on the server
Sole developer
Long time to market software
Now:
Distributed application
Set up local dev environment
Multiple teams
Short time to market
How do you build a local development environment that is similar to
production?
=⇒ Puppet
What is configuration management?
Is a method to automatically and centrally manage:
the packages,
configuration files
process state
firewall rules
and other settings
to do their assigned job
Without config mgt? Manually or handwritten scripts
Configuration Management
It’s also about making changes to the system in an organized way so
your servers and modified deliberately and correctly while accounting
for relationships between system components
Why you need automated configuration
management?
Not automating config mgt causes pain!
Manual errors, custom scripts can be fragile, custom scripts aren’t
accessible to everyone, you can’t scale
Configuration management eliminates manual work, and creates
dependability and predictability
Why you need automated configuration
management?
Another problem with the manual-change and script-based approach
is the lack of a single source of truth.
Automation makes you productive; lets the people who are
dependent on you be more productive; and gives you the time to up
level your job and your skills.
Spend less time on manual configuration and putting out the
inevitable fires
Who benefits
Everyone benefits from automated configuration management!
Sysadmins get:
visibility into the state of the overall system, and each
component of it
faster identification of problems, and faster remediation
efficiency in performing regular maintenance
documentation, so fixes and updates can be referenced and
repeated an end to 3:00 am emergency calls
Who benefits
Quality assurance and test engineers get:
the confidence that they’re testing code in an environment
that’s identical to where the code was created and where it will
finally run
Who benefits
IT managers get:
visibility into what the IT team is doing: maintenance,
remediation, provisioning
faster time to recovery, so greater satisfaction for internal and
external customers more efficient, predictable operations
better ability to plan
better ability to report to other teams in the company
Who benefits
The entire company gets:
more stable and dependable systems and software to work on
faster service from IT when things need to be installed or fixed
the ability to expand IT services while containing costs
the confidence to make changes more quickly and learn from
market response
Customers (the people who pay us!) get:
better products, better services, faster innovation and better
response to their needs
The typical life cycle of a server
⇒ ⇒
The typical life cycle of a server
⇒ ⇒
Installation and
bootstrap
Configure applications Administer system
The typical life cycle of a server
⇒ ⇒
Installation and
bootstrap
Configure applications Administer system
Automatic install
with net boot or
VM image
Puppet Puppet
Puppet
Configuration management software developed by Puppetlabs
http://www.puppetlabs.com
Free Software version and Proprietary version (Puppet
Enterprise)
Supports: GNU/Linux, Windows, Solaris
Competition: Cfeninge, Chef, Ansible, Saltstack
Terminology
catalog
modules
nodes
class
manifests
resource
Components of Puppet
Facter
Puppet master
Puppet agent
PuppetDB
Hiera
Puppet Forge
Puppet Domain Specific Language (DSL)
Architecture
Architecture
Defining State, idempotent
Puppet DSL
Managing packages
package {
’openssh’:
ensure => present;
}
package {
’vim’:
ensure => absent;
}
Puppet DSL
Managing services
service {
’apache2’:
ensure => running;
}
Puppet DSL
Managing files
file {
’/etc/motd’:
ensure => present,
mode => ’0600’,
owner => ’root’,
group => ’root’,
source => ’puppet:///modules/motd/motd’;
}
Puppet DSL: resource types
augeas
computer
cron
exec
file
filebucket
group
host
interface
k5login
macauthorization
mailalias
maillist
mcx
mount
nagios_command
nagios_contact
nagios_contactgroup
nagios_host
nagios_hostdependency
nagios_hostescalation
nagios_hostextinfo
nagios_hostgroup
nagios_service
nagios_servicedependency
nagios_serviceescalation
nagios_serviceextinfo
nagios_servicegroup
nagios_timeperiod
notify
package
resources
router
schedule
scheduled_task
selboolean
selmodule
service
ssh_authorized_key
sshkey
stage
tidy
user
vlan
yumrepo
zfs
zone
zpool
Puppet DSL
Managing a node
node ’www.domain.com’ {
include apache
include mysql
}
Verifying style
puppet-lint and meta-data-json-lint
How the get started
https://puppetlabs.com/download-learning-vm
https://puppetlabs.com/resources/books
http://ask.puppetlabs.com/questions/
https://docs.puppetlabs.com/puppet/
Demonstration
Thank you for your attention.
Questions?
Pictures...
www.theluxuryspot.com/wp-content/uploads/2013/05/Fashion-pug.jpg
plyojump.com/classes/images/computer_history/ibm_360_color.jpg
www.cse.unsw.edu.au/opencms/export/sites/cse/.content/images/
feature_boxes_750x400/server_room.jpg_687647283.jpg www.alvantia.
es/blog/wp-content/uploads/2015/02/cloud-computing.jpg
www.linuxplanet.org/blogs/?cat=177
www.rcesecurity.com/wp-content/uploads/2014/08/tux-egg.jpeg
www.greatleadersserve.com/wp-content/uploads/2012/08/iStock_
000020378687XSmall.jpg https://pensarlaescuela.files.wordpress.com/
2015/03/persona-en-rueda-de-entrenamiento.jpg
doc.ubuntu-fr.org/_media/administration/puppet.png https://docs.
puppetlabs.com/pe/latest/images/puppet/pe-configuration-data.png
https://docs.puppetlabs.com/learning/images/manifest_to_defined_
state_split.png

More Related Content

PDF
Puppet automated config_mgmt
PPTX
DevOps for vSphere Admins
PPT
Continuous Integration
PDF
Managing software projects & teams effectively
PPT
Adv Disadv
PPTX
The Most Underutilized Configuration Management Features
PPT
Scrum
PPT
Requirements Tool
Puppet automated config_mgmt
DevOps for vSphere Admins
Continuous Integration
Managing software projects & teams effectively
Adv Disadv
The Most Underutilized Configuration Management Features
Scrum
Requirements Tool

What's hot (12)

PDF
The Importance of Software Development
PPT
Informative Slides
PDF
Agileand saas davepatterson_armandofox_050813webinar
PPTX
Database change deployments: Performance matters
PDF
Software Process... the good parts
PDF
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
PPT
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
PDF
Bluemix application monitoring
PDF
Software Process Model
PDF
Rocket software brochure
The Importance of Software Development
Informative Slides
Agileand saas davepatterson_armandofox_050813webinar
Database change deployments: Performance matters
Software Process... the good parts
Magenic-White-Paper-Continuous-Inegration-for-QA-Teams
Streamlining EMC Documentum Web Publisher to Increase Web Author Productivity
Bluemix application monitoring
Software Process Model
Rocket software brochure
Ad

Viewers also liked (20)

PPTX
Azure handsonlab
PDF
SCALE12X: Chef for OpenStack
PPTX
Puppet - Automagically Manage your Configuration
PDF
Atlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
PDF
Introducing Ansible
PDF
Package Management and Chef - ChefConf 2015
PDF
Introduction to Puppet and Usage In Cloud
PDF
Cobbler, Func and Puppet: Tools for Large Scale Environments
PDF
Puppet | Custom Modules & Using the Forge
PPS
A Presentation about Puppet that I've made at the OSSPAC conference
PDF
Nike popup compliance workshop
PDF
Ansible + Drupal: A Fortuitous DevOps Match
PPTX
Opscode Webinar: Managing Your VMware Infrastructure with Chef
PDF
Getting Started with Puppet - PuppetConf 2013
PDF
#nwxtech9 Rudy Baer et Kevin Vézier - Ansible, l’outil du sysadmin paresseux ...
PPTX
Test-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpec
PDF
How Ansible Makes Automation Easy
PDF
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
PDF
Chef Fundamentals Training Series Module 2: Workstation Setup
PDF
Ansible Introduction
Azure handsonlab
SCALE12X: Chef for OpenStack
Puppet - Automagically Manage your Configuration
Atlanta OpenStack 2014 Chef for OpenStack Deployment Workshop
Introducing Ansible
Package Management and Chef - ChefConf 2015
Introduction to Puppet and Usage In Cloud
Cobbler, Func and Puppet: Tools for Large Scale Environments
Puppet | Custom Modules & Using the Forge
A Presentation about Puppet that I've made at the OSSPAC conference
Nike popup compliance workshop
Ansible + Drupal: A Fortuitous DevOps Match
Opscode Webinar: Managing Your VMware Infrastructure with Chef
Getting Started with Puppet - PuppetConf 2013
#nwxtech9 Rudy Baer et Kevin Vézier - Ansible, l’outil du sysadmin paresseux ...
Test-Driven Infrastructure with Puppet, Test Kitchen, Serverspec and RSpec
How Ansible Makes Automation Easy
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 2: Workstation Setup
Ansible Introduction
Ad

Similar to Presentation (20)

DOCX
12th CBSE Computer Science Project
DOCX
College Management System project
PPTX
DevOps explained
PPTX
Automating it management with Puppet + ServiceNow
PPTX
Automation, Audits, and Apps Tour
PPTX
DevOps and Build Automation
PDF
Agile and continuous delivery – How IBM Watson Workspace is built
DOCX
Hostel Management system Report
PPT
[uengine.org] (kor) uEngine BPM Product Intro
DOC
Brilient login system
DOC
PratheshBV_Resume
PDF
App Migration Services for Modern Businesses
PPTX
Flexible Custom Workflows for Banner ERP and the Campus
PPTX
DevOps Presentation.pptx
PDF
Andy singleton continuous delivery-fcb - nov 2014
PPT
01lifecycles
PDF
Cloud BPM Tools Comparison for Managers
PPTX
Puppet plugin for vRealize Automation (vRA)
PPTX
4 Best Practices for Patch Management in Education IT
12th CBSE Computer Science Project
College Management System project
DevOps explained
Automating it management with Puppet + ServiceNow
Automation, Audits, and Apps Tour
DevOps and Build Automation
Agile and continuous delivery – How IBM Watson Workspace is built
Hostel Management system Report
[uengine.org] (kor) uEngine BPM Product Intro
Brilient login system
PratheshBV_Resume
App Migration Services for Modern Businesses
Flexible Custom Workflows for Banner ERP and the Campus
DevOps Presentation.pptx
Andy singleton continuous delivery-fcb - nov 2014
01lifecycles
Cloud BPM Tools Comparison for Managers
Puppet plugin for vRealize Automation (vRA)
4 Best Practices for Patch Management in Education IT

Presentation