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

The Top Eight Best Practices for Deploying XenApp and XenDesktop 7.6
The Top Eight Best Practices for Deploying XenApp and XenDesktop 7.6The Top Eight Best Practices for Deploying XenApp and XenDesktop 7.6
The Top Eight Best Practices for Deploying XenApp and XenDesktop 7.6eG Innovations
 
More efficient service deployment with Dell Active System Manager
More efficient service deployment with Dell Active System ManagerMore efficient service deployment with Dell Active System Manager
More efficient service deployment with Dell Active System ManagerPrincipled Technologies
 
Best practices for implementing, administering, and troubleshooting XenDeskto...
Best practices for implementing, administering, and troubleshooting XenDeskto...Best practices for implementing, administering, and troubleshooting XenDeskto...
Best practices for implementing, administering, and troubleshooting XenDeskto...David McGeough
 
VMware and Puppet: How to Plan, Deploy & Manage Modern Applications
VMware and Puppet: How to Plan, Deploy & Manage Modern ApplicationsVMware and Puppet: How to Plan, Deploy & Manage Modern Applications
VMware and Puppet: How to Plan, Deploy & Manage Modern ApplicationsPuppet
 
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...Principled Technologies
 
Enable greater data reduction, storage performance, and manageability with De...
Enable greater data reduction, storage performance, and manageability with De...Enable greater data reduction, storage performance, and manageability with De...
Enable greater data reduction, storage performance, and manageability with De...Principled Technologies
 
XenDesktop and XenApp - 2015 summary & bit of future
XenDesktop and XenApp - 2015 summary & bit of futureXenDesktop and XenApp - 2015 summary & bit of future
XenDesktop and XenApp - 2015 summary & bit of futureMarketingArrowECS_CZ
 
Maintaining and Troubleshooting your XenDesktop 7.5 Environment
Maintaining and Troubleshooting your XenDesktop 7.5 EnvironmentMaintaining and Troubleshooting your XenDesktop 7.5 Environment
Maintaining and Troubleshooting your XenDesktop 7.5 EnvironmentDavid McGeough
 
Citrix XenDesktop Reference Architecture for 750 users
Citrix XenDesktop Reference Architecture for 750 usersCitrix XenDesktop Reference Architecture for 750 users
Citrix XenDesktop Reference Architecture for 750 usersX-IO Technologies
 
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...VMworld
 
Designing your XenApp 7.5 Environment
Designing your XenApp 7.5 EnvironmentDesigning your XenApp 7.5 Environment
Designing your XenApp 7.5 EnvironmentDavid McGeough
 
Scaling xen desktop and xenapp with solid state drives in healthcare
Scaling xen desktop and xenapp with solid state drives in healthcareScaling xen desktop and xenapp with solid state drives in healthcare
Scaling xen desktop and xenapp with solid state drives in healthcareIntel® Software
 
VMworld 2015: Building a Business Case for Virtual SAN
VMworld 2015: Building a Business Case for Virtual SANVMworld 2015: Building a Business Case for Virtual SAN
VMworld 2015: Building a Business Case for Virtual SANVMworld
 
VMware 2015: Next Horizon for Cloud Networking and Security
VMware 2015: Next Horizon for Cloud Networking and SecurityVMware 2015: Next Horizon for Cloud Networking and Security
VMware 2015: Next Horizon for Cloud Networking and SecurityVMworld
 
VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...
VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...
VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...VMworld
 
Building self-service on demand infrastructure with Puppet and VMware
Building self-service on demand infrastructure with Puppet and VMwareBuilding self-service on demand infrastructure with Puppet and VMware
Building self-service on demand infrastructure with Puppet and VMwarePuppet
 
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...Principled Technologies
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungDigicomp Academy AG
 

What's hot (19)

The Top Eight Best Practices for Deploying XenApp and XenDesktop 7.6
The Top Eight Best Practices for Deploying XenApp and XenDesktop 7.6The Top Eight Best Practices for Deploying XenApp and XenDesktop 7.6
The Top Eight Best Practices for Deploying XenApp and XenDesktop 7.6
 
More efficient service deployment with Dell Active System Manager
More efficient service deployment with Dell Active System ManagerMore efficient service deployment with Dell Active System Manager
More efficient service deployment with Dell Active System Manager
 
Best practices for implementing, administering, and troubleshooting XenDeskto...
Best practices for implementing, administering, and troubleshooting XenDeskto...Best practices for implementing, administering, and troubleshooting XenDeskto...
Best practices for implementing, administering, and troubleshooting XenDeskto...
 
XenApp XenDesktop 7.8 Workshop
XenApp XenDesktop 7.8 Workshop XenApp XenDesktop 7.8 Workshop
XenApp XenDesktop 7.8 Workshop
 
VMware and Puppet: How to Plan, Deploy & Manage Modern Applications
VMware and Puppet: How to Plan, Deploy & Manage Modern ApplicationsVMware and Puppet: How to Plan, Deploy & Manage Modern Applications
VMware and Puppet: How to Plan, Deploy & Manage Modern Applications
 
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
 
Enable greater data reduction, storage performance, and manageability with De...
Enable greater data reduction, storage performance, and manageability with De...Enable greater data reduction, storage performance, and manageability with De...
Enable greater data reduction, storage performance, and manageability with De...
 
XenDesktop and XenApp - 2015 summary & bit of future
XenDesktop and XenApp - 2015 summary & bit of futureXenDesktop and XenApp - 2015 summary & bit of future
XenDesktop and XenApp - 2015 summary & bit of future
 
Maintaining and Troubleshooting your XenDesktop 7.5 Environment
Maintaining and Troubleshooting your XenDesktop 7.5 EnvironmentMaintaining and Troubleshooting your XenDesktop 7.5 Environment
Maintaining and Troubleshooting your XenDesktop 7.5 Environment
 
Citrix XenDesktop Reference Architecture for 750 users
Citrix XenDesktop Reference Architecture for 750 usersCitrix XenDesktop Reference Architecture for 750 users
Citrix XenDesktop Reference Architecture for 750 users
 
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
VMworld 2015: Monitoring and Managing Applications with vRealize Operations 6...
 
Designing your XenApp 7.5 Environment
Designing your XenApp 7.5 EnvironmentDesigning your XenApp 7.5 Environment
Designing your XenApp 7.5 Environment
 
Scaling xen desktop and xenapp with solid state drives in healthcare
Scaling xen desktop and xenapp with solid state drives in healthcareScaling xen desktop and xenapp with solid state drives in healthcare
Scaling xen desktop and xenapp with solid state drives in healthcare
 
VMworld 2015: Building a Business Case for Virtual SAN
VMworld 2015: Building a Business Case for Virtual SANVMworld 2015: Building a Business Case for Virtual SAN
VMworld 2015: Building a Business Case for Virtual SAN
 
VMware 2015: Next Horizon for Cloud Networking and Security
VMware 2015: Next Horizon for Cloud Networking and SecurityVMware 2015: Next Horizon for Cloud Networking and Security
VMware 2015: Next Horizon for Cloud Networking and Security
 
VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...
VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...
VMworld 2015: Day to Day Automation of VMware Products to Increase Productivi...
 
Building self-service on demand infrastructure with Puppet and VMware
Building self-service on demand infrastructure with Puppet and VMwareBuilding self-service on demand infrastructure with Puppet and VMware
Building self-service on demand infrastructure with Puppet and VMware
 
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
Deliver a better virtual desktop experience with Dell Technologies APEX Priva...
 
VMware@Night: Container & Virtualisierung
VMware@Night: Container & VirtualisierungVMware@Night: Container & Virtualisierung
VMware@Night: Container & Virtualisierung
 

Similar to V mware

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 V mware (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 dvmug1

Nimble storage
Nimble storageNimble storage
Nimble storagedvmug1
 
Andrew bettany slides
Andrew bettany slidesAndrew bettany slides
Andrew bettany slidesdvmug1
 
Vmug azure vm_chris guestslides
Vmug azure vm_chris guestslidesVmug azure vm_chris guestslides
Vmug azure vm_chris guestslidesdvmug1
 
Veeam presentation
Veeam presentationVeeam presentation
Veeam presentationdvmug1
 
Freeform dynamics
Freeform dynamicsFreeform dynamics
Freeform dynamicsdvmug1
 
10 zig presentation
10 zig presentation10 zig presentation
10 zig presentationdvmug1
 
Vmug birmingham mar2013 trendmicro
Vmug birmingham mar2013 trendmicroVmug birmingham mar2013 trendmicro
Vmug birmingham mar2013 trendmicrodvmug1
 
Vmug birmingham mar2013 trendmicro
Vmug birmingham mar2013 trendmicroVmug birmingham mar2013 trendmicro
Vmug birmingham mar2013 trendmicrodvmug1
 

More from dvmug1 (9)

S3
S3S3
S3
 
Nimble storage
Nimble storageNimble storage
Nimble storage
 
Andrew bettany slides
Andrew bettany slidesAndrew bettany slides
Andrew bettany slides
 
Vmug azure vm_chris guestslides
Vmug azure vm_chris guestslidesVmug azure vm_chris guestslides
Vmug azure vm_chris guestslides
 
Veeam presentation
Veeam presentationVeeam presentation
Veeam presentation
 
Freeform dynamics
Freeform dynamicsFreeform dynamics
Freeform dynamics
 
10 zig presentation
10 zig presentation10 zig presentation
10 zig presentation
 
Vmug birmingham mar2013 trendmicro
Vmug birmingham mar2013 trendmicroVmug birmingham mar2013 trendmicro
Vmug birmingham mar2013 trendmicro
 
Vmug birmingham mar2013 trendmicro
Vmug birmingham mar2013 trendmicroVmug birmingham mar2013 trendmicro
Vmug birmingham mar2013 trendmicro
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
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
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
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
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

V mware

  • 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