SlideShare a Scribd company logo
1 of 49
Download to read offline
How Puppet fits into
   your existing
   architecture
                2011-11-10
               Seattle, WA
                 SASAG
             Garrett Honeycutt
       Professional Services Consultant
          garrett@puppetlabs.com
   http://linkedin.com/in/garretthoneycutt
We are hiring

•   Professional Services
•   Technical Training Manager
•   Operations Engineer
Provisioning




http://i474.photobucket.com/albums/rr102/surmanm/10262008386.jpg
Provisioning


No upgrades - just build new systems
   •   solves issue of intermediate states
Provisioning

Start from a known base!
Provisioning


PXE
•   Provisions VM’s and Physical systems the same way
Cloudy API’s
•   May not be an option if you have physical hardware
Provisioning

Cobbler
•   My favorite provisioning system for PXE
•   Handles tftp/dhcp/dns/repo’s
•   Namely for RedHat-ish systems, also supports
    Solaris, Debian, and images (ie: memtest, windows,
    firmware upgrades, etc)
•   http://github.com/ghoneycutt/puppet-cobbler
Provisioning


Puppet CloudPack
•   Provision EC2 and VMWare systems
•   Uses fog (http://fog.io), so easily hackable
Provisioning


Chicken and Egg with Software Repo’s
•   --tags repo
•   Preferred over run stages for simplicity and
    portability in modules
Provisioning


Certificate management
•   autosigning is your friend
•   can also pre-generate certs
•   gencert.php - uses reverse DNS
External Node
                  Classifier

Puppet Dashboard
•   source of truth for list of nodes
•   Add/Remove hosts through API - ties into
    provisioning
Package Management


Run your own Software Repositories
•   You control when package versions change
•   Packages are not mysteriously missing
•   Much faster provisioning
Package Management

Version control your repositories
•   Does not mean you need to use a VCS
•   /data/repos/CentOS_5.5_Base symlink to /data/
    repos/CentOS_5.5_Base-2011062700
•   Use hardlink(1) to deal with duplicate files
Package Management


package {}
•   ensure => present or absent
•   no version #’s
Package Management

no package { ‘foo’: ensure => latest }
•   not so homogeneous clusters while groups of
    systems converge
•   ideally upgrades happen with rebuilds
•   upgrades are triggered out of band - MCollective
Account Management


Use a directory service
•   LDAP
•   Active Directory
Account Management


Role based access control
•   Groups get access, NOT users
•   Who is in what team can be delegated to HR/
    management
Account Management


/etc/security/access.conf
•   controls groups that may access the system
•   http://github.com/ghoneycutt/puppet-pam
Account Management
List users as virtual resources sorted by UID and
realize as necessary
         @common::mkuser { ‘apachehup’:

               uid        => ‘32001’,

               gid        => ‘32001’,

               home       => ‘/home/apachehup’,

               managehome => true,

               comment    => ‘Apache Restart User’,

               dotssh     => true,

           }

     http://github.com/ghoneycutt/puppet-generic
Data storage


Data?
•   information that your node serves or creates
Data storage


Keep data stored off node
•   SAN / NAS / Cloudy store
•   rebuilt machines reconnect to your data
Disposable Architecture




http://www.homelandsecureit.com/blog/wp-content/uploads/2011/02/Server_room_fire.jpg
Disposable Architecture




http://www.linkedin.com/in/ericheydrick
Disposable Architecture


•   not how many systems are alive
•   service response times
•   % of anticipated capacity
Disposable Architecture

Develop other metrics to determine system health
•   not how many systems are alive
•   response times
•   % of anticipated capacity
Auto-scaling


Tying it together
•   (de)provision based on metrics
       •   capacity, response, etc
How Puppet fits into
   your existing
   architecture
                2011-11-10
               Seattle, WA
                 SASAG
             Garrett Honeycutt
       Professional Services Consultant
          garrett@puppetlabs.com
   http://linkedin.com/in/garretthoneycutt
Change Management
   with Puppet
               2011-11-10
              Seattle, WA
                SASAG
            Garrett Honeycutt
      Professional Services Consultant
         garrett@puppetlabs.com
  http://linkedin.com/in/garretthoneycutt
What?
Change - “an event that results in a new status
of one or more configuration items”[1]




[1] - http://en.wikipedia.org/wiki/Information_Technology_Infrastructure_Library#Change_Management
Why?

Environments are the same!



Dev == QA == Staging == ... == PROD
Why?
Compliance with Change Management policies
•   CAB - Change Approval/Advisory Board
•   Different environments have different criteria for
    passing to the next one
Different Environments

Puppet Test Area -> Dev -> QA -> Prod




Each environment has different teams and
sometimes conflicting goals
Gate Examples

Puppet Test Area -> Dev
•   Dev’s agree/know of change
Dev -> QA
•   Dev’s have completed and self tested
QA -> Prod
•   QA team has verified systems
•   Ops is ready (has runbooks, monitoring setup, ... )
Documentation and Policies


Understand your environments


•   What are they?
•   What is their order of precedence?
•   What are their SLA’s?
•   Who owns them?
Documentation and Policies


Understand gating factors for change


•   What are the gates between each environment?
•   Who approves them?
•   In what forum are they approved?
VCS Structure (SVN view)
VCS Structure (git view)

same as SVN except


•   you do not have separate directories for
    •   trunk
    •   branches
    •   tags
VCS Structure


trunk / master
•   New code that is the best known working code
•   but still not very well tested ...
VCS Structure
branches
•   short lived
•   use topical branches!
•   associate branches with ticket numbers, so you can
    leverage your ticketing system to capture who is
    requesting changes and why
•   avoid assigning branches to people as they tend to
    be long lived
VCS Structure

tags
•   immutable (even if you can technically make
    changes)
•   found that BIND style serials work quite well for
    naming tags
    •   2011041300 would be the first tag on April 13th,
        2011.
Flow
•   Change request comes in (from your ticket system)
•   You create a branch from trunk/master that
    corresponds with the request
•   Make changes to the branch
•   Merge the branch back into trunk/master
•   test against trunk/master
•   create a tag
•   associate that tag with the next environment all the
    way through to Prod
Flow
Oops, we found a bug


•   tags are immutable, remember?
•   create a brand new tag off of trunk/master
•   start the process from the beginning
•   short-cuts are more expensive
Release Management


Multiple people making changes?
•   You need a release manager to be responsible for
    merging from branches into trunk/master
•   Potentially rotate who holds this position
Release Management

Multiple teams exchanging code?
•   Investigate using multiple module paths
•   Communication!
    •   private github - can facilitate cooperation
Mailing List of changes

Create a mailing list for all changes
•   You can always ignore it
•   reach out to those writing poor code before they ask
    you to merge it into trunk
•   svnmailer is great
Testing trunk/master
Create at least one representative system for each
different type of system you model
•   Run these systems off the code in trunk/master
•   Before cutting a tag, rebuild all these systems from
    scratch
     •   further tests that relationships between resources
         are working
     •   proves you can actually provision a system from
         scratch
Approaches to testing
                 branches

•   Puppet’s understanding of environments is good
    for this
•   Setup a different Puppet master per branch
•   Do not rely on a puppet master at all -- use puppet
    apply and test locally
Change Management
   with Puppet
               2011-11-10
              Seattle, WA
                SASAG
            Garrett Honeycutt
      Professional Services Consultant
         garrett@puppetlabs.com
  http://linkedin.com/in/garretthoneycutt

More Related Content

What's hot

Introduction to Puppet Enterprise- UK (02/25/2016)
Introduction to Puppet Enterprise- UK (02/25/2016)Introduction to Puppet Enterprise- UK (02/25/2016)
Introduction to Puppet Enterprise- UK (02/25/2016)Puppet
 
Introduction to Puppet Enterprise 03-31-2016
Introduction to Puppet Enterprise 03-31-2016Introduction to Puppet Enterprise 03-31-2016
Introduction to Puppet Enterprise 03-31-2016Puppet
 
Intro to PE 01/15/2016
Intro to PE 01/15/2016Intro to PE 01/15/2016
Intro to PE 01/15/2016Puppet
 
What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)Puppet
 
Introduction to Puppet Enterprise- 01/19/2016
Introduction to Puppet Enterprise- 01/19/2016Introduction to Puppet Enterprise- 01/19/2016
Introduction to Puppet Enterprise- 01/19/2016Puppet
 
What's New in Puppet Enterprise 2016.1 SDP partner release webinar
What's New in Puppet Enterprise 2016.1 SDP partner release webinarWhat's New in Puppet Enterprise 2016.1 SDP partner release webinar
What's New in Puppet Enterprise 2016.1 SDP partner release webinarPuppet
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing WebinarTechSoup
 
BOSE - Josh Steckler - Automating Automation: Build environments, on-demand
BOSE - Josh Steckler - Automating Automation: Build environments, on-demandBOSE - Josh Steckler - Automating Automation: Build environments, on-demand
BOSE - Josh Steckler - Automating Automation: Build environments, on-demandDevOps Enterprise Summit
 
Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...
Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...
Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...DevOps Enterprise Summit
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...David Rosen
 
A Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityA Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityAcquia
 
Sam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlow
Sam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlowSam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlow
Sam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlowDevOps Enterprise Summit
 
How Small Team Get Ready for SRE (public version)
How Small Team Get Ready for SRE (public version)How Small Team Get Ready for SRE (public version)
How Small Team Get Ready for SRE (public version)Setyo Legowo
 
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...DevOps Enterprise Summit
 
What's New in Puppet Enterprise 2016.4
What's New in Puppet Enterprise 2016.4What's New in Puppet Enterprise 2016.4
What's New in Puppet Enterprise 2016.4Puppet
 
What's New in Puppet Enterprise 2016.5
What's New in Puppet Enterprise 2016.5What's New in Puppet Enterprise 2016.5
What's New in Puppet Enterprise 2016.5Puppet
 
Rohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric Cloud
Rohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric CloudRohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric Cloud
Rohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric CloudDevOps Enterprise Summit
 
SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...DevClub_lv
 
Network Automation at Shapeways
Network Automation at ShapewaysNetwork Automation at Shapeways
Network Automation at ShapewaysPuppet
 
Steve Brodie - Electric Cloud - The Yin and Yang of DevOps Transformation
Steve Brodie - Electric Cloud - The Yin and Yang of DevOps TransformationSteve Brodie - Electric Cloud - The Yin and Yang of DevOps Transformation
Steve Brodie - Electric Cloud - The Yin and Yang of DevOps TransformationDevOps Enterprise Summit
 

What's hot (20)

Introduction to Puppet Enterprise- UK (02/25/2016)
Introduction to Puppet Enterprise- UK (02/25/2016)Introduction to Puppet Enterprise- UK (02/25/2016)
Introduction to Puppet Enterprise- UK (02/25/2016)
 
Introduction to Puppet Enterprise 03-31-2016
Introduction to Puppet Enterprise 03-31-2016Introduction to Puppet Enterprise 03-31-2016
Introduction to Puppet Enterprise 03-31-2016
 
Intro to PE 01/15/2016
Intro to PE 01/15/2016Intro to PE 01/15/2016
Intro to PE 01/15/2016
 
What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)What's New in Puppet Enterprise 2015.3 (APAC)
What's New in Puppet Enterprise 2015.3 (APAC)
 
Introduction to Puppet Enterprise- 01/19/2016
Introduction to Puppet Enterprise- 01/19/2016Introduction to Puppet Enterprise- 01/19/2016
Introduction to Puppet Enterprise- 01/19/2016
 
What's New in Puppet Enterprise 2016.1 SDP partner release webinar
What's New in Puppet Enterprise 2016.1 SDP partner release webinarWhat's New in Puppet Enterprise 2016.1 SDP partner release webinar
What's New in Puppet Enterprise 2016.1 SDP partner release webinar
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing Webinar
 
BOSE - Josh Steckler - Automating Automation: Build environments, on-demand
BOSE - Josh Steckler - Automating Automation: Build environments, on-demandBOSE - Josh Steckler - Automating Automation: Build environments, on-demand
BOSE - Josh Steckler - Automating Automation: Build environments, on-demand
 
Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...
Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...
Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...
 
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
 
A Crash Course in Building Site Reliability
A Crash Course in Building Site ReliabilityA Crash Course in Building Site Reliability
A Crash Course in Building Site Reliability
 
Sam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlow
Sam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlowSam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlow
Sam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlow
 
How Small Team Get Ready for SRE (public version)
How Small Team Get Ready for SRE (public version)How Small Team Get Ready for SRE (public version)
How Small Team Get Ready for SRE (public version)
 
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
 
What's New in Puppet Enterprise 2016.4
What's New in Puppet Enterprise 2016.4What's New in Puppet Enterprise 2016.4
What's New in Puppet Enterprise 2016.4
 
What's New in Puppet Enterprise 2016.5
What's New in Puppet Enterprise 2016.5What's New in Puppet Enterprise 2016.5
What's New in Puppet Enterprise 2016.5
 
Rohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric Cloud
Rohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric CloudRohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric Cloud
Rohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric Cloud
 
SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...
 
Network Automation at Shapeways
Network Automation at ShapewaysNetwork Automation at Shapeways
Network Automation at Shapeways
 
Steve Brodie - Electric Cloud - The Yin and Yang of DevOps Transformation
Steve Brodie - Electric Cloud - The Yin and Yang of DevOps TransformationSteve Brodie - Electric Cloud - The Yin and Yang of DevOps Transformation
Steve Brodie - Electric Cloud - The Yin and Yang of DevOps Transformation
 

Viewers also liked

Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Puppet
 
Hacking puppet
Hacking puppetHacking puppet
Hacking puppetbodepd
 
monitoring configuration management - from dev to prod
monitoring configuration management - from dev to prodmonitoring configuration management - from dev to prod
monitoring configuration management - from dev to prodChristoph Oelmüller
 
BizSpark & Azure for Startups
BizSpark & Azure for StartupsBizSpark & Azure for Startups
BizSpark & Azure for StartupsShahed Chowdhuri
 
Infrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleInfrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleice799
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with AzureShahed Chowdhuri
 
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 201211 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012Puppet
 
The Challenges of Container Configuration
The Challenges of Container ConfigurationThe Challenges of Container Configuration
The Challenges of Container ConfigurationGareth Rushgrove
 
Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012Walter Heck
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeAmazon Web Services
 
Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Gary Stafford
 
Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Puppet
 
Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Puppet
 
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)Amazon Web Services
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdminsPuppet
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet EnterprisePuppet
 

Viewers also liked (20)

Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5
 
Hacking puppet
Hacking puppetHacking puppet
Hacking puppet
 
monitoring configuration management - from dev to prod
monitoring configuration management - from dev to prodmonitoring configuration management - from dev to prod
monitoring configuration management - from dev to prod
 
Web App Security
Web App SecurityWeb App Security
Web App Security
 
BizSpark & Azure for Startups
BizSpark & Azure for StartupsBizSpark & Azure for Startups
BizSpark & Azure for Startups
 
Infrastructure as code might be literally impossible
Infrastructure as code might be literally impossibleInfrastructure as code might be literally impossible
Infrastructure as code might be literally impossible
 
Capture the Cloud with Azure
Capture the Cloud with AzureCapture the Cloud with Azure
Capture the Cloud with Azure
 
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 201211 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
11 Ways to Hack Puppet for Fun and Productivity - Luke Kanies - Velocity 2012
 
The Challenges of Container Configuration
The Challenges of Container ConfigurationThe Challenges of Container Configuration
The Challenges of Container Configuration
 
Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012
 
Deep Dive: Infrastructure as Code
Deep Dive: Infrastructure as CodeDeep Dive: Infrastructure as Code
Deep Dive: Infrastructure as Code
 
Thinking Evil Thoughts
Thinking Evil ThoughtsThinking Evil Thoughts
Thinking Evil Thoughts
 
Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1Infrastructure as Code Maturity Model v1
Infrastructure as Code Maturity Model v1
 
Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5
 
Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5Introduction to Puppet Enterprise 2016.5
Introduction to Puppet Enterprise 2016.5
 
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
AWS re:Invent 2016: Chalk Talk: Succeeding at Infrastructure-as-Code (GPSCT312)
 
(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code
 
Puppet for SysAdmins
Puppet for SysAdminsPuppet for SysAdmins
Puppet for SysAdmins
 
Introduction to Puppet Enterprise
Introduction to Puppet EnterpriseIntroduction to Puppet Enterprise
Introduction to Puppet Enterprise
 
Azure: PaaS or IaaS
Azure: PaaS or IaaSAzure: PaaS or IaaS
Azure: PaaS or IaaS
 

Similar to How Puppet fits into your existing architecture

Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
Puppet Keynote by Ralph Luchs
Puppet Keynote by Ralph LuchsPuppet Keynote by Ralph Luchs
Puppet Keynote by Ralph LuchsNETWAYS
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsIDERA Software
 
State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCState of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCPuppet
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithMarkus Eisele
 
Puppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet
 
Staying Sane with Drupal NEPHP
Staying Sane with Drupal NEPHPStaying Sane with Drupal NEPHP
Staying Sane with Drupal NEPHPOscar Merida
 
Evolving for Kubernetes
Evolving for KubernetesEvolving for Kubernetes
Evolving for KubernetesChris McEniry
 
Puppet overview
Puppet overviewPuppet overview
Puppet overviewjoshbeard
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIwajrcs
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestroKyle Hailey
 
SQL Server Clustering for Dummies
SQL Server Clustering for DummiesSQL Server Clustering for Dummies
SQL Server Clustering for DummiesMark Broadbent
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build testLen Bass
 
QA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integrationQA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integrationSujit Ghosh
 
Vagrant for Effective DevOps Culture
Vagrant for Effective DevOps CultureVagrant for Effective DevOps Culture
Vagrant for Effective DevOps CultureVaidik Kapoor
 
Alfresco Business Reporting - Tech Talk Live 20130501
Alfresco Business Reporting - Tech Talk Live 20130501Alfresco Business Reporting - Tech Talk Live 20130501
Alfresco Business Reporting - Tech Talk Live 20130501Tjarda Peelen
 

Similar to How Puppet fits into your existing architecture (20)

Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Puppet Keynote by Ralph Luchs
Puppet Keynote by Ralph LuchsPuppet Keynote by Ralph Luchs
Puppet Keynote by Ralph Luchs
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure Environments
 
State of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DCState of Puppet 2013 - Puppet Camp DC
State of Puppet 2013 - Puppet Camp DC
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
Automation using Puppet 3
Automation using Puppet 3 Automation using Puppet 3
Automation using Puppet 3
 
Stay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolithStay productive_while_slicing_up_the_monolith
Stay productive_while_slicing_up_the_monolith
 
Puppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: KeynotePuppet Camp Tokyo 2014: Keynote
Puppet Camp Tokyo 2014: Keynote
 
Staying Sane with Drupal NEPHP
Staying Sane with Drupal NEPHPStaying Sane with Drupal NEPHP
Staying Sane with Drupal NEPHP
 
Evolving for Kubernetes
Evolving for KubernetesEvolving for Kubernetes
Evolving for Kubernetes
 
WebDev Crash Course
WebDev Crash CourseWebDev Crash Course
WebDev Crash Course
 
Puppet overview
Puppet overviewPuppet overview
Puppet overview
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CI
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
 
SQL Server Clustering for Dummies
SQL Server Clustering for DummiesSQL Server Clustering for Dummies
SQL Server Clustering for Dummies
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
QA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integrationQA Team Goes to Agile and Continuous integration
QA Team Goes to Agile and Continuous integration
 
Vagrant for Effective DevOps Culture
Vagrant for Effective DevOps CultureVagrant for Effective DevOps Culture
Vagrant for Effective DevOps Culture
 
Amis conference soa deployment. the dirty tricks using bamboo, nexus and xl ...
Amis conference soa deployment. the dirty tricks using  bamboo, nexus and xl ...Amis conference soa deployment. the dirty tricks using  bamboo, nexus and xl ...
Amis conference soa deployment. the dirty tricks using bamboo, nexus and xl ...
 
Alfresco Business Reporting - Tech Talk Live 20130501
Alfresco Business Reporting - Tech Talk Live 20130501Alfresco Business Reporting - Tech Talk Live 20130501
Alfresco Business Reporting - Tech Talk Live 20130501
 

More from garrett honeycutt

Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...garrett honeycutt
 
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...garrett honeycutt
 
(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Images(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Imagesgarrett honeycutt
 
20150613 self-puppet v4-avoiding_dragons
20150613 self-puppet v4-avoiding_dragons20150613 self-puppet v4-avoiding_dragons
20150613 self-puppet v4-avoiding_dragonsgarrett honeycutt
 
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...garrett honeycutt
 
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA142014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14garrett honeycutt
 
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattlegarrett honeycutt
 
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicagogarrett honeycutt
 
20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorialgarrett honeycutt
 
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07garrett honeycutt
 
20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hiera20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hieragarrett honeycutt
 
20120331 - Expanded Intro to Puppet for LOAD
20120331 - Expanded Intro to Puppet for LOAD20120331 - Expanded Intro to Puppet for LOAD
20120331 - Expanded Intro to Puppet for LOADgarrett honeycutt
 
20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_selfgarrett honeycutt
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnwgarrett honeycutt
 
Fighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 SasagFighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 Sasaggarrett honeycutt
 
20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasaggarrett honeycutt
 

More from garrett honeycutt (17)

20180823 - Sensu + Puppet
20180823 - Sensu + Puppet20180823 - Sensu + Puppet
20180823 - Sensu + Puppet
 
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
 
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
 
(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Images(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Images
 
20150613 self-puppet v4-avoiding_dragons
20150613 self-puppet v4-avoiding_dragons20150613 self-puppet v4-avoiding_dragons
20150613 self-puppet v4-avoiding_dragons
 
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...
 
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA142014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
 
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
 
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
 
20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial
 
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
 
20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hiera20130407 load puppevtv3-and_hiera
20130407 load puppevtv3-and_hiera
 
20120331 - Expanded Intro to Puppet for LOAD
20120331 - Expanded Intro to Puppet for LOAD20120331 - Expanded Intro to Puppet for LOAD
20120331 - Expanded Intro to Puppet for LOAD
 
20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self
 
20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw
 
Fighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 SasagFighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 Sasag
 
20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag20090514 Introducing Puppet To Sasag
20090514 Introducing Puppet To Sasag
 

Recently uploaded

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
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"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
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

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!
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"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
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

How Puppet fits into your existing architecture

  • 1. How Puppet fits into your existing architecture 2011-11-10 Seattle, WA SASAG Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt
  • 2. We are hiring • Professional Services • Technical Training Manager • Operations Engineer
  • 4. Provisioning No upgrades - just build new systems • solves issue of intermediate states
  • 6. Provisioning PXE • Provisions VM’s and Physical systems the same way Cloudy API’s • May not be an option if you have physical hardware
  • 7. Provisioning Cobbler • My favorite provisioning system for PXE • Handles tftp/dhcp/dns/repo’s • Namely for RedHat-ish systems, also supports Solaris, Debian, and images (ie: memtest, windows, firmware upgrades, etc) • http://github.com/ghoneycutt/puppet-cobbler
  • 8. Provisioning Puppet CloudPack • Provision EC2 and VMWare systems • Uses fog (http://fog.io), so easily hackable
  • 9. Provisioning Chicken and Egg with Software Repo’s • --tags repo • Preferred over run stages for simplicity and portability in modules
  • 10. Provisioning Certificate management • autosigning is your friend • can also pre-generate certs • gencert.php - uses reverse DNS
  • 11. External Node Classifier Puppet Dashboard • source of truth for list of nodes • Add/Remove hosts through API - ties into provisioning
  • 12. Package Management Run your own Software Repositories • You control when package versions change • Packages are not mysteriously missing • Much faster provisioning
  • 13. Package Management Version control your repositories • Does not mean you need to use a VCS • /data/repos/CentOS_5.5_Base symlink to /data/ repos/CentOS_5.5_Base-2011062700 • Use hardlink(1) to deal with duplicate files
  • 14. Package Management package {} • ensure => present or absent • no version #’s
  • 15. Package Management no package { ‘foo’: ensure => latest } • not so homogeneous clusters while groups of systems converge • ideally upgrades happen with rebuilds • upgrades are triggered out of band - MCollective
  • 16. Account Management Use a directory service • LDAP • Active Directory
  • 17. Account Management Role based access control • Groups get access, NOT users • Who is in what team can be delegated to HR/ management
  • 18. Account Management /etc/security/access.conf • controls groups that may access the system • http://github.com/ghoneycutt/puppet-pam
  • 19. Account Management List users as virtual resources sorted by UID and realize as necessary @common::mkuser { ‘apachehup’: uid => ‘32001’, gid => ‘32001’, home => ‘/home/apachehup’, managehome => true, comment => ‘Apache Restart User’, dotssh => true, } http://github.com/ghoneycutt/puppet-generic
  • 20. Data storage Data? • information that your node serves or creates
  • 21. Data storage Keep data stored off node • SAN / NAS / Cloudy store • rebuilt machines reconnect to your data
  • 24. Disposable Architecture • not how many systems are alive • service response times • % of anticipated capacity
  • 25. Disposable Architecture Develop other metrics to determine system health • not how many systems are alive • response times • % of anticipated capacity
  • 26. Auto-scaling Tying it together • (de)provision based on metrics • capacity, response, etc
  • 27. How Puppet fits into your existing architecture 2011-11-10 Seattle, WA SASAG Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt
  • 28. Change Management with Puppet 2011-11-10 Seattle, WA SASAG Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt
  • 29. What? Change - “an event that results in a new status of one or more configuration items”[1] [1] - http://en.wikipedia.org/wiki/Information_Technology_Infrastructure_Library#Change_Management
  • 30. Why? Environments are the same! Dev == QA == Staging == ... == PROD
  • 31. Why? Compliance with Change Management policies • CAB - Change Approval/Advisory Board • Different environments have different criteria for passing to the next one
  • 32. Different Environments Puppet Test Area -> Dev -> QA -> Prod Each environment has different teams and sometimes conflicting goals
  • 33. Gate Examples Puppet Test Area -> Dev • Dev’s agree/know of change Dev -> QA • Dev’s have completed and self tested QA -> Prod • QA team has verified systems • Ops is ready (has runbooks, monitoring setup, ... )
  • 34. Documentation and Policies Understand your environments • What are they? • What is their order of precedence? • What are their SLA’s? • Who owns them?
  • 35. Documentation and Policies Understand gating factors for change • What are the gates between each environment? • Who approves them? • In what forum are they approved?
  • 37. VCS Structure (git view) same as SVN except • you do not have separate directories for • trunk • branches • tags
  • 38. VCS Structure trunk / master • New code that is the best known working code • but still not very well tested ...
  • 39. VCS Structure branches • short lived • use topical branches! • associate branches with ticket numbers, so you can leverage your ticketing system to capture who is requesting changes and why • avoid assigning branches to people as they tend to be long lived
  • 40. VCS Structure tags • immutable (even if you can technically make changes) • found that BIND style serials work quite well for naming tags • 2011041300 would be the first tag on April 13th, 2011.
  • 41. Flow • Change request comes in (from your ticket system) • You create a branch from trunk/master that corresponds with the request • Make changes to the branch • Merge the branch back into trunk/master • test against trunk/master • create a tag • associate that tag with the next environment all the way through to Prod
  • 42. Flow
  • 43. Oops, we found a bug • tags are immutable, remember? • create a brand new tag off of trunk/master • start the process from the beginning • short-cuts are more expensive
  • 44. Release Management Multiple people making changes? • You need a release manager to be responsible for merging from branches into trunk/master • Potentially rotate who holds this position
  • 45. Release Management Multiple teams exchanging code? • Investigate using multiple module paths • Communication! • private github - can facilitate cooperation
  • 46. Mailing List of changes Create a mailing list for all changes • You can always ignore it • reach out to those writing poor code before they ask you to merge it into trunk • svnmailer is great
  • 47. Testing trunk/master Create at least one representative system for each different type of system you model • Run these systems off the code in trunk/master • Before cutting a tag, rebuild all these systems from scratch • further tests that relationships between resources are working • proves you can actually provision a system from scratch
  • 48. Approaches to testing branches • Puppet’s understanding of environments is good for this • Setup a different Puppet master per branch • Do not rely on a puppet master at all -- use puppet apply and test locally
  • 49. Change Management with Puppet 2011-11-10 Seattle, WA SASAG Garrett Honeycutt Professional Services Consultant garrett@puppetlabs.com http://linkedin.com/in/garretthoneycutt