SlideShare a Scribd company logo
1 of 12
Download to read offline
Continuous Deployment for
          Ops
     (who use Chef and git)



                              @mikebabineau
                                      EA2D
Infrastructure as Code


“Enable the reconstruction of the business from nothing but a
source code repository, an application data backup, and bare
metal resources”
 - Jesse Robbins
Chef primer

Client-server config management tool

Cookbooks - modules with recipes for doing stuff
Roles - which recipes? what settings?
Data Bags - JSON object storage
Knife - CLI tool
Bad:
$ knife role edit myrole
Better:
$ knife role from file roles/myrole.json
How?

$ tree -a chef-repo
chef-repo
├── .chef
├── .git
├── cookbooks
│ └── myapp
├── databags
└── roles
   └── myrole.json
Best:
$ git push origin master
How?
for cookbook in $(git_diff("cookbooks")); do
   knife cookbook upload $cookbook
done

for role in $(git_diff("roles")); do
   knife role from file $role
done

for bag in $(git_diff("databags")); do
   for item in $(git_diff("items", $bag)); do
      knife data bag from file $bag $item
   done
done
How do you test?
$ git push origin dev
$ cat .chef/knife.rb
...
# (original by jtimberman@opscode.com)

require 'grit'
branch = Grit::Repo.new("#{current_dir}/..").head.name

case branch
when "master"
 orgname = "ea2d"
else
 orgname = "ea2d-dev"
end

validation_key "#{current_dir}/#{orgname}-validator.pem"
chef_server_url "https://api.opscode.com/organizations/#{orgname}"

validation_client_name "#{orgname}-validator"

...

https://gist.github.com/829733
Questions?
mikeb@ea2d.com




We're hiring:
AWS, Java, Chef, Python,
JS, GAE, NoSQL, DevOps, etc.

http://ea2d.com/jobs/

More Related Content

Viewers also liked

A po co mi usability?
A po co mi usability?A po co mi usability?
A po co mi usability?Dige
 
2009 08 18 Narzedzia
2009 08 18 Narzedzia2009 08 18 Narzedzia
2009 08 18 NarzedziaDige
 
Agilyze Them! Experiences promoting Agile Methodologies in Navarra
Agilyze Them! Experiences promoting Agile Methodologies in NavarraAgilyze Them! Experiences promoting Agile Methodologies in Navarra
Agilyze Them! Experiences promoting Agile Methodologies in NavarraZalakain
 
Fsu the entreprenurial university
Fsu the entreprenurial universityFsu the entreprenurial university
Fsu the entreprenurial universitystevenlroden
 
Show Us the Stimulus: An Evaluation of Minnesota's Recovery Act Websites
Show Us the Stimulus: An Evaluation of Minnesota's Recovery Act WebsitesShow Us the Stimulus: An Evaluation of Minnesota's Recovery Act Websites
Show Us the Stimulus: An Evaluation of Minnesota's Recovery Act WebsitesMike
 
Difference .Net Frameworks
Difference .Net FrameworksDifference .Net Frameworks
Difference .Net Frameworksmumairkhan
 
PowerShellで.NETとCOMとWMI
PowerShellで.NETとCOMとWMIPowerShellで.NETとCOMとWMI
PowerShellで.NETとCOMとWMIchiaki1220jp
 
Producten Diversity (Innovation)
Producten Diversity (Innovation)Producten Diversity (Innovation)
Producten Diversity (Innovation)vincentvm
 
The Restaurant saves lost customers & revenue
The Restaurant saves lost customers & revenueThe Restaurant saves lost customers & revenue
The Restaurant saves lost customers & revenueThe Restaurant Report
 
Diversity@Selor
Diversity@SelorDiversity@Selor
Diversity@Selorvincentvm
 
Daimler Chrysler Aerospace Ag
Daimler Chrysler Aerospace AgDaimler Chrysler Aerospace Ag
Daimler Chrysler Aerospace AgUtkarsha Singh
 
Stalwart Global Consulting - Company Intro
Stalwart Global Consulting - Company IntroStalwart Global Consulting - Company Intro
Stalwart Global Consulting - Company IntroAbhi Kulkarni
 
Fsu the entreprenurial university final
Fsu the entreprenurial university finalFsu the entreprenurial university final
Fsu the entreprenurial university finalstevenlroden
 

Viewers also liked (16)

A entrevista
A entrevistaA entrevista
A entrevista
 
A po co mi usability?
A po co mi usability?A po co mi usability?
A po co mi usability?
 
2009 08 18 Narzedzia
2009 08 18 Narzedzia2009 08 18 Narzedzia
2009 08 18 Narzedzia
 
Agilyze Them! Experiences promoting Agile Methodologies in Navarra
Agilyze Them! Experiences promoting Agile Methodologies in NavarraAgilyze Them! Experiences promoting Agile Methodologies in Navarra
Agilyze Them! Experiences promoting Agile Methodologies in Navarra
 
YaleDHI FtM Talk
YaleDHI FtM TalkYaleDHI FtM Talk
YaleDHI FtM Talk
 
Fsu the entreprenurial university
Fsu the entreprenurial universityFsu the entreprenurial university
Fsu the entreprenurial university
 
Show Us the Stimulus: An Evaluation of Minnesota's Recovery Act Websites
Show Us the Stimulus: An Evaluation of Minnesota's Recovery Act WebsitesShow Us the Stimulus: An Evaluation of Minnesota's Recovery Act Websites
Show Us the Stimulus: An Evaluation of Minnesota's Recovery Act Websites
 
Difference .Net Frameworks
Difference .Net FrameworksDifference .Net Frameworks
Difference .Net Frameworks
 
PowerShellで.NETとCOMとWMI
PowerShellで.NETとCOMとWMIPowerShellで.NETとCOMとWMI
PowerShellで.NETとCOMとWMI
 
Producten Diversity (Innovation)
Producten Diversity (Innovation)Producten Diversity (Innovation)
Producten Diversity (Innovation)
 
The Restaurant saves lost customers & revenue
The Restaurant saves lost customers & revenueThe Restaurant saves lost customers & revenue
The Restaurant saves lost customers & revenue
 
Diversity@Selor
Diversity@SelorDiversity@Selor
Diversity@Selor
 
Daimler Chrysler Aerospace Ag
Daimler Chrysler Aerospace AgDaimler Chrysler Aerospace Ag
Daimler Chrysler Aerospace Ag
 
Stalwart Global Consulting - Company Intro
Stalwart Global Consulting - Company IntroStalwart Global Consulting - Company Intro
Stalwart Global Consulting - Company Intro
 
Fsu the entreprenurial university final
Fsu the entreprenurial university finalFsu the entreprenurial university final
Fsu the entreprenurial university final
 
Max New York Phase Ii
Max New York Phase IiMax New York Phase Ii
Max New York Phase Ii
 

Recently uploaded

Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
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 educationjfdjdjcjdnsjd
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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 FresherRemote DBA Services
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 

Recently uploaded (20)

Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
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
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

Continuous Deployment of Operational Configs

  • 1. Continuous Deployment for Ops (who use Chef and git) @mikebabineau EA2D
  • 2.
  • 3. Infrastructure as Code “Enable the reconstruction of the business from nothing but a source code repository, an application data backup, and bare metal resources” - Jesse Robbins
  • 4. Chef primer Client-server config management tool Cookbooks - modules with recipes for doing stuff Roles - which recipes? what settings? Data Bags - JSON object storage Knife - CLI tool
  • 5. Bad: $ knife role edit myrole
  • 6. Better: $ knife role from file roles/myrole.json
  • 7. How? $ tree -a chef-repo chef-repo ├── .chef ├── .git ├── cookbooks │ └── myapp ├── databags └── roles └── myrole.json
  • 8. Best: $ git push origin master
  • 9. How? for cookbook in $(git_diff("cookbooks")); do knife cookbook upload $cookbook done for role in $(git_diff("roles")); do knife role from file $role done for bag in $(git_diff("databags")); do for item in $(git_diff("items", $bag)); do knife data bag from file $bag $item done done
  • 10. How do you test? $ git push origin dev
  • 11. $ cat .chef/knife.rb ... # (original by jtimberman@opscode.com) require 'grit' branch = Grit::Repo.new("#{current_dir}/..").head.name case branch when "master" orgname = "ea2d" else orgname = "ea2d-dev" end validation_key "#{current_dir}/#{orgname}-validator.pem" chef_server_url "https://api.opscode.com/organizations/#{orgname}" validation_client_name "#{orgname}-validator" ... https://gist.github.com/829733
  • 12. Questions? mikeb@ea2d.com We're hiring: AWS, Java, Chef, Python, JS, GAE, NoSQL, DevOps, etc. http://ea2d.com/jobs/