SlideShare a Scribd company logo
1 of 33
Download to read offline
Puppet
and
Telefónica I+D

Puppet Camp Barcelona 2013

Xavi Carrillo
01
Introduction
01
     Introduction


             Who am I?

            § Puppet user for the last 2 years
            § Working at Telefonica I+D for 4 months
            § Telefonica Digital curently involved in a process
              of modernization
            § Helping on that by puppetizingTelefónica I+D




                                                                  3
01
     What do we do at I+D?




                             4
01
     Initiatives




                   5
02
The Problem Domain
02
     Environment

                                 x7




                   Development



                     Staging




                    Production




                                      7
02
     The problem domain




     § Machine Setups: manually (howtos,etc)
     § Environments: docs, wikis.
     § Releases: Hand over an RPM…

     § At least one SysAdmin per initiative




                                               8
02
      The needs




     • Infrastructure for many sysadmins, initiatives and environments.
     • Each initiatives’ setups are isolated.
     • Some manifests are common.
     • User-friendly repo management.
     • Updates must be automatic, with some degree of control.
                                                                      9
03
The Solution
03
     The Solution




                    11
03
     Git Frontends




                     Internal Github

                     § Licencing
                     § Proprietary
                       (can’t add post-receive hooks)




                                                        12
03
     Git Frontends


         Git + Gitolite or Gitosis + Gitweb

            § Takes time (install, make it work, learn)
            § Not the most user friendly combo.
            § Ugly




                                                          13
03
     Gitlab



         § Open Source
         § Free
         § Easy to install
         § Easy to administrate
         § LDAP integration
         § Owner of repo can manage
           team members
         § Looks great!



                                      14
04
Implementation
04
     Products + Environments



        •   Puppet Environments = Initiative + Environment

        •   Git repos = Initiative + ‘_ puppet’
              cdn_puppet
              m2m_puppet

        •   Git branches = development, staging and production


        •   Puppet Agent: --environment cdn_dev or m2m_sta




                                                                 16
04
     Puppet Master
                                   MANDATORY MODULES :
           /ETC/PUPPET                ntp, yum, snmp, ssh…
            |__ MODULES
            |__MANIFESTS           AVAILABLE MODULES:
               (default node)         mysql, stlib, apache, etc.



           /VAR/LIB/PUPPET/INITIATIVES
                  |__CDN_DEV <-- repo ‘cdn_puppet’,
                  | |__MODULES    branch ‘development’
                 | |__MANIFESTS
                 |    |__NODES

                  |__CDN_STA <-- repo ‘cdn_puppet’,
                                 branch ‘stagement’
                    |__MODULES
                    |__MANIFESTS
                       |__NODES


                                                                   17
04
     Hooks

        Pre-receive            Post-receive
        § Puppet Style Guide   § Updates the puppet master
        § Puppet parser




                                                             18
04
     Hooks
                  Commit goes through




                                           YES?

                             pre-receive          post-receive



                                                       Update the
     push
                                                       initiative’s
     origin                                            manifests
     develop




      sysadmins




                                                                      19
04
     The Big Picture
                                  CDN

               cdn_dev

              m2m_sta
                               DEVELOPMENT



                                 M2M

                   sysadmins



                                STAGING
                         M2M




                         CDN




                                          20
04
     Yeah!


             •   Different sysadmins can configure their
                 systems in several environments in a
                 centralized way
             •   All machines in a controlled state
             •   Inventory
             •   Changes are tracked (commits)
             •   No more how-tos: a git repository is all you
                 need
             •   Deploying new environments is much
                 easier
             •   Reduce duplication of work (Apache,
                 MySQL, etc)



                                                         21
04
     Work in progress




                  Production is not puppetized yet




                                                     22
05
Final notes
05
     Evangelization




            •   puppetusers@tid.es
            •   Separate data from code (Hiera)
            •   Always have the future in mind
                (parametrized classes, OS changes, multiple networks, etc.)


                                                                              24
05
     Vagrant


     Vagrant::Config.run do |config|
       config.vm.box = “RH5.8_2”
       config.vm.box_url = http://xxx/rh58_base.box
       config.vm.host_name = “m2mvagrant2”

       config.vm.provision :puppet_server do |puppet|
          puppet.puppet_server = "puppet.aislada“
          puppet.options = ["--environment","m2m_dev"]
       end
     end




                                                         25
05
     Mcollective

     $ mco puppet runall 10

     2013-03-13 14:26:50: Running all nodes with a concurrency of 10
     2013-03-13 14:26:50: Discovering enabled Puppet nodes to manage


     $ mco package status kernel
            Summary of Ensure:

                 2.6.32-220.el6 = 147
              2.6.32-279.19.1.el6 = 19
              2.6.32-220.7.1.el6 = 3




                                                                       26
05
       Mcollective – Detect performance issues
     $ mco puppet summary

                Total resources: ▇▁▁▁▁▁▁▁▁▁
                                  ▁▁▁▁▁▁▁▁▁▂min: 66.0 max: 4.7k
            Out Of Sync resources: ▇▁▁▁▁▁▁▁▁▁
                                     ▁▁▂▁▁▁▁▁▁▁min: 0.0 max: 7.0
               Failed resources: ▇▁▁▁▁▁▁▁▁▁
                                  ▁▁▁▁▁▁▁▁▁▁min: 0.0 max: 1.0
              Changed resources: ▇▁▂▁▁▁▁▁▁▁
                                    ▁▁▁▁▁▁▁▁▁▁min: 0.0 max: 6.0
      Config Retrieval time (seconds): ▇▁▁▁▁▁▁▁▁▁
                                        ▁▁▁▁▁▁▁▁▁▁min: 0.7 max: 1.2
          Total run-time (seconds): ▇▁▁▂▁▁▁▁▁▁
                                     ▁▁▁▁▁▁▁▁▁▁min: 1.2 max: 10.9
       Time since last run (seconds): ▄▃▂▅ ▃▇▂ ▂▂
                                        ▂▃▄▄▆▃▁▄▂▁▅min: 31.0 max: 1.8k



     $ mco find -S "resource().total_time > 10"
     node-demo-fe-01




                                                                         27
06
Future
06
     Future




              §   ENC
              §   Hiera
              §   Semi-automatic VM provisioning
              §   PuppetDB and Puppet Inventory
              §   Automated monitoring with Nagios (exported resources)




                                                                          29
07
Thanks and
Questions
06
     Thanks


              § Puppet Labs
              § Telefónica I+D
              § Thank you!

              § We’re hiring!

               xavi.carrillo@gmail.com

                  epgbcn3@tid.es




                                         31
06
     Questions?
     … and hopefully, answers




                                32
Puppet and Telefonica R&D

More Related Content

What's hot

Pro Puppet
Pro PuppetPro Puppet
Pro Puppetdsadas
 
Continuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic EnvironmentContinuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic EnvironmentPuppet
 
Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner)
Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner) Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner)
Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner) Puppet
 
Containers: from development to production at DevNation 2015
Containers: from development to production at DevNation 2015Containers: from development to production at DevNation 2015
Containers: from development to production at DevNation 2015Jérôme Petazzoni
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerWeb à Québec
 
Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Jérôme Petazzoni
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12dotCloud
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Nicolas Poggi
 
BlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automationBlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automationsinfomicien
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerJérôme Petazzoni
 
Java Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
Java Tech & Tools | Grails in the Java Enterprise | Peter LedbrookJava Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
Java Tech & Tools | Grails in the Java Enterprise | Peter LedbrookJAX London
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopJirayut Nimsaeng
 
Vagrant vs Docker
Vagrant vs DockerVagrant vs Docker
Vagrant vs Dockerjchase50
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developerWeerayut Hongsa
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutesLarry Cai
 
Docker and DevOps --- new IT culture
Docker and DevOps --- new IT cultureDocker and DevOps --- new IT culture
Docker and DevOps --- new IT cultureTerry Chen
 
Drupal Deployment
Drupal DeploymentDrupal Deployment
Drupal Deploymentq0rban
 
Cassandra on Docker
Cassandra on DockerCassandra on Docker
Cassandra on DockerInstaclustr
 

What's hot (20)

Pro Puppet
Pro PuppetPro Puppet
Pro Puppet
 
Continuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic EnvironmentContinuously-Integrated Puppet in a Dynamic Environment
Continuously-Integrated Puppet in a Dynamic Environment
 
Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner)
Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner) Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner)
Puppet Camp Chicago 2014: Running Multiple Puppet Masters (Beginner)
 
Containers: from development to production at DevNation 2015
Containers: from development to production at DevNation 2015Containers: from development to production at DevNation 2015
Containers: from development to production at DevNation 2015
 
Rami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
 
Docker zero
Docker zeroDocker zero
Docker zero
 
Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)Immutable infrastructure with Docker and containers (GlueCon 2015)
Immutable infrastructure with Docker and containers (GlueCon 2015)
 
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
Docker Presentation at the OpenStack Austin Meetup | 2013-09-12
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]
 
BlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automationBlaBlaCar and infrastructure automation
BlaBlaCar and infrastructure automation
 
Shipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with DockerShipping Applications to Production in Containers with Docker
Shipping Applications to Production in Containers with Docker
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Java Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
Java Tech & Tools | Grails in the Java Enterprise | Peter LedbrookJava Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
Java Tech & Tools | Grails in the Java Enterprise | Peter Ledbrook
 
Docker Continuous Delivery Workshop
Docker Continuous Delivery WorkshopDocker Continuous Delivery Workshop
Docker Continuous Delivery Workshop
 
Vagrant vs Docker
Vagrant vs DockerVagrant vs Docker
Vagrant vs Docker
 
Basic docker for developer
Basic docker for developerBasic docker for developer
Basic docker for developer
 
Learn docker in 90 minutes
Learn docker in 90 minutesLearn docker in 90 minutes
Learn docker in 90 minutes
 
Docker and DevOps --- new IT culture
Docker and DevOps --- new IT cultureDocker and DevOps --- new IT culture
Docker and DevOps --- new IT culture
 
Drupal Deployment
Drupal DeploymentDrupal Deployment
Drupal Deployment
 
Cassandra on Docker
Cassandra on DockerCassandra on Docker
Cassandra on Docker
 

Viewers also liked

Writing & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonWriting & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonPuppet
 
ApacheCloudStack
ApacheCloudStackApacheCloudStack
ApacheCloudStackPuppet
 
Puppet at Spotify
Puppet at SpotifyPuppet at Spotify
Puppet at SpotifyPuppet
 
How Puppet Labs Tests and Validates Puppet Enterprise
How Puppet Labs Tests and Validates Puppet EnterpriseHow Puppet Labs Tests and Validates Puppet Enterprise
How Puppet Labs Tests and Validates Puppet EnterprisePuppet
 
Engaging With The Puppet Community: From Noob to Guru* in Under a Year
Engaging With The Puppet Community: From Noob to Guru* in Under a YearEngaging With The Puppet Community: From Noob to Guru* in Under a Year
Engaging With The Puppet Community: From Noob to Guru* in Under a YearPuppet
 
Puppet powershell
Puppet powershellPuppet powershell
Puppet powershellPaul Stack
 
State of Puppet - Puppet Camp Barcelona 2013
State of Puppet - Puppet Camp Barcelona 2013State of Puppet - Puppet Camp Barcelona 2013
State of Puppet - Puppet Camp Barcelona 2013Puppet
 

Viewers also liked (7)

Writing & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonWriting & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp Boston
 
ApacheCloudStack
ApacheCloudStackApacheCloudStack
ApacheCloudStack
 
Puppet at Spotify
Puppet at SpotifyPuppet at Spotify
Puppet at Spotify
 
How Puppet Labs Tests and Validates Puppet Enterprise
How Puppet Labs Tests and Validates Puppet EnterpriseHow Puppet Labs Tests and Validates Puppet Enterprise
How Puppet Labs Tests and Validates Puppet Enterprise
 
Engaging With The Puppet Community: From Noob to Guru* in Under a Year
Engaging With The Puppet Community: From Noob to Guru* in Under a YearEngaging With The Puppet Community: From Noob to Guru* in Under a Year
Engaging With The Puppet Community: From Noob to Guru* in Under a Year
 
Puppet powershell
Puppet powershellPuppet powershell
Puppet powershell
 
State of Puppet - Puppet Camp Barcelona 2013
State of Puppet - Puppet Camp Barcelona 2013State of Puppet - Puppet Camp Barcelona 2013
State of Puppet - Puppet Camp Barcelona 2013
 

Similar to Puppet and Telefonica R&D

Leveraging docker for hadoop build automation and big data stack provisioning
Leveraging docker for hadoop build automation and big data stack provisioningLeveraging docker for hadoop build automation and big data stack provisioning
Leveraging docker for hadoop build automation and big data stack provisioningEvans Ye
 
Leveraging Docker for Hadoop build automation and Big Data stack provisioning
Leveraging Docker for Hadoop build automation and Big Data stack provisioningLeveraging Docker for Hadoop build automation and Big Data stack provisioning
Leveraging Docker for Hadoop build automation and Big Data stack provisioningDataWorks Summit
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned RightScale
 
You got a couple Microservices, now what? - Adding SRE to DevOps
You got a couple Microservices, now what?  - Adding SRE to DevOpsYou got a couple Microservices, now what?  - Adding SRE to DevOps
You got a couple Microservices, now what? - Adding SRE to DevOpsGonzalo Maldonado
 
Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012Roland Tritsch
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...Evans Ye
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningRUDDER
 
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot
 
Kubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to productionKubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to productionJens Hadlich
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java binOlve Hansen
 
11 tools for your PHP devops stack
11 tools for your PHP devops stack11 tools for your PHP devops stack
11 tools for your PHP devops stackKris Buytaert
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Stuart Charlton
 
Developing Rails Apps in Technical Isolation
Developing Rails Apps in Technical IsolationDeveloping Rails Apps in Technical Isolation
Developing Rails Apps in Technical IsolationJesus Jackson
 
Kubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with GardenerKubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with GardenerQAware GmbH
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsRightScale
 
Buytaert kris tools
Buytaert kris toolsBuytaert kris tools
Buytaert kris toolskuchinskaya
 
Perspectives on Docker
Perspectives on DockerPerspectives on Docker
Perspectives on DockerRightScale
 
OSMC 2012 | Shinken by Jean Gabès
OSMC 2012 | Shinken by Jean GabèsOSMC 2012 | Shinken by Jean Gabès
OSMC 2012 | Shinken by Jean GabèsNETWAYS
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stackKris Buytaert
 
Monitoring your VM's at Scale
Monitoring your VM's at ScaleMonitoring your VM's at Scale
Monitoring your VM's at ScaleKris Buytaert
 

Similar to Puppet and Telefonica R&D (20)

Leveraging docker for hadoop build automation and big data stack provisioning
Leveraging docker for hadoop build automation and big data stack provisioningLeveraging docker for hadoop build automation and big data stack provisioning
Leveraging docker for hadoop build automation and big data stack provisioning
 
Leveraging Docker for Hadoop build automation and Big Data stack provisioning
Leveraging Docker for Hadoop build automation and Big Data stack provisioningLeveraging Docker for Hadoop build automation and Big Data stack provisioning
Leveraging Docker for Hadoop build automation and Big Data stack provisioning
 
Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned  Real-World Docker: 10 Things We've Learned
Real-World Docker: 10 Things We've Learned
 
You got a couple Microservices, now what? - Adding SRE to DevOps
You got a couple Microservices, now what?  - Adding SRE to DevOpsYou got a couple Microservices, now what?  - Adding SRE to DevOps
You got a couple Microservices, now what? - Adding SRE to DevOps
 
Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012Puppet Camp Dublin - 06/2012
Puppet Camp Dublin - 06/2012
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
Cobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioningCobbler - Fast and reliable multi-OS provisioning
Cobbler - Fast and reliable multi-OS provisioning
 
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil CholewińskiPilot Tech Talk #10 — Practical automation by Kamil Cholewiński
Pilot Tech Talk #10 — Practical automation by Kamil Cholewiński
 
Kubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to productionKubernetes at Spreadshirt - First steps to production
Kubernetes at Spreadshirt - First steps to production
 
Docker presentasjon java bin
Docker presentasjon java binDocker presentasjon java bin
Docker presentasjon java bin
 
11 tools for your PHP devops stack
11 tools for your PHP devops stack11 tools for your PHP devops stack
11 tools for your PHP devops stack
 
Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!Platform Clouds, Containers, Immutable Infrastructure Oh My!
Platform Clouds, Containers, Immutable Infrastructure Oh My!
 
Developing Rails Apps in Technical Isolation
Developing Rails Apps in Technical IsolationDeveloping Rails Apps in Technical Isolation
Developing Rails Apps in Technical Isolation
 
Kubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with GardenerKubernetes Clusters as a Service with Gardener
Kubernetes Clusters as a Service with Gardener
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
 
Buytaert kris tools
Buytaert kris toolsBuytaert kris tools
Buytaert kris tools
 
Perspectives on Docker
Perspectives on DockerPerspectives on Docker
Perspectives on Docker
 
OSMC 2012 | Shinken by Jean Gabès
OSMC 2012 | Shinken by Jean GabèsOSMC 2012 | Shinken by Jean Gabès
OSMC 2012 | Shinken by Jean Gabès
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stack
 
Monitoring your VM's at Scale
Monitoring your VM's at ScaleMonitoring your VM's at Scale
Monitoring your VM's at Scale
 

More from Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyamlPuppet
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)Puppet
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscodePuppet
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twentiesPuppet
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codePuppet
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approachPuppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationPuppet
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliancePuppet
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowPuppet
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Puppet
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppetPuppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkPuppet
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping groundPuppet
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy SoftwarePuppet
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User GroupPuppet
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsPuppet
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyPuppet
 

More from Puppet (20)

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 

Recently uploaded

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
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
 
"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
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
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
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 

Recently uploaded (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
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
 
"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
 
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
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
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
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 

Puppet and Telefonica R&D

  • 1. Puppet and Telefónica I+D Puppet Camp Barcelona 2013 Xavi Carrillo
  • 3. 01 Introduction Who am I? § Puppet user for the last 2 years § Working at Telefonica I+D for 4 months § Telefonica Digital curently involved in a process of modernization § Helping on that by puppetizingTelefónica I+D 3
  • 4. 01 What do we do at I+D? 4
  • 5. 01 Initiatives 5
  • 7. 02 Environment x7 Development Staging Production 7
  • 8. 02 The problem domain § Machine Setups: manually (howtos,etc) § Environments: docs, wikis. § Releases: Hand over an RPM… § At least one SysAdmin per initiative 8
  • 9. 02 The needs • Infrastructure for many sysadmins, initiatives and environments. • Each initiatives’ setups are isolated. • Some manifests are common. • User-friendly repo management. • Updates must be automatic, with some degree of control. 9
  • 11. 03 The Solution 11
  • 12. 03 Git Frontends Internal Github § Licencing § Proprietary (can’t add post-receive hooks) 12
  • 13. 03 Git Frontends Git + Gitolite or Gitosis + Gitweb § Takes time (install, make it work, learn) § Not the most user friendly combo. § Ugly 13
  • 14. 03 Gitlab § Open Source § Free § Easy to install § Easy to administrate § LDAP integration § Owner of repo can manage team members § Looks great! 14
  • 16. 04 Products + Environments • Puppet Environments = Initiative + Environment • Git repos = Initiative + ‘_ puppet’ cdn_puppet m2m_puppet • Git branches = development, staging and production • Puppet Agent: --environment cdn_dev or m2m_sta 16
  • 17. 04 Puppet Master MANDATORY MODULES : /ETC/PUPPET ntp, yum, snmp, ssh… |__ MODULES |__MANIFESTS AVAILABLE MODULES: (default node) mysql, stlib, apache, etc. /VAR/LIB/PUPPET/INITIATIVES |__CDN_DEV <-- repo ‘cdn_puppet’, | |__MODULES branch ‘development’ | |__MANIFESTS | |__NODES |__CDN_STA <-- repo ‘cdn_puppet’, branch ‘stagement’ |__MODULES |__MANIFESTS |__NODES 17
  • 18. 04 Hooks Pre-receive Post-receive § Puppet Style Guide § Updates the puppet master § Puppet parser 18
  • 19. 04 Hooks Commit goes through YES? pre-receive post-receive Update the push initiative’s origin manifests develop sysadmins 19
  • 20. 04 The Big Picture CDN cdn_dev m2m_sta DEVELOPMENT M2M sysadmins STAGING M2M CDN 20
  • 21. 04 Yeah! • Different sysadmins can configure their systems in several environments in a centralized way • All machines in a controlled state • Inventory • Changes are tracked (commits) • No more how-tos: a git repository is all you need • Deploying new environments is much easier • Reduce duplication of work (Apache, MySQL, etc) 21
  • 22. 04 Work in progress Production is not puppetized yet 22
  • 24. 05 Evangelization • puppetusers@tid.es • Separate data from code (Hiera) • Always have the future in mind (parametrized classes, OS changes, multiple networks, etc.) 24
  • 25. 05 Vagrant Vagrant::Config.run do |config| config.vm.box = “RH5.8_2” config.vm.box_url = http://xxx/rh58_base.box config.vm.host_name = “m2mvagrant2” config.vm.provision :puppet_server do |puppet| puppet.puppet_server = "puppet.aislada“ puppet.options = ["--environment","m2m_dev"] end end 25
  • 26. 05 Mcollective $ mco puppet runall 10 2013-03-13 14:26:50: Running all nodes with a concurrency of 10 2013-03-13 14:26:50: Discovering enabled Puppet nodes to manage $ mco package status kernel Summary of Ensure: 2.6.32-220.el6 = 147 2.6.32-279.19.1.el6 = 19 2.6.32-220.7.1.el6 = 3 26
  • 27. 05 Mcollective – Detect performance issues $ mco puppet summary Total resources: ▇▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▂min: 66.0 max: 4.7k Out Of Sync resources: ▇▁▁▁▁▁▁▁▁▁ ▁▁▂▁▁▁▁▁▁▁min: 0.0 max: 7.0 Failed resources: ▇▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁min: 0.0 max: 1.0 Changed resources: ▇▁▂▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁min: 0.0 max: 6.0 Config Retrieval time (seconds): ▇▁▁▁▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁min: 0.7 max: 1.2 Total run-time (seconds): ▇▁▁▂▁▁▁▁▁▁ ▁▁▁▁▁▁▁▁▁▁min: 1.2 max: 10.9 Time since last run (seconds): ▄▃▂▅ ▃▇▂ ▂▂ ▂▃▄▄▆▃▁▄▂▁▅min: 31.0 max: 1.8k $ mco find -S "resource().total_time > 10" node-demo-fe-01 27
  • 29. 06 Future § ENC § Hiera § Semi-automatic VM provisioning § PuppetDB and Puppet Inventory § Automated monitoring with Nagios (exported resources) 29
  • 31. 06 Thanks § Puppet Labs § Telefónica I+D § Thank you! § We’re hiring! xavi.carrillo@gmail.com epgbcn3@tid.es 31
  • 32. 06 Questions? … and hopefully, answers 32