SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
Puppet @ Citygrid


        PuppetCamp LA 2012
Who am I ?



My name is Julien Rottenberg
Recovering System Administrator
Puppet user since 2009 (at GN)
I like to write code and answer questions
Puppet promises

                          No need to ssh to a
                          server to understand
                          how it works



Look at the puppet code
"Those who cannot remember the
past are condemned to repeat it."
                                     George Santayana




literally... go to a server, run `history` as root.
Puppet promises



Guarantee that a server is setup exactly the
same way on all environments
Puppet promises
Puppet promises



All the building steps
are auditable - SDLC
Drift management

Open knowledge, no
blackbox
Puppet promises

    and finally...
Toolset


    Open source tools :

    ●   No need to reinvent the wheel
    ●   You are not alone with 'that problem',
        get help
Toolset
Toolset


 puppet doc
 ● validate code (puppet parser validate)
 ● produce html doc

 Running on commit through Jenkins ~ 10
 sec
Toolset
Toolset



  puppet-lint == coding standard




          Takes ~ 2 min
          Part of the 'Ci-Game'
Toolset
trunk = work in progress - could break but fix
ASAP
production = tested code - do not break
Toolset    Trunk --> Production (CherryPicking)
                          We use svnmerge.py



   Code in progress = technical debt
   It needs to be merged and deployed or
   reverted

   Fail the build if pending Cherry Picks > 30

   Can't CherryPick yourself ~ code review
Toolset
          Svn even with svnmerge has limitations




                                  Git ?
Toolset
  Vagrant




Sits on top of Virtualbox
Allows to 'go crazy'
Test, experiment, share configured box
$ vagrant provision == puppet apply
Toolset
nVentory




As an External Node Classifier
Classes:
    - default_install
    - gcd
Toolset
  nVentory




Helper to build configuration files, etc.
ie replacement for Stored Config
Toolset
Foreman

Api for puppet status, visibility of puppetrun




 (Failed attempt on ENC - probably pebkac)
Toolset

 Man ! that's a lot of tools !1!!

And it's fine, design by contract.

Each application does one thing
and was designed to do that
thing only (so does it well)
Pipe them
                                     Dennis Ritchie
Toolset
Boto for

 ●   ec2
 ●   route53
 ●   elb
 ●   sqs
 ●   sns



 River dolphin native to the amazon WP
Culture cloud
EC2 glitches, expect them

It used to `just work` :
 ●  gmond (split view dns side effect, using
    gmetric)
 ●  jmx (need to specify public name at runtime)
 ●  ELB pseudo load balancer
 ●  Bad neighbors
Culture cloud
Culture cloud

# Build 10 nodes
$ create_ec2_instance.py -e dev -s m1.medium -c thd -n 10

# assign them to the hadoop::datanode class (specific install on top of our vanilla)
$ nv --name aws1devthd --addtonodegroup hadoop::datanode

# send traffic & enable monitoring (configs to be updated on the next puppet run)
$ nv --name aws1devthd --set status=inservice



  One AMI to rule them all (map set per region)
Culture Collaborate
Culture Collaborate



 "If the company's doing well and people
 don't hate each other, you're probably
 doing ok."
             John Allspaw, speaking at Devopsdays 2011 MV.
You guys !

Make it better :

- Integrated function for 'secrets' (no get_var or
hiera + gpg)
Something like an encrypted data luggage

 - puppet agent stability, puppetd vs cron ?
Guys !
Yesterday...
Two last things...


 On call rotation side effect


 Don't be a human keyboard
Shameless plug


We aggregate advertising & content from local
businesses and distribute across our network of
web & mobile sites



  ●   Ingest : Hadoop & Cassandra
  ●   Serve : Solr & MongoDb + Tomcat
  ●   Code : Java mostly
Q/A                                              This page : goo.gl/soxEs


puppet doc : http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc
puppet-lint : http://puppet-lint.com/
Jenkins : http://jenkins-ci.org/
svn strategy : http://weblogs.java.net/blog/johnsmart/archive/2009/05/ci_branching_an.html
svnmerge.py : http://www.orcaware.com/svn/wiki/Svnmerge.py
vagrant : http://vagrantup.com/
nventory : http://sourceforge.net/apps/trac/nventory/wiki
foreman : http://theforeman.org/
boto : https://github.com/boto/boto

Don't be an Ahole : http://www.hollenback.net/DevOpsMeansDontBeAnAhole
Developers on call - Mitchell Hashimoto : http://vimeo.com/31367609
Don't be a human keyboard : http://sysadvent.blogspot.com/2010/12/day-13-dont-be-human-keyboard.html

Citygrid is hiring : http://careers.citygrid.com/

Puppet Master LA User Group : http://www.meetup.com/LAPMUG/

Más contenido relacionado

La actualidad más candente

Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
Puppet
 

La actualidad más candente (19)

How to write a Dockerfile
How to write a DockerfileHow to write a Dockerfile
How to write a Dockerfile
 
Lessons Learned with Unity and WebGL
Lessons Learned with Unity and WebGLLessons Learned with Unity and WebGL
Lessons Learned with Unity and WebGL
 
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
 
Webinar - Matteo Manchi: Dal web al nativo: Introduzione a React Native
Webinar - Matteo Manchi: Dal web al nativo: Introduzione a React Native Webinar - Matteo Manchi: Dal web al nativo: Introduzione a React Native
Webinar - Matteo Manchi: Dal web al nativo: Introduzione a React Native
 
Automate Thyself
Automate ThyselfAutomate Thyself
Automate Thyself
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Docker. Micro services for lazy developers
Docker. Micro services for lazy developersDocker. Micro services for lazy developers
Docker. Micro services for lazy developers
 
Multi-provider Vagrant and Chef: AWS, VMware, and more
Multi-provider Vagrant and Chef: AWS, VMware, and moreMulti-provider Vagrant and Chef: AWS, VMware, and more
Multi-provider Vagrant and Chef: AWS, VMware, and more
 
Vagrant to-aws-flow
Vagrant to-aws-flowVagrant to-aws-flow
Vagrant to-aws-flow
 
Testing cloud and kubernetes applications - ElasTest
Testing cloud and kubernetes applications - ElasTestTesting cloud and kubernetes applications - ElasTest
Testing cloud and kubernetes applications - ElasTest
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
 
Vagrant presentation
Vagrant presentationVagrant presentation
Vagrant presentation
 
Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
 
Infrastructure as Data with Ansible
Infrastructure as Data with AnsibleInfrastructure as Data with Ansible
Infrastructure as Data with Ansible
 
cf.Objective() 2017 - Design patterns - Brad Wood
cf.Objective() 2017 - Design patterns - Brad Woodcf.Objective() 2017 - Design patterns - Brad Wood
cf.Objective() 2017 - Design patterns - Brad Wood
 
DevOps and Drupal
DevOps and DrupalDevOps and Drupal
DevOps and Drupal
 
Automate Yo' Self
Automate Yo' SelfAutomate Yo' Self
Automate Yo' Self
 
Devops For Drupal
Devops  For DrupalDevops  For Drupal
Devops For Drupal
 
Docker for developers
Docker for developersDocker for developers
Docker for developers
 

Destacado

Changing Landscape report summary FINAL
Changing Landscape report summary FINALChanging Landscape report summary FINAL
Changing Landscape report summary FINAL
Christine Grange
 
Ca today here and_now_martin_vajda
Ca today here and_now_martin_vajdaCa today here and_now_martin_vajda
Ca today here and_now_martin_vajda
mvajda62
 
Devops the Microsoft Way
Devops the Microsoft WayDevops the Microsoft Way
Devops the Microsoft Way
Patrick Chanezon
 

Destacado (20)

Automation with Puppet and a Path to Private Hybrid Cloud
Automation with Puppet and a Path to Private Hybrid CloudAutomation with Puppet and a Path to Private Hybrid Cloud
Automation with Puppet and a Path to Private Hybrid Cloud
 
Web 2.0 toolset overview
Web 2.0 toolset overviewWeb 2.0 toolset overview
Web 2.0 toolset overview
 
Changing Landscape report summary FINAL
Changing Landscape report summary FINALChanging Landscape report summary FINAL
Changing Landscape report summary FINAL
 
Carrenza at Government ICT 2016 / The advantages of highly automated clouds
Carrenza at Government ICT 2016 / The advantages of highly automated cloudsCarrenza at Government ICT 2016 / The advantages of highly automated clouds
Carrenza at Government ICT 2016 / The advantages of highly automated clouds
 
Automation & Cloud Evolution - Long View VMware Forum Calgary January 21 2014
Automation & Cloud Evolution - Long View VMware Forum Calgary January 21 2014Automation & Cloud Evolution - Long View VMware Forum Calgary January 21 2014
Automation & Cloud Evolution - Long View VMware Forum Calgary January 21 2014
 
Ca today here and_now_martin_vajda
Ca today here and_now_martin_vajdaCa today here and_now_martin_vajda
Ca today here and_now_martin_vajda
 
Automation for cloud
Automation for cloudAutomation for cloud
Automation for cloud
 
Implementing automation within your organisation
Implementing automation within your organisationImplementing automation within your organisation
Implementing automation within your organisation
 
WSO2Con EU 2016: WSO2 Cloud and Platform as a Service Strategy
WSO2Con EU 2016: WSO2 Cloud and Platform as a Service StrategyWSO2Con EU 2016: WSO2 Cloud and Platform as a Service Strategy
WSO2Con EU 2016: WSO2 Cloud and Platform as a Service Strategy
 
Cisco Intelligent Automation For Cloud
Cisco Intelligent Automation For CloudCisco Intelligent Automation For Cloud
Cisco Intelligent Automation For Cloud
 
The Hyper Connected Era: Mobile First, Cloud First and Multi Screen
The Hyper Connected Era: Mobile First, Cloud First and Multi Screen The Hyper Connected Era: Mobile First, Cloud First and Multi Screen
The Hyper Connected Era: Mobile First, Cloud First and Multi Screen
 
Automating Cloud Operations: Tips from Managed Services
Automating Cloud Operations: Tips from Managed ServicesAutomating Cloud Operations: Tips from Managed Services
Automating Cloud Operations: Tips from Managed Services
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
IT Service Catalog: Build a Service Taxonomy in 4 Easy Steps
IT Service Catalog: Build a Service Taxonomy in 4 Easy StepsIT Service Catalog: Build a Service Taxonomy in 4 Easy Steps
IT Service Catalog: Build a Service Taxonomy in 4 Easy Steps
 
Building REST APIs with Spring Boot and Spring Cloud
Building REST APIs with Spring Boot and Spring CloudBuilding REST APIs with Spring Boot and Spring Cloud
Building REST APIs with Spring Boot and Spring Cloud
 
How to Operate in the Cloud Using ServiceNow, RightScale and More
How to Operate in the Cloud Using ServiceNow, RightScale and MoreHow to Operate in the Cloud Using ServiceNow, RightScale and More
How to Operate in the Cloud Using ServiceNow, RightScale and More
 
Devops the Microsoft Way
Devops the Microsoft WayDevops the Microsoft Way
Devops the Microsoft Way
 
DevOps in the Cloud with Microsoft Azure
DevOps in the Cloud with Microsoft AzureDevOps in the Cloud with Microsoft Azure
DevOps in the Cloud with Microsoft Azure
 
7 Common Questions About a Cloud Management Platform
7 Common Questions About a Cloud Management Platform7 Common Questions About a Cloud Management Platform
7 Common Questions About a Cloud Management Platform
 
OpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetesOpenShift Enterprise 3.1 vs kubernetes
OpenShift Enterprise 3.1 vs kubernetes
 

Similar a Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12

Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet system
rkhatibi
 
Puppet for dummies - PHPBenelux UG edition
Puppet for dummies - PHPBenelux UG editionPuppet for dummies - PHPBenelux UG edition
Puppet for dummies - PHPBenelux UG edition
Joshua Thijssen
 
Integrating cloud stack with puppet
Integrating cloud stack with puppetIntegrating cloud stack with puppet
Integrating cloud stack with puppet
Puppet
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Docker, Inc.
 

Similar a Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12 (20)

Killer Bugs From Outer Space
Killer Bugs From Outer SpaceKiller Bugs From Outer Space
Killer Bugs From Outer Space
 
Creating a Mature Puppet System
Creating a Mature Puppet SystemCreating a Mature Puppet System
Creating a Mature Puppet System
 
Creating a mature puppet system
Creating a mature puppet systemCreating a mature puppet system
Creating a mature puppet system
 
Puppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 EditionPuppet for dummies - ZendCon 2011 Edition
Puppet for dummies - ZendCon 2011 Edition
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
 
Automating MySQL operations with Puppet
Automating MySQL operations with PuppetAutomating MySQL operations with Puppet
Automating MySQL operations with Puppet
 
PuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With NotesPuppetConf 2014 Killer R10K Workflow With Notes
PuppetConf 2014 Killer R10K Workflow With Notes
 
Puppet for dummies - PHPBenelux UG edition
Puppet for dummies - PHPBenelux UG editionPuppet for dummies - PHPBenelux UG edition
Puppet for dummies - PHPBenelux UG edition
 
Cfgmgmt Challenges aren't technical anymore
Cfgmgmt Challenges aren't technical anymoreCfgmgmt Challenges aren't technical anymore
Cfgmgmt Challenges aren't technical anymore
 
Building a continuous delivery platform for the biggest spike in e-commerce -...
Building a continuous delivery platform for the biggest spike in e-commerce -...Building a continuous delivery platform for the biggest spike in e-commerce -...
Building a continuous delivery platform for the biggest spike in e-commerce -...
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
 
Integrating cloud stack with puppet
Integrating cloud stack with puppetIntegrating cloud stack with puppet
Integrating cloud stack with puppet
 
Code quality; patch quality
Code quality; patch qualityCode quality; patch quality
Code quality; patch quality
 
Code quality. Patch quality
Code quality. Patch qualityCode quality. Patch quality
Code quality. Patch quality
 
Operationalizing Clojure Confidently
Operationalizing Clojure ConfidentlyOperationalizing Clojure Confidently
Operationalizing Clojure Confidently
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large Enterprises
 
Everything You Were Taught About Java Is Wrong
Everything You Were Taught About Java Is WrongEverything You Were Taught About Java Is Wrong
Everything You Were Taught About Java Is Wrong
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
 

Más de Puppet

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
 
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
 
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
Puppet
 

Más de 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
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

Puppet@Citygrid - Julien Rottenberg - PuppetCamp LA '12

  • 1. Puppet @ Citygrid PuppetCamp LA 2012
  • 2. Who am I ? My name is Julien Rottenberg Recovering System Administrator Puppet user since 2009 (at GN) I like to write code and answer questions
  • 3. Puppet promises No need to ssh to a server to understand how it works Look at the puppet code
  • 4. "Those who cannot remember the past are condemned to repeat it." George Santayana literally... go to a server, run `history` as root.
  • 5. Puppet promises Guarantee that a server is setup exactly the same way on all environments
  • 7. Puppet promises All the building steps are auditable - SDLC Drift management Open knowledge, no blackbox
  • 8. Puppet promises and finally...
  • 9. Toolset Open source tools : ● No need to reinvent the wheel ● You are not alone with 'that problem', get help
  • 11. Toolset puppet doc ● validate code (puppet parser validate) ● produce html doc Running on commit through Jenkins ~ 10 sec
  • 13. Toolset puppet-lint == coding standard Takes ~ 2 min Part of the 'Ci-Game'
  • 14. Toolset trunk = work in progress - could break but fix ASAP production = tested code - do not break
  • 15. Toolset Trunk --> Production (CherryPicking) We use svnmerge.py Code in progress = technical debt It needs to be merged and deployed or reverted Fail the build if pending Cherry Picks > 30 Can't CherryPick yourself ~ code review
  • 16. Toolset Svn even with svnmerge has limitations Git ?
  • 17. Toolset Vagrant Sits on top of Virtualbox Allows to 'go crazy' Test, experiment, share configured box $ vagrant provision == puppet apply
  • 18. Toolset nVentory As an External Node Classifier Classes: - default_install - gcd
  • 19. Toolset nVentory Helper to build configuration files, etc. ie replacement for Stored Config
  • 20. Toolset Foreman Api for puppet status, visibility of puppetrun (Failed attempt on ENC - probably pebkac)
  • 21. Toolset Man ! that's a lot of tools !1!! And it's fine, design by contract. Each application does one thing and was designed to do that thing only (so does it well) Pipe them Dennis Ritchie
  • 22. Toolset Boto for ● ec2 ● route53 ● elb ● sqs ● sns River dolphin native to the amazon WP
  • 23. Culture cloud EC2 glitches, expect them It used to `just work` : ● gmond (split view dns side effect, using gmetric) ● jmx (need to specify public name at runtime) ● ELB pseudo load balancer ● Bad neighbors
  • 25. Culture cloud # Build 10 nodes $ create_ec2_instance.py -e dev -s m1.medium -c thd -n 10 # assign them to the hadoop::datanode class (specific install on top of our vanilla) $ nv --name aws1devthd --addtonodegroup hadoop::datanode # send traffic & enable monitoring (configs to be updated on the next puppet run) $ nv --name aws1devthd --set status=inservice One AMI to rule them all (map set per region)
  • 27. Culture Collaborate "If the company's doing well and people don't hate each other, you're probably doing ok." John Allspaw, speaking at Devopsdays 2011 MV.
  • 28. You guys ! Make it better : - Integrated function for 'secrets' (no get_var or hiera + gpg) Something like an encrypted data luggage - puppet agent stability, puppetd vs cron ?
  • 31. Two last things... On call rotation side effect Don't be a human keyboard
  • 32. Shameless plug We aggregate advertising & content from local businesses and distribute across our network of web & mobile sites ● Ingest : Hadoop & Cassandra ● Serve : Solr & MongoDb + Tomcat ● Code : Java mostly
  • 33. Q/A This page : goo.gl/soxEs puppet doc : http://docs.puppetlabs.com/guides/style_guide.html#puppet-doc puppet-lint : http://puppet-lint.com/ Jenkins : http://jenkins-ci.org/ svn strategy : http://weblogs.java.net/blog/johnsmart/archive/2009/05/ci_branching_an.html svnmerge.py : http://www.orcaware.com/svn/wiki/Svnmerge.py vagrant : http://vagrantup.com/ nventory : http://sourceforge.net/apps/trac/nventory/wiki foreman : http://theforeman.org/ boto : https://github.com/boto/boto Don't be an Ahole : http://www.hollenback.net/DevOpsMeansDontBeAnAhole Developers on call - Mitchell Hashimoto : http://vimeo.com/31367609 Don't be a human keyboard : http://sysadvent.blogspot.com/2010/12/day-13-dont-be-human-keyboard.html Citygrid is hiring : http://careers.citygrid.com/ Puppet Master LA User Group : http://www.meetup.com/LAPMUG/