SlideShare a Scribd company logo
1 of 114
AUTOMATE OR DIE!
Trotter Cashion / Strange Loop 2010
                        http://pinktentacle.com/images/irex2009_4_large.jpg
CO-FOUNDER
@CASHION




   http://www.charlesheflin.com/wp-content/uploads/2010/06/fail-whale.jpg
github.com/trotter




http://gems.github.com/octocat.png
AGENDA
THE MANUAL PROBLEM
CHEF SERVER VS. CHEF SOLO
COOKBOOK INTERNALS
GOING WAY BACK




         http://www.ameshistoricalsociety.org/identify/old_car1.jpg
FORD VS. THE OTHER GUYS
Pre-Ford (?-1907)     Model T (1915)


 $2,000 - $3,000          $850


  Made by hand        Assembly Line


12.5 hours to build     1.5 hours
BY 1930
  250 car companies had died




http://sdo210.files.wordpress.com/2010/05/grantwood-american-gothic-1930.jpg
SO WHAT ABOUT US?




       http://media.photobucket.com/image/nerds%20candy/civy1811/car002.jpg
Most Tech Companies are Essentially
American Auto Companies Pre-Ford
MYSQL




        http://www.dolphinsc.com/images/Dolphin.jpg
POSTGRES




http://images.buycostumes.com/mgen/merchandiser/32494.jpg
APACHE




   http://www.wallpapers-free.org/34/-/Apache_Longbow_Helicopter/
NGINX




http://www.allbestwallpapers.com/travel-kremlin_and_red_square_fireworks,_moscow,_russia_wallpapers.html
Memcached
Memcached
        Redis
Memcached
        Redis
           Mongodb
Memcached
        Redis
           Mongodb Riak
Memcached
        Redis
           Mongodb Riak

                   Cassandra
Memcached
        Redis
           Mongodb Riak

                       Cassandra


                Project Voldemort
Memcached
        Redis
           Mongodb Riak

       Ubuntu          Cassandra


                Project Voldemort
Memcached
        Redis         Redhat
           Mongodb Riak

       Ubuntu          Cassandra


                Project Voldemort
Memcached
        Redis           Redhat
   Solaris   Mongodb Riak

       Ubuntu          Cassandra


                Project Voldemort
Memcached         iptables
        Redis           Redhat
   Solaris   Mongodb Riak

       Ubuntu          Cassandra


                Project Voldemort
Memcached         iptables
        Redis           Redhat
   Solaris   Mongodb Riak

       Ubuntu             Cassandra
                   sshd
                Project Voldemort
Memcached         iptables
        Redis         Redhat
  Solaris  Mongodb Riak
DNS Servers
       Ubuntu             Cassandra
                   sshd
                Project Voldemort
Memcached            iptables
        Redis           Redhat
  Solaris    Mongodb Riak
DNS Servers
       Ubuntu                Cassandra
                      sshd
TCP/IP internals
                   Project Voldemort
We Idolize the Artisan Sysadmin
... but what do we end up with?
SNOWFLAKES
     ... that become avalanches




http://www.enviro-bc.ca/wp-content/uploads/2009/04/bowlake-aval_clair-israelson.jpg
HEISENBUGS




http://osulibrary.oregonstate.edu/specialcollections/coll/nonspcoll/catalogue/portrait-heisenberg-600w.jpg
NO MORE MONEY!




      http://assets.troubledteenswizard.com/uploaded/WoW/nomoney1.jpg
We’re really left with two choices
Automate... or die.
Automation is not hard!
CFENGINE




http://hackedgadgets.com/wp-content/2/LEGO_V8_Engine_1.jpg
PUPPET




   http://www.flickr.com/photos/willemvelthoven/381608678/sizes/l/
CHEF!




   http://www.flickr.com/photos/venndiagram/4891510333/sizes/l/
WRITTEN BY




             http://www.opscode.com/
WRITTEN IN




     http://www.prestonlee.com/wp-content/uploads/2008/09/ruby.png
Two Delicious Flavors
SERVER




http://upload.wikimedia.org/wikipedia/commons/e/e0/Google%E2%80%99s_First_Production_Server.jpg
HOW IT WORKS
HOW IT WORKS

      Your
    Computer
HOW IT WORKS

              Your
            Computer




 Box to
Provision
HOW IT WORKS

              Your
            Computer




 Box to
                       Chef Server
Provision
HOW IT WORKS

               Your
             Computer
Prepare


  Box to
                        Chef Server
 Provision
HOW IT WORKS

                Your
              Computer
Prepare

             What now?
  Box to
                         Chef Server
 Provision
HOW IT WORKS

                Your
              Computer
Prepare                    Cookbooks

             What now?
  Box to
                         Chef Server
 Provision
HOW IT WORKS

                Your
              Computer
Prepare                    Cookbooks

             What now?
  Box to
                         Chef Server
 Provision
                Run!
SOLO




http://www.pbs.org/parents/supersisters/han_solo-thumb-454x654.jpg
HOW IT WORKS
HOW IT WORKS


  Your
Computer
HOW IT WORKS


  Your         Box to
Computer      Provision
HOW IT WORKS

           Prepare
  Your                Box to
Computer             Provision
HOW IT WORKS

            Prepare
  Your                  Box to
Computer
           Cookbooks   Provision
HOW IT WORKS

            Prepare
  Your                  Box to
Computer
           Cookbooks   Provision
              Go!
Chef Structure
CHEF HEIRARCHY
                         Node



       Roles                             Cookbooks



Cookbooks



     Recipes    Attributes   Templates   Definitions
ROLES ARE REUSABLE!

 config/dev.json   config/db.json



           roles/db.rb
GETTING
              GOING




http://www.flickr.com/photos/seandreilinger/959864706/sizes/o/
WHAT YOU NEED
WHAT YOU NEED
           Ruby &
          Rubygems
WHAT YOU NEED
                      Ruby &
                     Rubygems



`gem install chef`   Chef Gem
WHAT YOU NEED
                                 Ruby &
                                Rubygems



     `gem install chef`         Chef Gem



`git clone http://github.com/
                                Chef Repo
   opscode/chef-repo.git`
COOKBOOKS.OPSCODE.COM




                 http://cookbooks.opscode.com/
TERMINAL JUNKIES
TERMINAL JUNKIES
•spatula   search mysql
TERMINAL JUNKIES
•spatula   search mysql
•spatula   install mysql
TERMINAL JUNKIES
•spatula   search mysql
•spatula   install mysql
•spatula   show mysql
TERMINAL JUNKIES
•spatula     search mysql
•spatula     install mysql
•spatula     show mysql
•... knife   has similar functionality
GET THE BOX READY

                                ssh db-one.host “install ruby”
spatula prepare db-one.host =
                                ssh db-one.host “install chef”
GO GO GO!

                                 rsync repo to db-one.host

spatula cook db-one.host db = ssh db-one.host “sudo 
                                chef-solo -c config/solo.rb 
                                -j config/db.json”
WITH CHEF SERVER
    install dependencies


       turn on client


  send cookbooks to client
DIGGING DEEPER




    http://media.photobucket.com/image/minecraft/bluekabal/roma/minesofroma.jpg
CHEF HEIRARCHY
                         Node



       Roles                             Cookbooks



Cookbooks



     Recipes    Attributes   Templates   Definitions
A NODE
// ./config/db_one.json
{ "run_list": ["role[db]"] }


        Recipes and Roles go here
CHEF HEIRARCHY
                         Node



       Roles                             Cookbooks



Cookbooks



     Recipes    Attributes   Templates   Definitions
A ROLE
# ./roles/db.rb
name "database"
description "Be a DB"
run_list [ "apache2", "mysql::server" ]
A ROLE
# ./roles/db.rb
name "database"
                            Recipes to run
description "Be a DB"
run_list [ "apache2", "mysql::server" ]
A ROLE
# ./roles/db.rb
name "database"
description "Be a DB"
run_list [ "apache2", "mysql::server" ]


  ./cookbooks/apache2/recipes/default.rb
A ROLE
# ./roles/db.rb
name "database"
description "Be a DB"
run_list [ "apache2", "mysql::server" ]


                  ./cookbooks/mysql/recipes/server.rb
CHEF HEIRARCHY
                         Node



       Roles                             Cookbooks



Cookbooks



     Recipes    Attributes   Templates   Definitions
ATTRIBUTES
# ./cookbooks/mysql/attributes/server.rb
default[:mysql][:server_debian_password]   =   secure_password
default[:mysql][:server_root_password]     =   secure_password
default[:mysql][:server_repl_password]     =   secure_password
default[:mysql][:bind_address]             =   ipaddress
default[:mysql][:datadir]                  =   "/var/lib/mysql"

# Tunables
default[:mysql][:tunable][:key_buffer]              = "250M"
default[:mysql][:tunable][:max_connections]         = "800"
default[:mysql][:tunable][:wait_timeout]            = "180"
OVERRIDING ATTRIBUTES
   Node
// ./config/db.json
{ "mysql": { "server_root_password": "beefcake" },
  "recipes": [ "mysql" ] }



   Role
# ./roles/db.rb
name "database"
description "Be a DB"
run_list [ "mysql::server" ]
default_attributes :mysql => { :server_root_password =>
                               "beefcake" }
CHEF HEIRARCHY
                         Node



       Roles                             Cookbooks



Cookbooks



     Recipes    Attributes   Templates   Definitions
THE RECIPE... PART 1
# ./cookbooks/mysql/recipes/server.rb
include_recipe "mysql::client"
THE RECIPE... PART 2
package "mysql-server" do
  action :install
end
THE RECIPE... PART 3
template "/etc/mysql/my.cnf" do
  source "my.cnf.erb"
  owner "root"
  group "root"
  mode "0644"
  notifies :restart,
           resources(:service => "mysql"),
           :immediately
end
CHEF HEIRARCHY
                         Node



       Roles                             Cookbooks



Cookbooks



     Recipes    Attributes   Templates   Definitions
A TEMPLATE SAMPLE
user            =   mysql
pid-file        =   /var/run/mysqld/mysqld.pid
socket          =   /var/run/mysqld/mysqld.sock
datadir         =   <%= @datadir %>
bind-address    =   <%= @node[:mysql][:bind_address] %>
A TEMPLATE SAMPLE
user            =   mysql
pid-file        =   /var/run/mysqld/mysqld.pid
socket          =   /var/run/mysqld/mysqld.sock
datadir         =   <%= @datadir %>
bind-address    =   <%= @node[:mysql][:bind_address] %>


                               OMG, ERB!!
A TEMPLATE SAMPLE
user            =   mysql
pid-file        =   /var/run/mysqld/mysqld.pid
socket          =   /var/run/mysqld/mysqld.sock
datadir         =   <%= @datadir %>
bind-address    =   <%= @node[:mysql][:bind_address] %>


                               From Attributes
A TEMPLATE SAMPLE
user            =   mysql
pid-file        =   /var/run/mysqld/mysqld.pid
socket          =   /var/run/mysqld/mysqld.sock
datadir         =   <%= @datadir %>     From Template
bind-address    =   <%= @node[:mysql][:bind_address] %>
ASSIGNING VARIABLES
template "/etc/mysql/my.cnf" do
  source "my.cnf.erb"
  owner "root"
  group "root"
  mode "0644"
  variables :datadir => “/var/lib/mysql”
end
CHEF HEIRARCHY
                         Node



       Roles                             Cookbooks



Cookbooks



     Recipes    Attributes   Templates   Definitions
DEFINITIONS
define :apache_conf do
  dir = node[:apache][:dir]
  template "#{dir}/mods-available/#{params[:name]}.conf" do
    source "mods/#{params[:name]}.conf.erb"
    notifies :restart, resources(:service => "apache2")
  end
end

# In your recipe
apache_conf "mod_ssl"
LET’S
                  WRAP
                  IT U P




http://www.flickr.com/photos/andresthor/3946773501/sizes/l/in/photostream/
AUTOMATE EVERYTHING!!




            http://www.flickr.com/photos/kenfagerdotcom/3409813881/
Deploying == Provisioning
USE CHEF!!!!!




      http://www.flickr.com/photos/martin_borjesson/4083726805/sizes/o/
ON THE INTERNETS
ON THE INTERNETS
•twitter   - @cashion
ON THE INTERNETS
•twitter   - @cashion
•github    - http://github.com/trotter
ON THE INTERNETS
•twitter   - @cashion
•github    - http://github.com/trotter
•email   - cashion on the gmailz
DOMO ARIGATO




       http://www.flickr.com/photos/dancoulter/21042744/sizes/o/
RESOURCES
RESOURCES
• http://wiki.opscode.com/display/chef/Resources
RESOURCES
• http://wiki.opscode.com/display/chef/Resources

•#chef   on freenode
RESOURCES
• http://wiki.opscode.com/display/chef/Resources

•#chef   on freenode
•cashion@gmail.com

More Related Content

What's hot

Lights, Camera, Docker: Streaming Video at DramaFever
Lights, Camera, Docker: Streaming Video at DramaFeverLights, Camera, Docker: Streaming Video at DramaFever
Lights, Camera, Docker: Streaming Video at DramaFeverbridgetkromhout
 
Getting Started with Ansible
Getting Started with AnsibleGetting Started with Ansible
Getting Started with Ansibleahamilton55
 
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Software, Inc.
 
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsCool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsRyan Weaver
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menujtimberman
 
Using Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in RubyUsing Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in RubyLaunchAny
 
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...Chef Software, Inc.
 
Rocket Fuelled Cucumbers
Rocket Fuelled CucumbersRocket Fuelled Cucumbers
Rocket Fuelled CucumbersJoseph Wilk
 
Nginx Workshop Aftermath
Nginx Workshop AftermathNginx Workshop Aftermath
Nginx Workshop AftermathDenis Zhdanov
 
Puppet at janrain
Puppet at janrainPuppet at janrain
Puppet at janrainPuppet
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyConsegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyFabio Akita
 
Performance testing crash course (Dustin Whittle)
Performance testing crash course (Dustin Whittle)Performance testing crash course (Dustin Whittle)
Performance testing crash course (Dustin Whittle)Future Insights
 
Ansible for beginners ...?
Ansible for beginners ...?Ansible for beginners ...?
Ansible for beginners ...?shirou wakayama
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to ChefKnoldus Inc.
 

What's hot (20)

Lights, Camera, Docker: Streaming Video at DramaFever
Lights, Camera, Docker: Streaming Video at DramaFeverLights, Camera, Docker: Streaming Video at DramaFever
Lights, Camera, Docker: Streaming Video at DramaFever
 
Chef
ChefChef
Chef
 
Getting Started with Ansible
Getting Started with AnsibleGetting Started with Ansible
Getting Started with Ansible
 
Chef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation SetupChef Fundamentals Training Series Module 2: Workstation Setup
Chef Fundamentals Training Series Module 2: Workstation Setup
 
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsCool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
 
Automated infrastructure is on the menu
Automated infrastructure is on the menuAutomated infrastructure is on the menu
Automated infrastructure is on the menu
 
Using Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in RubyUsing Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in Ruby
 
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
Chef Fundamentals Training Series Module 4: The Chef Client Run and Expanding...
 
Chef
ChefChef
Chef
 
Ruby talk romania
Ruby talk romaniaRuby talk romania
Ruby talk romania
 
Brasil Ross 2011
Brasil Ross 2011Brasil Ross 2011
Brasil Ross 2011
 
Rocket Fuelled Cucumbers
Rocket Fuelled CucumbersRocket Fuelled Cucumbers
Rocket Fuelled Cucumbers
 
Chef: Smart infrastructure automation
Chef: Smart infrastructure automationChef: Smart infrastructure automation
Chef: Smart infrastructure automation
 
The unintended benefits of Chef
The unintended benefits of ChefThe unintended benefits of Chef
The unintended benefits of Chef
 
Nginx Workshop Aftermath
Nginx Workshop AftermathNginx Workshop Aftermath
Nginx Workshop Aftermath
 
Puppet at janrain
Puppet at janrainPuppet at janrain
Puppet at janrain
 
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com RubyConsegi 2010 - Dicas de Desenvolvimento Web com Ruby
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
 
Performance testing crash course (Dustin Whittle)
Performance testing crash course (Dustin Whittle)Performance testing crash course (Dustin Whittle)
Performance testing crash course (Dustin Whittle)
 
Ansible for beginners ...?
Ansible for beginners ...?Ansible for beginners ...?
Ansible for beginners ...?
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 

Similar to Automate or Die

chef loves windows
chef loves windowschef loves windows
chef loves windowsMat Schaffer
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode ChefSri Ram
 
Linecook - A Chef Alternative
Linecook - A Chef AlternativeLinecook - A Chef Alternative
Linecook - A Chef Alternativethinkerbot
 
Chef or how to make computers do the work for us
Chef or how to make computers do the work for usChef or how to make computers do the work for us
Chef or how to make computers do the work for ussickill
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode ChefSri Ram
 
Wordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccionWordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccionSysdig
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationErica Windisch
 
AWS OpsWorks Under the Hood (DMG304) | AWS re:Invent 2013
AWS OpsWorks Under the Hood (DMG304) | AWS re:Invent 2013AWS OpsWorks Under the Hood (DMG304) | AWS re:Invent 2013
AWS OpsWorks Under the Hood (DMG304) | AWS re:Invent 2013Amazon Web Services
 
Squashing the Heisenbugs
Squashing the HeisenbugsSquashing the Heisenbugs
Squashing the HeisenbugsTrotter Cashion
 
Cook Infrastructure with chef -- Justeat.IN
Cook Infrastructure with chef  -- Justeat.INCook Infrastructure with chef  -- Justeat.IN
Cook Infrastructure with chef -- Justeat.INRajesh Hegde
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)True-Vision
 
Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Adam Hodowany
 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpOntico
 
Test Driven Development with Chef
Test Driven Development with ChefTest Driven Development with Chef
Test Driven Development with ChefSimone Soldateschi
 
Chef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS NewbiesChef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS NewbiesMamun Rashid, CCDH
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode ChefSri Ram
 

Similar to Automate or Die (20)

chef loves windows
chef loves windowschef loves windows
chef loves windows
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode Chef
 
Linecook - A Chef Alternative
Linecook - A Chef AlternativeLinecook - A Chef Alternative
Linecook - A Chef Alternative
 
Chef or how to make computers do the work for us
Chef or how to make computers do the work for usChef or how to make computers do the work for us
Chef or how to make computers do the work for us
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode Chef
 
infra-as-code
infra-as-codeinfra-as-code
infra-as-code
 
Wordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccionWordpress y Docker, de desarrollo a produccion
Wordpress y Docker, de desarrollo a produccion
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
AWS OpsWorks Under the Hood (DMG304) | AWS re:Invent 2013
AWS OpsWorks Under the Hood (DMG304) | AWS re:Invent 2013AWS OpsWorks Under the Hood (DMG304) | AWS re:Invent 2013
AWS OpsWorks Under the Hood (DMG304) | AWS re:Invent 2013
 
Squashing the Heisenbugs
Squashing the HeisenbugsSquashing the Heisenbugs
Squashing the Heisenbugs
 
Cook Infrastructure with chef -- Justeat.IN
Cook Infrastructure with chef  -- Justeat.INCook Infrastructure with chef  -- Justeat.IN
Cook Infrastructure with chef -- Justeat.IN
 
Chef introduction
Chef introductionChef introduction
Chef introduction
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)
 
The Environment Restaurant
The Environment RestaurantThe Environment Restaurant
The Environment Restaurant
 
Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?Ruby on Rails and Docker - Why should I care?
Ruby on Rails and Docker - Why should I care?
 
Mitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorpMitchell Hashimoto, HashiCorp
Mitchell Hashimoto, HashiCorp
 
Test Driven Development with Chef
Test Driven Development with ChefTest Driven Development with Chef
Test Driven Development with Chef
 
Chef training - Day2
Chef training - Day2Chef training - Day2
Chef training - Day2
 
Chef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS NewbiesChef Tutorial for DEVOPS Newbies
Chef Tutorial for DEVOPS Newbies
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode Chef
 

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
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
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
 
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
 
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
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
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
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 

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 .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
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
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
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
 
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
 
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
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.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
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
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
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 

Automate or Die

Editor's Notes