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

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
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
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 RobisonAnna Loughnan Colquhoun
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
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 TerraformAndrey Devyatkin
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
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
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
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...Drew Madelung
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 

Recently uploaded (20)

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
 
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
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
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
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
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
 
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
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

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/