SlideShare a Scribd company logo
1 of 28
Download to read offline
© 2009 VMware Inc. All rights reserved
Puppet Primer
Robbie Jerrom – Solution Architect VMware
Twitter- @robbiej
Disclaimer
The material in the presentation is based from my exploration and
learning of puppet.
My views are my own and not necessarily shared by PuppetLabs or
VMware.
2 Confidential
About me..
I’m a Solution Architect at VMware.
Ex- IBM where I did many things.. The most relevant to this presentation
is running the WebSphere build team for 2 years..
.. And it hurt.. Every version of AIX / Solaris / Windows & Early Linux
environments.. All from a single build environment .. Distributed around
the globe.
I wish Puppet had existed back then !
3 Confidential
Software Eats the World..
“Puppet Labs Secures $30 Million
Investment From VMware”
4 Confidential
5
So what is Puppet.. And why would I care ?
Old school software deployment..
• Production
• Dev / Test
• Service Support
• Many of the challenges are the same and our solutions very similar..
 Scripts… lots and lots of them..
- Perl / PowerShell / Bash / SH / Make / Awk
- Whatever your particular poison was you or your team created scripts to make
things easier.
- Then you left.. Or got promoted.. And the next guy did the same.. Probably in
their favourite scripting language.
6 Confidential
Result… script hell..
Growing complexity..
Inherited ‘mess’, undocumented and unmanageable.
7 Confidential
As a concept.. A script is ‘how to do something’
Scripts of any variety typically fall into describing how to perform a
task.
• Copy file a to location b
 If that fails log an error and stop.
• Compile file a found in location b
 If that fails log an error and stop
• Start Application server
 Call deploy script for myapplication found in location b.
And they usually spawn more scripts !
8 Confidential
A new way..
Puppet takes a different approach..
Puppet is a state machine, it takes a declarative
approach to configuration management.
You tell puppet ‘what’ and it works out the ‘how’.
With Puppet you are providing a definition of what it means to be:
• A Webserver
• An Application server
• A Proxy server
9 Confidential
Puppet Operating Layers
10 Confidential
Deployment
Configuration & Resource Abstraction
Transactional Layer
Deployment Layer
Client Server Architecture
11 Confidential
Node Node Node
Node
Node
Node
(Puppet) Master
Configuration & Resource Abstraction Layer
Much more on this shortly..
12 Confidential
Configuration & Resource Abstraction
Modules Classes Packages Files ServicesResources
Transaction Layer
To complete the picture..
14 Confidential
Puppet Enterprise
Everything to Puppet is a resource
15 Confidential
[root@puppet ~]# puppet resource user robbie
user { 'robbie':
ensure => 'present',
comment => 'Robbie',
gid => '500',
groups => ['sudoers'],
home => '/home/robbie',
password => '$1$W3RSF$sQhH9VeK1f5IwR.TNCj8y1',
password_max_age => '99999',
password_min_age => '0',
shell => '/bin/bash',
uid => '500',
}
Doing something in Puppet..
Simple example – Single machine not client server.
16 Confidential
Doing something in Puppet..
A puppet managed environment consists of a number of core files.
• site.pp - starting point for Puppet default configurations.
• node.pp – file host descriptions.
• modules - collection of .pp files to define your environment.
17 Confidential
site.pp
import "templates.pp"
import "node.pp"
# global defaults
Package {
provider => $operatingsystem ? {
debian => aptitude,
redhat => up2date }
}
18 Confidential
include vim
node basenode
{service {“telnet":ensure => "stopped", }}
node ‘proxy.example.com’ inherits basenode
{ include proxy }
node /^wwwd+.example.com/ inherits basenode
{ include webserver }
node /^appd+.example.com/ inherits basenode
{ include appserver
package {‘vim’ : ensure => present }}
node basenode
{
service {“telnet":ensure => "stopped", }
}
node.pp
19 Confidential
node ‘proxy.example.com’ inherits basenode
{ include proxy }
node /^wwwd+.example.com/ inherits basenode
{ include webserver }
Regex to include :
www1.example.com
www2.example.com
…. etc.
node /^appd+.example.com inherits basenode
{ include appserver
package {‘vim’ : ensure => present }}
Regex to include :
app1.example.com
app2.example.com
…. etc.
Package/File/Service
file – Manage Local Files
• ensure { present, absent, file, directory, link }
• source
• Content
• purge
package – Package management
• ensure {present, latest, version, absent, purged }
• Name
• source
20 Confidential
Package/File/Service
service – System services management
• ensure {running, stopped}
• enable {true, false}
• hasrestart {true,false}
Notify – log a message
• message {“hello world!”}
21 Confidential
Simple Puppet Example – Part of SSH Module
22 Confidential
package { ssh:
ensure => latest,
}
file { /etc/ssh/sshd_config:
source => puppet:///modules/ssh/sshd_config,
require => Package[ssh],
notify => Service[sshd],
}
service { sshd:
ensure => running,
subscribe => Package[ssh],
}
Modules
23 Confidential
Apply to a node..
Lets make a webserver then an app server.
24 Confidential
The new platform scenario
Puppet makes things far quicker..
1. Add the new node..
• And any variations or missing configurations will be reported.
• Factor will pull the new platform specifics and report up to puppetmaster.
• Puppet will deploy & configure software as per the node policy.
2. Update App Specific Manifests & Configs if new platform.
3. Done !
25 Confidential
Things I’ve learnt..
SSL Cert’s are a pain anytime and place.
• The Puppet Labs site has some great guides on configuration and
management of these but I still spent a reasonable amount of time fighting with
them.
• Make sure DNS is working .. See above.. If your hostnames don’t match certs
get upset – For local testing /etc/hosts might be easier.
• Start small.. SSH / Tomcat are great little examples.. WebSphere or JBoss not
so much. Apache is a good learning exercise.
• MS Windows adds complexity, consider each windows version a completely
different platform. Some services provided by puppet do not work on Windows
yet.
26 Confidential
Final words.. Questions ?
VMware & PuppetLabs.. working together on some ‘cool stuff’.
Right now vCloud Automation Centre & AppDirector products can
take advantage of Puppet.
If you’re a VMware person, its worth becoming a Puppet person too.
27 Confidential
Thanks for listening..
Special thanks to the guys at PuppetLabs; Reid & Chris for
technical support, t-shirts, stickers and books.
28 Confidential

More Related Content

What's hot

Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...Sharon James
 
Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSharon James
 
Become a MySQL DBA - slides: Deciding on a relevant backup solution
Become a MySQL DBA - slides: Deciding on a relevant backup solutionBecome a MySQL DBA - slides: Deciding on a relevant backup solution
Become a MySQL DBA - slides: Deciding on a relevant backup solutionSeveralnines
 
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0lisanl
 
The Pensions Trust - VM Backup Experiences
The Pensions Trust - VM Backup ExperiencesThe Pensions Trust - VM Backup Experiences
The Pensions Trust - VM Backup Experiencesglbsolutions
 
Become a MySQL DBA - webinar series - slides: Which High Availability solution?
Become a MySQL DBA - webinar series - slides: Which High Availability solution?Become a MySQL DBA - webinar series - slides: Which High Availability solution?
Become a MySQL DBA - webinar series - slides: Which High Availability solution?Severalnines
 
Citrix PVS Advanced memory and storage considerations for provisioning services
Citrix PVS Advanced memory and storage considerations for provisioning servicesCitrix PVS Advanced memory and storage considerations for provisioning services
Citrix PVS Advanced memory and storage considerations for provisioning servicesNuno Alves
 
Connections install in 45 mins
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 minsSharon James
 
VMworld 2016: Enforcing a vSphere Cluster Design with PowerCLI Automation
VMworld 2016: Enforcing a vSphere Cluster Design with PowerCLI AutomationVMworld 2016: Enforcing a vSphere Cluster Design with PowerCLI Automation
VMworld 2016: Enforcing a vSphere Cluster Design with PowerCLI AutomationVMworld
 
VMworld 2016: Troubleshooting 101 for Horizon
VMworld 2016: Troubleshooting 101 for HorizonVMworld 2016: Troubleshooting 101 for Horizon
VMworld 2016: Troubleshooting 101 for HorizonVMworld
 
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld
 
Open mic on what's new in domino 9 social edition
Open mic on what's new in domino 9 social editionOpen mic on what's new in domino 9 social edition
Open mic on what's new in domino 9 social editionsreeJk
 
Power vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & tricksPower vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & trickssolarisyougood
 
Upgrading to Sametime 9.0.1
Upgrading to Sametime 9.0.1Upgrading to Sametime 9.0.1
Upgrading to Sametime 9.0.1Gabriella Davis
 
VMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
VMworld 2015: Automating Everything VMware with PowerCLI- Deep DiveVMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
VMworld 2015: Automating Everything VMware with PowerCLI- Deep DiveVMworld
 
Net app ecmlp2495163
Net app ecmlp2495163Net app ecmlp2495163
Net app ecmlp2495163forum4user
 
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...Severalnines
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld
 
Inform2015 - What's New in Domino 9 & 9.0.1 for Admins
Inform2015 - What's New in Domino 9 & 9.0.1 for AdminsInform2015 - What's New in Domino 9 & 9.0.1 for Admins
Inform2015 - What's New in Domino 9 & 9.0.1 for AdminsJared Roberts
 

What's hot (20)

Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
 
Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administrators
 
Become a MySQL DBA - slides: Deciding on a relevant backup solution
Become a MySQL DBA - slides: Deciding on a relevant backup solutionBecome a MySQL DBA - slides: Deciding on a relevant backup solution
Become a MySQL DBA - slides: Deciding on a relevant backup solution
 
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
ZooKeeper and Embedded ZooKeeper Support for IBM InfoSphere Streams V4.0
 
The Pensions Trust - VM Backup Experiences
The Pensions Trust - VM Backup ExperiencesThe Pensions Trust - VM Backup Experiences
The Pensions Trust - VM Backup Experiences
 
Become a MySQL DBA - webinar series - slides: Which High Availability solution?
Become a MySQL DBA - webinar series - slides: Which High Availability solution?Become a MySQL DBA - webinar series - slides: Which High Availability solution?
Become a MySQL DBA - webinar series - slides: Which High Availability solution?
 
Citrix PVS Advanced memory and storage considerations for provisioning services
Citrix PVS Advanced memory and storage considerations for provisioning servicesCitrix PVS Advanced memory and storage considerations for provisioning services
Citrix PVS Advanced memory and storage considerations for provisioning services
 
Connections install in 45 mins
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 mins
 
VMworld 2016: Enforcing a vSphere Cluster Design with PowerCLI Automation
VMworld 2016: Enforcing a vSphere Cluster Design with PowerCLI AutomationVMworld 2016: Enforcing a vSphere Cluster Design with PowerCLI Automation
VMworld 2016: Enforcing a vSphere Cluster Design with PowerCLI Automation
 
VMworld 2016: Troubleshooting 101 for Horizon
VMworld 2016: Troubleshooting 101 for HorizonVMworld 2016: Troubleshooting 101 for Horizon
VMworld 2016: Troubleshooting 101 for Horizon
 
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
VMworld 2015: The Future of Software- Defined Storage- What Does it Look Like...
 
Open mic on what's new in domino 9 social edition
Open mic on what's new in domino 9 social editionOpen mic on what's new in domino 9 social edition
Open mic on what's new in domino 9 social edition
 
Power vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & tricksPower vc for powervm deep dive tips & tricks
Power vc for powervm deep dive tips & tricks
 
Upgrading to Sametime 9.0.1
Upgrading to Sametime 9.0.1Upgrading to Sametime 9.0.1
Upgrading to Sametime 9.0.1
 
VMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
VMworld 2015: Automating Everything VMware with PowerCLI- Deep DiveVMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
VMworld 2015: Automating Everything VMware with PowerCLI- Deep Dive
 
Net app ecmlp2495163
Net app ecmlp2495163Net app ecmlp2495163
Net app ecmlp2495163
 
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
Become a MySQL DBA - Webinars - Schema Changes for MySQL Replication & Galera...
 
VMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep DiveVMworld 2016: vSphere 6.x Host Resource Deep Dive
VMworld 2016: vSphere 6.x Host Resource Deep Dive
 
Inform2015 - What's New in Domino 9 & 9.0.1 for Admins
Inform2015 - What's New in Domino 9 & 9.0.1 for AdminsInform2015 - What's New in Domino 9 & 9.0.1 for Admins
Inform2015 - What's New in Domino 9 & 9.0.1 for Admins
 
Mike Resseler - Deduplication in windows server 2012 r2
Mike Resseler - Deduplication in windows server 2012 r2Mike Resseler - Deduplication in windows server 2012 r2
Mike Resseler - Deduplication in windows server 2012 r2
 

Viewers also liked

Industry Automation with Programmable Logic Controller
Industry Automation with Programmable Logic ControllerIndustry Automation with Programmable Logic Controller
Industry Automation with Programmable Logic ControllerArifur Rahman
 
Intro to Puppet Enterprise
Intro to Puppet EnterpriseIntro to Puppet Enterprise
Intro to Puppet EnterprisePuppet
 
INDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLCINDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLCMehvish Mushtaq
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...Evans Ye
 
Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppetHabeeb Rahman
 
Оптимизация вебсайта для увеличения конверсий (часть2)
Оптимизация вебсайта для увеличения конверсий (часть2)Оптимизация вебсайта для увеличения конверсий (часть2)
Оптимизация вебсайта для увеличения конверсий (часть2)Victor
 
1.3.fa ti ideea cunoscuta
1.3.fa ti ideea cunoscuta1.3.fa ti ideea cunoscuta
1.3.fa ti ideea cunoscutaRuxandra Popa
 
Analysis bit torrent protocol
Analysis bit torrent protocolAnalysis bit torrent protocol
Analysis bit torrent protocolgkmv
 
10 must read convocation speech by narendra modi
10 must read convocation speech by narendra modi10 must read convocation speech by narendra modi
10 must read convocation speech by narendra modiBhim Upadhyaya
 
Isha forest flower-apr 2014
Isha forest flower-apr 2014Isha forest flower-apr 2014
Isha forest flower-apr 2014Bhim Upadhyaya
 
Engineering council uk guidance on security for engineers & technicians
Engineering council uk guidance on security for engineers & techniciansEngineering council uk guidance on security for engineers & technicians
Engineering council uk guidance on security for engineers & techniciansBhim Upadhyaya
 
Nepal pokhara armala sinkhole investigation final-report
Nepal pokhara armala sinkhole investigation final-reportNepal pokhara armala sinkhole investigation final-report
Nepal pokhara armala sinkhole investigation final-reportBhim Upadhyaya
 
Bhutan code-of-ethics-for-engineers by ministry of works
Bhutan code-of-ethics-for-engineers by ministry of worksBhutan code-of-ethics-for-engineers by ministry of works
Bhutan code-of-ethics-for-engineers by ministry of worksBhim Upadhyaya
 
Learning experinces in the making of purposeful media
Learning experinces in the making of purposeful mediaLearning experinces in the making of purposeful media
Learning experinces in the making of purposeful mediaChole Richard
 
Legal & Commercial, Issues of a Cloud Service
Legal & Commercial, Issues of a Cloud ServiceLegal & Commercial, Issues of a Cloud Service
Legal & Commercial, Issues of a Cloud Servicesubtitle
 
SharePoint Business Value - A Model behind the Madness
SharePoint Business Value - A Model behind the MadnessSharePoint Business Value - A Model behind the Madness
SharePoint Business Value - A Model behind the Madness21apps
 

Viewers also liked (20)

Industry Automation with Programmable Logic Controller
Industry Automation with Programmable Logic ControllerIndustry Automation with Programmable Logic Controller
Industry Automation with Programmable Logic Controller
 
Intro to Puppet Enterprise
Intro to Puppet EnterpriseIntro to Puppet Enterprise
Intro to Puppet Enterprise
 
INDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLCINDUSTRIAL AUTOMATION USING PLC
INDUSTRIAL AUTOMATION USING PLC
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Introduction to puppet
Introduction to puppetIntroduction to puppet
Introduction to puppet
 
Оптимизация вебсайта для увеличения конверсий (часть2)
Оптимизация вебсайта для увеличения конверсий (часть2)Оптимизация вебсайта для увеличения конверсий (часть2)
Оптимизация вебсайта для увеличения конверсий (часть2)
 
Germany
GermanyGermany
Germany
 
1.3.fa ti ideea cunoscuta
1.3.fa ti ideea cunoscuta1.3.fa ti ideea cunoscuta
1.3.fa ti ideea cunoscuta
 
Analysis bit torrent protocol
Analysis bit torrent protocolAnalysis bit torrent protocol
Analysis bit torrent protocol
 
10 must read convocation speech by narendra modi
10 must read convocation speech by narendra modi10 must read convocation speech by narendra modi
10 must read convocation speech by narendra modi
 
Isha forest flower-apr 2014
Isha forest flower-apr 2014Isha forest flower-apr 2014
Isha forest flower-apr 2014
 
Engineering council uk guidance on security for engineers & technicians
Engineering council uk guidance on security for engineers & techniciansEngineering council uk guidance on security for engineers & technicians
Engineering council uk guidance on security for engineers & technicians
 
Nepal pokhara armala sinkhole investigation final-report
Nepal pokhara armala sinkhole investigation final-reportNepal pokhara armala sinkhole investigation final-report
Nepal pokhara armala sinkhole investigation final-report
 
Teaser 2
Teaser 2Teaser 2
Teaser 2
 
food chains and food webs
food chains and food websfood chains and food webs
food chains and food webs
 
Bhutan code-of-ethics-for-engineers by ministry of works
Bhutan code-of-ethics-for-engineers by ministry of worksBhutan code-of-ethics-for-engineers by ministry of works
Bhutan code-of-ethics-for-engineers by ministry of works
 
Learning experinces in the making of purposeful media
Learning experinces in the making of purposeful mediaLearning experinces in the making of purposeful media
Learning experinces in the making of purposeful media
 
Legal & Commercial, Issues of a Cloud Service
Legal & Commercial, Issues of a Cloud ServiceLegal & Commercial, Issues of a Cloud Service
Legal & Commercial, Issues of a Cloud Service
 
SharePoint Business Value - A Model behind the Madness
SharePoint Business Value - A Model behind the MadnessSharePoint Business Value - A Model behind the Madness
SharePoint Business Value - A Model behind the Madness
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 

Similar to Puppet Primer, Robbie Jerrom, Solution Architect VMware

Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresRachel Andrew
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy Systemadrian_nye
 
Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)DECK36
 
Puppet getting started by Dirk Götz
Puppet getting started by Dirk GötzPuppet getting started by Dirk Götz
Puppet getting started by Dirk GötzNETWAYS
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingStanislav Osipov
 
Puppet Camp Boston 2014: Keynote
Puppet Camp Boston 2014: Keynote Puppet Camp Boston 2014: Keynote
Puppet Camp Boston 2014: Keynote Puppet
 
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014Miguel Zuniga
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementJames Turnbull
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAkshaya Mahapatra
 
Scaling to-5000-nodes
Scaling to-5000-nodesScaling to-5000-nodes
Scaling to-5000-nodesPhilip Watts
 
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...Puppet
 
Puppetpreso
PuppetpresoPuppetpreso
Puppetpresoke4qqq
 
Puppet and CloudStack
Puppet and CloudStackPuppet and CloudStack
Puppet and CloudStackke4qqq
 
Using puppet
Using puppetUsing puppet
Using puppetAlex Su
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...Puppet
 
Puppet and Apache CloudStack
Puppet and Apache CloudStackPuppet and Apache CloudStack
Puppet and Apache CloudStackPuppet
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackke4qqq
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrapeSharad Aggarwal
 

Similar to Puppet Primer, Robbie Jerrom, Solution Architect VMware (20)

Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small Infrastructures
 
A Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy SystemA Fabric/Puppet Build/Deploy System
A Fabric/Puppet Build/Deploy System
 
Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)
 
Puppet getting started by Dirk Götz
Puppet getting started by Dirk GötzPuppet getting started by Dirk Götz
Puppet getting started by Dirk Götz
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scaling
 
Puppet Camp Boston 2014: Keynote
Puppet Camp Boston 2014: Keynote Puppet Camp Boston 2014: Keynote
Puppet Camp Boston 2014: Keynote
 
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
Configuration Management in the Cloud - Cloud Phoenix Meetup Feb 2014
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
 
Using Puppet - Real World Configuration Management
Using Puppet - Real World Configuration ManagementUsing Puppet - Real World Configuration Management
Using Puppet - Real World Configuration Management
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
 
Scaling to-5000-nodes
Scaling to-5000-nodesScaling to-5000-nodes
Scaling to-5000-nodes
 
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
Puppet Camp New York 2015: Puppet Enterprise Scaling Lessons Learned (Interme...
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
 
Puppetpreso
PuppetpresoPuppetpreso
Puppetpreso
 
Puppet and CloudStack
Puppet and CloudStackPuppet and CloudStack
Puppet and CloudStack
 
Using puppet
Using puppetUsing puppet
Using puppet
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
 
Puppet and Apache CloudStack
Puppet and Apache CloudStackPuppet and Apache CloudStack
Puppet and Apache CloudStack
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrape
 

More from subtitle

NetApp Administration and Best Practice, Brendon Higgins, Proact UK
NetApp Administration and Best Practice, Brendon Higgins, Proact UKNetApp Administration and Best Practice, Brendon Higgins, Proact UK
NetApp Administration and Best Practice, Brendon Higgins, Proact UKsubtitle
 
eG Innovations, How to.. VDI Performance
eG Innovations, How to.. VDI PerformanceeG Innovations, How to.. VDI Performance
eG Innovations, How to.. VDI Performancesubtitle
 
Demystifying SSD, Mark Smith, S3
Demystifying SSD, Mark Smith, S3Demystifying SSD, Mark Smith, S3
Demystifying SSD, Mark Smith, S3subtitle
 
HP CloudSystem, Alex Haddock, HP Server Strategy Team
HP CloudSystem, Alex Haddock, HP Server Strategy TeamHP CloudSystem, Alex Haddock, HP Server Strategy Team
HP CloudSystem, Alex Haddock, HP Server Strategy Teamsubtitle
 
Automation with Microsoft Powershell
Automation with Microsoft PowershellAutomation with Microsoft Powershell
Automation with Microsoft Powershellsubtitle
 
Modern Data Protection
Modern Data ProtectionModern Data Protection
Modern Data Protectionsubtitle
 
10 zig presentation
10 zig presentation10 zig presentation
10 zig presentationsubtitle
 
How I reshaped my lab environment
How I reshaped my lab environmentHow I reshaped my lab environment
How I reshaped my lab environmentsubtitle
 
Progressive deduplication & off site protection of vm ware data
Progressive deduplication & off site protection of vm ware dataProgressive deduplication & off site protection of vm ware data
Progressive deduplication & off site protection of vm ware datasubtitle
 
20121108 vmug london event nimble sorage for vdi
20121108 vmug london event nimble sorage for vdi20121108 vmug london event nimble sorage for vdi
20121108 vmug london event nimble sorage for vdisubtitle
 
VMware, Storage & Kitchen appliances
VMware, Storage & Kitchen appliancesVMware, Storage & Kitchen appliances
VMware, Storage & Kitchen appliancessubtitle
 
NetApp C-mode for 7 mode engineers
NetApp C-mode for 7 mode engineersNetApp C-mode for 7 mode engineers
NetApp C-mode for 7 mode engineerssubtitle
 
V sphere 5.1-storage-features-&-futures
V sphere 5.1-storage-features-&-futuresV sphere 5.1-storage-features-&-futures
V sphere 5.1-storage-features-&-futuressubtitle
 
VMUG 6 Program
VMUG 6 ProgramVMUG 6 Program
VMUG 6 Programsubtitle
 
Unified FlexPod Management and Automation
Unified FlexPod Management and AutomationUnified FlexPod Management and Automation
Unified FlexPod Management and Automationsubtitle
 
Virtualisation:- Business Continuity Solution or Enabler
Virtualisation:- Business Continuity Solution or EnablerVirtualisation:- Business Continuity Solution or Enabler
Virtualisation:- Business Continuity Solution or Enablersubtitle
 
Service catalogue presentation
Service catalogue presentationService catalogue presentation
Service catalogue presentationsubtitle
 
Green it vmug presentation v1
Green it vmug presentation v1Green it vmug presentation v1
Green it vmug presentation v1subtitle
 
Vision dt solutions vmug leeds
Vision dt solutions vmug leedsVision dt solutions vmug leeds
Vision dt solutions vmug leedssubtitle
 

More from subtitle (20)

NetApp Administration and Best Practice, Brendon Higgins, Proact UK
NetApp Administration and Best Practice, Brendon Higgins, Proact UKNetApp Administration and Best Practice, Brendon Higgins, Proact UK
NetApp Administration and Best Practice, Brendon Higgins, Proact UK
 
eG Innovations, How to.. VDI Performance
eG Innovations, How to.. VDI PerformanceeG Innovations, How to.. VDI Performance
eG Innovations, How to.. VDI Performance
 
Demystifying SSD, Mark Smith, S3
Demystifying SSD, Mark Smith, S3Demystifying SSD, Mark Smith, S3
Demystifying SSD, Mark Smith, S3
 
HP CloudSystem, Alex Haddock, HP Server Strategy Team
HP CloudSystem, Alex Haddock, HP Server Strategy TeamHP CloudSystem, Alex Haddock, HP Server Strategy Team
HP CloudSystem, Alex Haddock, HP Server Strategy Team
 
Automation with Microsoft Powershell
Automation with Microsoft PowershellAutomation with Microsoft Powershell
Automation with Microsoft Powershell
 
Modern Data Protection
Modern Data ProtectionModern Data Protection
Modern Data Protection
 
10 zig presentation
10 zig presentation10 zig presentation
10 zig presentation
 
Big Data
Big DataBig Data
Big Data
 
How I reshaped my lab environment
How I reshaped my lab environmentHow I reshaped my lab environment
How I reshaped my lab environment
 
Progressive deduplication & off site protection of vm ware data
Progressive deduplication & off site protection of vm ware dataProgressive deduplication & off site protection of vm ware data
Progressive deduplication & off site protection of vm ware data
 
20121108 vmug london event nimble sorage for vdi
20121108 vmug london event nimble sorage for vdi20121108 vmug london event nimble sorage for vdi
20121108 vmug london event nimble sorage for vdi
 
VMware, Storage & Kitchen appliances
VMware, Storage & Kitchen appliancesVMware, Storage & Kitchen appliances
VMware, Storage & Kitchen appliances
 
NetApp C-mode for 7 mode engineers
NetApp C-mode for 7 mode engineersNetApp C-mode for 7 mode engineers
NetApp C-mode for 7 mode engineers
 
V sphere 5.1-storage-features-&-futures
V sphere 5.1-storage-features-&-futuresV sphere 5.1-storage-features-&-futures
V sphere 5.1-storage-features-&-futures
 
VMUG 6 Program
VMUG 6 ProgramVMUG 6 Program
VMUG 6 Program
 
Unified FlexPod Management and Automation
Unified FlexPod Management and AutomationUnified FlexPod Management and Automation
Unified FlexPod Management and Automation
 
Virtualisation:- Business Continuity Solution or Enabler
Virtualisation:- Business Continuity Solution or EnablerVirtualisation:- Business Continuity Solution or Enabler
Virtualisation:- Business Continuity Solution or Enabler
 
Service catalogue presentation
Service catalogue presentationService catalogue presentation
Service catalogue presentation
 
Green it vmug presentation v1
Green it vmug presentation v1Green it vmug presentation v1
Green it vmug presentation v1
 
Vision dt solutions vmug leeds
Vision dt solutions vmug leedsVision dt solutions vmug leeds
Vision dt solutions vmug leeds
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Puppet Primer, Robbie Jerrom, Solution Architect VMware

  • 1. © 2009 VMware Inc. All rights reserved Puppet Primer Robbie Jerrom – Solution Architect VMware Twitter- @robbiej
  • 2. Disclaimer The material in the presentation is based from my exploration and learning of puppet. My views are my own and not necessarily shared by PuppetLabs or VMware. 2 Confidential
  • 3. About me.. I’m a Solution Architect at VMware. Ex- IBM where I did many things.. The most relevant to this presentation is running the WebSphere build team for 2 years.. .. And it hurt.. Every version of AIX / Solaris / Windows & Early Linux environments.. All from a single build environment .. Distributed around the globe. I wish Puppet had existed back then ! 3 Confidential
  • 4. Software Eats the World.. “Puppet Labs Secures $30 Million Investment From VMware” 4 Confidential
  • 5. 5
  • 6. So what is Puppet.. And why would I care ? Old school software deployment.. • Production • Dev / Test • Service Support • Many of the challenges are the same and our solutions very similar..  Scripts… lots and lots of them.. - Perl / PowerShell / Bash / SH / Make / Awk - Whatever your particular poison was you or your team created scripts to make things easier. - Then you left.. Or got promoted.. And the next guy did the same.. Probably in their favourite scripting language. 6 Confidential
  • 7. Result… script hell.. Growing complexity.. Inherited ‘mess’, undocumented and unmanageable. 7 Confidential
  • 8. As a concept.. A script is ‘how to do something’ Scripts of any variety typically fall into describing how to perform a task. • Copy file a to location b  If that fails log an error and stop. • Compile file a found in location b  If that fails log an error and stop • Start Application server  Call deploy script for myapplication found in location b. And they usually spawn more scripts ! 8 Confidential
  • 9. A new way.. Puppet takes a different approach.. Puppet is a state machine, it takes a declarative approach to configuration management. You tell puppet ‘what’ and it works out the ‘how’. With Puppet you are providing a definition of what it means to be: • A Webserver • An Application server • A Proxy server 9 Confidential
  • 10. Puppet Operating Layers 10 Confidential Deployment Configuration & Resource Abstraction Transactional Layer
  • 11. Deployment Layer Client Server Architecture 11 Confidential Node Node Node Node Node Node (Puppet) Master
  • 12. Configuration & Resource Abstraction Layer Much more on this shortly.. 12 Confidential Configuration & Resource Abstraction Modules Classes Packages Files ServicesResources
  • 14. To complete the picture.. 14 Confidential Puppet Enterprise
  • 15. Everything to Puppet is a resource 15 Confidential [root@puppet ~]# puppet resource user robbie user { 'robbie': ensure => 'present', comment => 'Robbie', gid => '500', groups => ['sudoers'], home => '/home/robbie', password => '$1$W3RSF$sQhH9VeK1f5IwR.TNCj8y1', password_max_age => '99999', password_min_age => '0', shell => '/bin/bash', uid => '500', }
  • 16. Doing something in Puppet.. Simple example – Single machine not client server. 16 Confidential
  • 17. Doing something in Puppet.. A puppet managed environment consists of a number of core files. • site.pp - starting point for Puppet default configurations. • node.pp – file host descriptions. • modules - collection of .pp files to define your environment. 17 Confidential
  • 18. site.pp import "templates.pp" import "node.pp" # global defaults Package { provider => $operatingsystem ? { debian => aptitude, redhat => up2date } } 18 Confidential
  • 19. include vim node basenode {service {“telnet":ensure => "stopped", }} node ‘proxy.example.com’ inherits basenode { include proxy } node /^wwwd+.example.com/ inherits basenode { include webserver } node /^appd+.example.com/ inherits basenode { include appserver package {‘vim’ : ensure => present }} node basenode { service {“telnet":ensure => "stopped", } } node.pp 19 Confidential node ‘proxy.example.com’ inherits basenode { include proxy } node /^wwwd+.example.com/ inherits basenode { include webserver } Regex to include : www1.example.com www2.example.com …. etc. node /^appd+.example.com inherits basenode { include appserver package {‘vim’ : ensure => present }} Regex to include : app1.example.com app2.example.com …. etc.
  • 20. Package/File/Service file – Manage Local Files • ensure { present, absent, file, directory, link } • source • Content • purge package – Package management • ensure {present, latest, version, absent, purged } • Name • source 20 Confidential
  • 21. Package/File/Service service – System services management • ensure {running, stopped} • enable {true, false} • hasrestart {true,false} Notify – log a message • message {“hello world!”} 21 Confidential
  • 22. Simple Puppet Example – Part of SSH Module 22 Confidential package { ssh: ensure => latest, } file { /etc/ssh/sshd_config: source => puppet:///modules/ssh/sshd_config, require => Package[ssh], notify => Service[sshd], } service { sshd: ensure => running, subscribe => Package[ssh], }
  • 24. Apply to a node.. Lets make a webserver then an app server. 24 Confidential
  • 25. The new platform scenario Puppet makes things far quicker.. 1. Add the new node.. • And any variations or missing configurations will be reported. • Factor will pull the new platform specifics and report up to puppetmaster. • Puppet will deploy & configure software as per the node policy. 2. Update App Specific Manifests & Configs if new platform. 3. Done ! 25 Confidential
  • 26. Things I’ve learnt.. SSL Cert’s are a pain anytime and place. • The Puppet Labs site has some great guides on configuration and management of these but I still spent a reasonable amount of time fighting with them. • Make sure DNS is working .. See above.. If your hostnames don’t match certs get upset – For local testing /etc/hosts might be easier. • Start small.. SSH / Tomcat are great little examples.. WebSphere or JBoss not so much. Apache is a good learning exercise. • MS Windows adds complexity, consider each windows version a completely different platform. Some services provided by puppet do not work on Windows yet. 26 Confidential
  • 27. Final words.. Questions ? VMware & PuppetLabs.. working together on some ‘cool stuff’. Right now vCloud Automation Centre & AppDirector products can take advantage of Puppet. If you’re a VMware person, its worth becoming a Puppet person too. 27 Confidential
  • 28. Thanks for listening.. Special thanks to the guys at PuppetLabs; Reid & Chris for technical support, t-shirts, stickers and books. 28 Confidential