SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Начала DevOps: Opscode Chef
Day 4

Andriy Samilyak
samilyak@gmail.com
skype: samilyaka
Goals
●

Pull deployment with Chef

●

Environments

●

More about Berkshelf+Vagrant way

●

Chef in real live - base_server

●

Exception/Report handlers

●

Debugging with Chef

●

Testing with Chef
Deployment strategies

PULL vs PUSH
Pull deployment with Chef
# http://community.opscode.com/cookbooks/application
application "my_app" do
path "/var/www"
repository "git://github.com/werdan/hpmor.git"
end

copy/paste from http://goo.gl/6sEYT5
Deployment with Chef - Plan
●

Application cookbook
(Berksfile/metadata.rb)

●

Application resource in default.rb

●

git installation

●

docroot correction
Capistrano way
●
●

●

●

Check your /var/www after chef-client run
/var/www/current is a symlink to one of
releases
/var/www/releases contains code
releases
/var/www/shared – anything that is not
kept in repository
Example of solution
webserver/attributes/default.rb:
default['apache']['docroot_dir'] = "/var/www/current"
webserver/recipes/default.rb:
package "git"
application "my_app" do
path "/var/www"
repository "https://github.com/werdan/hpmor.git"
end
Git flow
●

New release is ready for deployement

●

It is in 'develop' branch

●

●

Our current server is going to be now QA
testing
We should maintain the second server
(LIVE) with master branch deployed
Branch deployment with Chef
application "my_app" do
path "/var/www"
repository "git://github.com/werdan/hpmor.git"
revision 'your_branch' # specified with attribute
end
Environments

LIVE server

run_list: role[node]
recipes: recipe[webserver]
git_branch: master

DEV server

run_list: role[node]
recipes: recipe[webserver]
git_branch: develop
Attribute precedence

From: http://docs.opscode.com/essentials_cookbook_attribute_files.html
Environments
●

environments/production.rb
name "production"
default_attributes 'webserver' => {
'revision' => 'master'
}

●

environments/development.rb
name "development"
default_attributes 'webserver' => {
'revision' => 'develop'
}
Default attribute value
●

webserver/attributes/default.rb
default['webserver']['revision'] = 'master'
Environments: knife
knife environment from file production.rb
knife environment from file
development.rb
knife environment list
knife environment show production
Configuring DEV server
●

set environment to 'development'
> knife node edit your_node
> Chef Server GUI

●
●

run chef-client
check result in browser (is it in English
now?)
Branch deployment with Chef
application "my_app" do
path "/var/www"
repository "git://github.com/werdan/hpmor.git"
revision 'your_branch' # specified with attribute
end
Another PCI DSS failure

Go to http://YOUR_NODE_ADDRESS/icons/
Apache configuration patch
<Directory /usr/share/apache2/icons>
Options -Indexes
</Directory>

copy/paste from http://goo.gl/6sEYT5
Environments

LIVE server

run_list: role[node]
recipes: recipe[webserver]
templates: no patch

DEV server

run_list: role[node]
recipes: recipe[webserver]
templates: with patch!
We have to keep LIVE stable!
●

●

●

environments/production.rb
cookbook "webserver", "= 0.1.0"
webserver/metadata.rb
version '0.1.1'
upload cookbook

●

upload production environment

●

knife cookbook show webserver
Better Berksfile strategy
cookbook 'apache2'
cookbook 'htpasswd', git: ….
cookbook 'application'

cookbook 'webserver', path: 'cookbooks/webserver'
●

berks install

●

berks upload
Frozen cookbooks
●

Try now
knife cookbook upload webserver
knife cookbook show webserver 0.1.1
> frozen?: true

●

●

berks update && berks upload → no
changes
knife cookbook upload webserver --force
Vagrant provision
Real demonstration now – hold your breath!
Vagrant provision
chef-repo/Vagrantfile
Vagrant.configure("2") do |config|
config.vm.hostname = "webserver"
config.vm.box = "webserver"
config.vm.box_url =
"http://grahamc.com/vagrant/ubuntu-12.04-omnibus-chef.box"
config.vm.network :public_network
config.berkshelf.berksfile_path = "Berksfile"
config.berkshelf.enabled = true
config.vm.provision :chef_solo do |chef|
chef.run_list = [
]
chef.data_bags_path = "data_bags"
chef.roles_path = "roles"
chef.add_role("node")
chef.environments_path = "environments"
chef.environment = 'production'
end
end
Vagrant provision - chef-solo
●

No API (no databag search , for instance)

●

No cookbook version pin in environment

●

No persistent attributes (normal[..][..])
Cookbook hierarchy
base_server
●

●

●

Create new cookbook with Berks
cd cookbooks
berks cookbook base_server
Add base_server to Berskfile
Include dependences on
apt, ntp, chef-client, cron, openssh

●

Include base_server to role[node] run_list
Recipes to include
base_server/recipes/default.rb

include_recipe "chef-client"
include_recipe "chef-client::delete_validation"
include_recipe "chef-client::config"
include_recipe "ntp"
include_recipe "cron"
include_recipe "apt"
include_recipe "openssh"
●

Bump minor cookbook version of 'base_server'

copy/paste from http://goo.gl/6sEYT5
base_server configuration
default[:openssh][:server][:password_authentication] = 'no'
default[:openssh][:server][:allow_agent_forwarding] = 'yes'
default[:openssh][:server][:allow_tcp_forwarding] = 'no'
default[:openssh][:server][:use_dns] = 'no'

copy/paste from http://goo.gl/6sEYT5
chef_client
On node: ps ajx | grep chef-client
On workstation: knife status

NB! It is a good idea to establish internal procedure
to check knife status on regular basis
chef_restart
include_recipe "cron"
cron "Chef: Node-specific cronjobs: chef-client-restart" do
minute "#{node[:chef_restart_minute] ||= rand(59)}"
hour "#{node[:chef_restart_hour] ||= rand(23)}"
day "*"
month "*"
weekday "*"
command "ps ax | grep -q [c]hef-client &&
sleep $(( $RANDOM % 1800 )) &&
invoke-rc.d chef-client restart >/dev/null 2>&1"
user "root"
end
Exception handlers
●

Report about any exceptions in chef run

●

Many community handlers are available:
–

Airbrake

–

Email

–

Syslog

–

Graphite

–

HipChat
HipChat report example

https://github.com/opsway/chef-hipchat
Chef Server reports
Debugging with Chef
sudo chef-client -ldebug -Fdoc
sudo chef-client --why-run
sudo chef-client -o recipe['apache2::mod_dav']
'puts driven development'
Chef::log.info("Your message")
log("Your message to put it simple")
abort
chef-shell
# chef-shell -z
chef> run_chef
chef> chef_run.skip_back 40
chef> chef_run.step
chef> node['apache']['dir']
Pry - installation
●

Run on node:
/opt/chef/embedded/bin/gem install --no-ri
--no-rdoc pry pry-nav pry-doc

●

Insert into webserver/recipes/default.rb
require 'pry';
binding.pry

copy/paste from http://goo.gl/6sEYT5
pry
# chef-client
pry> ls node
pry> ls node.name
pry> ls node.default
pry> ls node.normal
pry> step
pry> next
pry > continue
Chef-testing
●

Semantic testing → Foodcritics

●

Unit testing → ChefSpec

●

Integration testing →
with ChefZero
– Test Kitchen
–
Foodcritic lint
gem install foodcritic --no-ri --no-rdoc
cd CHEF_REPO
foodcritic cookbooks/webserver

.. see http://acrmp.github.io/foodcritic/
More rules
cd CHEF_REPO
git clone git://github.com/custominkwebops/foodcritic-rules.git foodcritic/customink
git clone git://github.com/etsy/foodcriticrules.git foodcritic/etsy
foodcritic -I foodcritic/* cookbooks/webserver

copy/paste from http://goo.gl/6sEYT5
Functional spec example from
PagerDuty

http://goo.gl/9k5Fj2

Más contenido relacionado

La actualidad más candente

Docker Docker Docker Chef
Docker Docker Docker ChefDocker Docker Docker Chef
Docker Docker Docker ChefSean OMeara
 
Cook Infrastructure with chef -- Justeat.IN
Cook Infrastructure with chef  -- Justeat.INCook Infrastructure with chef  -- Justeat.IN
Cook Infrastructure with chef -- Justeat.INRajesh Hegde
 
Frontend JS workflow - Gulp 4 and the like
Frontend JS workflow - Gulp 4 and the likeFrontend JS workflow - Gulp 4 and the like
Frontend JS workflow - Gulp 4 and the likeDamien Seguin
 
Automating your workflow with Gulp.js
Automating your workflow with Gulp.jsAutomating your workflow with Gulp.js
Automating your workflow with Gulp.jsBo-Yi Wu
 
Introduction to chef framework
Introduction to chef frameworkIntroduction to chef framework
Introduction to chef frameworkmorgoth
 
Practical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppPractical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppSmartLogic
 
Orchestration? You Don't Need Orchestration. What You Want is Choreography.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.Orchestration? You Don't Need Orchestration. What You Want is Choreography.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.Julian Dunn
 
DevOps Hackathon: Session 3 - Test Driven Infrastructure
DevOps Hackathon: Session 3 - Test Driven InfrastructureDevOps Hackathon: Session 3 - Test Driven Infrastructure
DevOps Hackathon: Session 3 - Test Driven InfrastructureAntons Kranga
 
What Makes a Good Chef Cookbook? (May 2014 Edition)
What Makes a Good Chef Cookbook? (May 2014 Edition)What Makes a Good Chef Cookbook? (May 2014 Edition)
What Makes a Good Chef Cookbook? (May 2014 Edition)Julian Dunn
 
Chef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rbChef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rbNicolas Ledez
 
Using Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooksUsing Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooksTimur Batyrshin
 
Vagrant introduction for Developers
Vagrant introduction for DevelopersVagrant introduction for Developers
Vagrant introduction for DevelopersAntons Kranga
 
Deploying Rails Apps with Chef and Capistrano
 Deploying Rails Apps with Chef and Capistrano Deploying Rails Apps with Chef and Capistrano
Deploying Rails Apps with Chef and CapistranoSmartLogic
 
Ansible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaAnsible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaJuan Diego Pereiro Arean
 
Infrastructure = code - 1 year later
Infrastructure = code - 1 year laterInfrastructure = code - 1 year later
Infrastructure = code - 1 year laterChristian Ortner
 
A quick intro to Ansible
A quick intro to AnsibleA quick intro to Ansible
A quick intro to AnsibleDan Vaida
 
Automating Large Applications on Modular and Structured Form with Gulp
Automating Large Applications on Modular and Structured Form with GulpAutomating Large Applications on Modular and Structured Form with Gulp
Automating Large Applications on Modular and Structured Form with GulpAnderson Aguiar
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode ChefSri Ram
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantAntons Kranga
 

La actualidad más candente (20)

Docker Docker Docker Chef
Docker Docker Docker ChefDocker Docker Docker Chef
Docker Docker Docker Chef
 
Cook Infrastructure with chef -- Justeat.IN
Cook Infrastructure with chef  -- Justeat.INCook Infrastructure with chef  -- Justeat.IN
Cook Infrastructure with chef -- Justeat.IN
 
Frontend JS workflow - Gulp 4 and the like
Frontend JS workflow - Gulp 4 and the likeFrontend JS workflow - Gulp 4 and the like
Frontend JS workflow - Gulp 4 and the like
 
Automating your workflow with Gulp.js
Automating your workflow with Gulp.jsAutomating your workflow with Gulp.js
Automating your workflow with Gulp.js
 
Introduction to chef framework
Introduction to chef frameworkIntroduction to chef framework
Introduction to chef framework
 
Practical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails AppPractical Chef and Capistrano for Your Rails App
Practical Chef and Capistrano for Your Rails App
 
Orchestration? You Don't Need Orchestration. What You Want is Choreography.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.Orchestration? You Don't Need Orchestration. What You Want is Choreography.
Orchestration? You Don't Need Orchestration. What You Want is Choreography.
 
DevOps Hackathon: Session 3 - Test Driven Infrastructure
DevOps Hackathon: Session 3 - Test Driven InfrastructureDevOps Hackathon: Session 3 - Test Driven Infrastructure
DevOps Hackathon: Session 3 - Test Driven Infrastructure
 
What Makes a Good Chef Cookbook? (May 2014 Edition)
What Makes a Good Chef Cookbook? (May 2014 Edition)What Makes a Good Chef Cookbook? (May 2014 Edition)
What Makes a Good Chef Cookbook? (May 2014 Edition)
 
Chef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rbChef infrastructure as code - paris.rb
Chef infrastructure as code - paris.rb
 
Using Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooksUsing Test Kitchen for testing Chef cookbooks
Using Test Kitchen for testing Chef cookbooks
 
Vagrant introduction for Developers
Vagrant introduction for DevelopersVagrant introduction for Developers
Vagrant introduction for Developers
 
Deploying Rails Apps with Chef and Capistrano
 Deploying Rails Apps with Chef and Capistrano Deploying Rails Apps with Chef and Capistrano
Deploying Rails Apps with Chef and Capistrano
 
Ansible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers GaliciaAnsible introduction - XX Betabeers Galicia
Ansible introduction - XX Betabeers Galicia
 
Infrastructure = code - 1 year later
Infrastructure = code - 1 year laterInfrastructure = code - 1 year later
Infrastructure = code - 1 year later
 
A quick intro to Ansible
A quick intro to AnsibleA quick intro to Ansible
A quick intro to Ansible
 
Automating Large Applications on Modular and Structured Form with Gulp
Automating Large Applications on Modular and Structured Form with GulpAutomating Large Applications on Modular and Structured Form with Gulp
Automating Large Applications on Modular and Structured Form with Gulp
 
Cloud Automation with Opscode Chef
Cloud Automation with Opscode ChefCloud Automation with Opscode Chef
Cloud Automation with Opscode Chef
 
DevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: VagrantDevOps Hackathon - Session 1: Vagrant
DevOps Hackathon - Session 1: Vagrant
 
Ansible intro
Ansible introAnsible intro
Ansible intro
 

Destacado

2004 01 10 Chef Sa V01
2004 01 10 Chef Sa V012004 01 10 Chef Sa V01
2004 01 10 Chef Sa V01jiali zhang
 
8 Trends of New Restaurants - New Orleans 2016
8 Trends of New Restaurants - New Orleans 20168 Trends of New Restaurants - New Orleans 2016
8 Trends of New Restaurants - New Orleans 2016HEROfarm
 
OpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef WorkshopOpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef WorkshopMatt Ray
 
Getting Started With Virtualization
Getting Started With VirtualizationGetting Started With Virtualization
Getting Started With VirtualizationBill Kalarness
 
Colin Searls presentation
Colin Searls presentationColin Searls presentation
Colin Searls presentationColin Searls
 
Top 50 de herramientas web para el aprendizaje
Top 50 de herramientas web para el aprendizajeTop 50 de herramientas web para el aprendizaje
Top 50 de herramientas web para el aprendizajeFernández Gorka
 
Google Analytics as Database of Record
Google Analytics as Database of RecordGoogle Analytics as Database of Record
Google Analytics as Database of RecordDavy Tollenaere
 
Literature letter graphic organizer
Literature letter graphic organizerLiterature letter graphic organizer
Literature letter graphic organizermlabuski
 
9.2 Group 3 Apps for Good competition entry 2015
9.2 Group 3 Apps for Good competition entry 20159.2 Group 3 Apps for Good competition entry 2015
9.2 Group 3 Apps for Good competition entry 2015scorkery
 
Daily Newsletter: 19th January, 2011
Daily Newsletter: 19th January, 2011Daily Newsletter: 19th January, 2011
Daily Newsletter: 19th January, 2011Fullerton Securities
 
PLACA MADRE Y SUS COMPONENTES
PLACA MADRE Y SUS COMPONENTESPLACA MADRE Y SUS COMPONENTES
PLACA MADRE Y SUS COMPONENTESMartin Beltran
 
InvestigacióN 6to AñO B
InvestigacióN 6to AñO BInvestigacióN 6to AñO B
InvestigacióN 6to AñO Bgueste28c9ac
 
Sesión 1 introdución online
Sesión 1 introdución onlineSesión 1 introdución online
Sesión 1 introdución onlineIsmael Bermúdez
 
How to prepare for an oui trial
How to prepare for an oui trialHow to prepare for an oui trial
How to prepare for an oui trialDavid Matson
 
Intro to vc funding june 2015
Intro to vc funding june 2015Intro to vc funding june 2015
Intro to vc funding june 2015Expara
 

Destacado (20)

2004 01 10 Chef Sa V01
2004 01 10 Chef Sa V012004 01 10 Chef Sa V01
2004 01 10 Chef Sa V01
 
Sakai Tool
Sakai ToolSakai Tool
Sakai Tool
 
8 Trends of New Restaurants - New Orleans 2016
8 Trends of New Restaurants - New Orleans 20168 Trends of New Restaurants - New Orleans 2016
8 Trends of New Restaurants - New Orleans 2016
 
OpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef WorkshopOpenStack Deployment with Chef Workshop
OpenStack Deployment with Chef Workshop
 
10 porques-igualdad
10 porques-igualdad10 porques-igualdad
10 porques-igualdad
 
Getting Started With Virtualization
Getting Started With VirtualizationGetting Started With Virtualization
Getting Started With Virtualization
 
Colin Searls presentation
Colin Searls presentationColin Searls presentation
Colin Searls presentation
 
Top 50 de herramientas web para el aprendizaje
Top 50 de herramientas web para el aprendizajeTop 50 de herramientas web para el aprendizaje
Top 50 de herramientas web para el aprendizaje
 
Google Analytics as Database of Record
Google Analytics as Database of RecordGoogle Analytics as Database of Record
Google Analytics as Database of Record
 
Literature letter graphic organizer
Literature letter graphic organizerLiterature letter graphic organizer
Literature letter graphic organizer
 
Pretotyping primer 4
Pretotyping primer   4Pretotyping primer   4
Pretotyping primer 4
 
9.2 Group 3 Apps for Good competition entry 2015
9.2 Group 3 Apps for Good competition entry 20159.2 Group 3 Apps for Good competition entry 2015
9.2 Group 3 Apps for Good competition entry 2015
 
Daily Newsletter: 19th January, 2011
Daily Newsletter: 19th January, 2011Daily Newsletter: 19th January, 2011
Daily Newsletter: 19th January, 2011
 
PLACA MADRE Y SUS COMPONENTES
PLACA MADRE Y SUS COMPONENTESPLACA MADRE Y SUS COMPONENTES
PLACA MADRE Y SUS COMPONENTES
 
InvestigacióN 6to AñO B
InvestigacióN 6to AñO BInvestigacióN 6to AñO B
InvestigacióN 6to AñO B
 
Sesión 1 introdución online
Sesión 1 introdución onlineSesión 1 introdución online
Sesión 1 introdución online
 
Vanvasa resort
Vanvasa resortVanvasa resort
Vanvasa resort
 
How to prepare for an oui trial
How to prepare for an oui trialHow to prepare for an oui trial
How to prepare for an oui trial
 
Intro to vc funding june 2015
Intro to vc funding june 2015Intro to vc funding june 2015
Intro to vc funding june 2015
 
พิชิตชัยชาญ วรรณบุตร
พิชิตชัยชาญ  วรรณบุตรพิชิตชัยชาญ  วรรณบุตร
พิชิตชัยชาญ วรรณบุตร
 

Similar a Chef training Day4

Chef - Administration for programmers
Chef - Administration for programmersChef - Administration for programmers
Chef - Administration for programmersmrsabo
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.catPablo Godel
 
Cooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugCooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugDavid Golden
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chefkevsmith
 
Testing Your Automation Code (Vagrant Version)
Testing Your Automation Code (Vagrant Version)Testing Your Automation Code (Vagrant Version)
Testing Your Automation Code (Vagrant Version)Mischa Taylor
 
What Makes a Good Cookbook?
What Makes a Good Cookbook?What Makes a Good Cookbook?
What Makes a Good Cookbook?Julian Dunn
 
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2Chef
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and MaintenanceJazkarta, Inc.
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to ChefKnoldus Inc.
 
Kickstarter - Chef Opswork
Kickstarter - Chef OpsworkKickstarter - Chef Opswork
Kickstarter - Chef OpsworkHamza Waqas
 
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012Patrick McDonnell
 
Testing your-automation-code (vagrant version) v0.2
Testing your-automation-code (vagrant version) v0.2Testing your-automation-code (vagrant version) v0.2
Testing your-automation-code (vagrant version) v0.2Sylvain Tissot
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefMichael Lihs
 
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Chef
 
Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Chef
 
Using Chef and Vagrant at Gengo
Using Chef and Vagrant at GengoUsing Chef and Vagrant at Gengo
Using Chef and Vagrant at GengoGengo
 

Similar a Chef training Day4 (20)

Chef - Administration for programmers
Chef - Administration for programmersChef - Administration for programmers
Chef - Administration for programmers
 
Deploying Symfony | symfony.cat
Deploying Symfony | symfony.catDeploying Symfony | symfony.cat
Deploying Symfony | symfony.cat
 
Cooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with JitterbugCooking Perl with Chef: Real World Tutorial with Jitterbug
Cooking Perl with Chef: Real World Tutorial with Jitterbug
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Cooking with Chef
Cooking with ChefCooking with Chef
Cooking with Chef
 
Testing Your Automation Code (Vagrant Version)
Testing Your Automation Code (Vagrant Version)Testing Your Automation Code (Vagrant Version)
Testing Your Automation Code (Vagrant Version)
 
What Makes a Good Cookbook?
What Makes a Good Cookbook?What Makes a Good Cookbook?
What Makes a Good Cookbook?
 
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
 
Pyramid Deployment and Maintenance
Pyramid Deployment and MaintenancePyramid Deployment and Maintenance
Pyramid Deployment and Maintenance
 
The Berkshelf Way
The Berkshelf WayThe Berkshelf Way
The Berkshelf Way
 
Pyramid deployment
Pyramid deploymentPyramid deployment
Pyramid deployment
 
Introduction to Chef
Introduction to ChefIntroduction to Chef
Introduction to Chef
 
Kickstarter - Chef Opswork
Kickstarter - Chef OpsworkKickstarter - Chef Opswork
Kickstarter - Chef Opswork
 
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
Lessons from Etsy: Avoiding Kitchen Nightmares - #ChefConf 2012
 
Testing your-automation-code (vagrant version) v0.2
Testing your-automation-code (vagrant version) v0.2Testing your-automation-code (vagrant version) v0.2
Testing your-automation-code (vagrant version) v0.2
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with Chef
 
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
Community Cookbooks & further resources - Fundamentals Webinar Series Part 6
 
Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4Compliance Automation with Inspec Part 4
Compliance Automation with Inspec Part 4
 
Chef introduction
Chef introductionChef introduction
Chef introduction
 
Using Chef and Vagrant at Gengo
Using Chef and Vagrant at GengoUsing Chef and Vagrant at Gengo
Using Chef and Vagrant at Gengo
 

Más de Andriy Samilyak

Kaizen Magento Support - 2
Kaizen Magento Support - 2 Kaizen Magento Support - 2
Kaizen Magento Support - 2 Andriy Samilyak
 
Amazon Cognito + Lambda + S3 + IAM
Amazon Cognito + Lambda + S3 + IAM Amazon Cognito + Lambda + S3 + IAM
Amazon Cognito + Lambda + S3 + IAM Andriy Samilyak
 
MageClinic: Affiliative program
MageClinic: Affiliative programMageClinic: Affiliative program
MageClinic: Affiliative programAndriy Samilyak
 
Magento - choosing Order Management SaaS
Magento - choosing Order Management SaaSMagento - choosing Order Management SaaS
Magento - choosing Order Management SaaSAndriy Samilyak
 
TOCAT Introduction (English)
TOCAT Introduction (English)TOCAT Introduction (English)
TOCAT Introduction (English)Andriy Samilyak
 
Как мы играли в DevOps и как получился Magento Autoscale
Как мы играли в DevOps и как получился  Magento AutoscaleКак мы играли в DevOps и как получился  Magento Autoscale
Как мы играли в DevOps и как получился Magento AutoscaleAndriy Samilyak
 
Synthetic web performance testing with Selenium
Synthetic web performance testing with SeleniumSynthetic web performance testing with Selenium
Synthetic web performance testing with SeleniumAndriy Samilyak
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времениAndriy Samilyak
 

Más de Andriy Samilyak (13)

Kaizen Magento Support - 2
Kaizen Magento Support - 2 Kaizen Magento Support - 2
Kaizen Magento Support - 2
 
Kaizen Magento support
Kaizen Magento supportKaizen Magento support
Kaizen Magento support
 
Amazon Cognito + Lambda + S3 + IAM
Amazon Cognito + Lambda + S3 + IAM Amazon Cognito + Lambda + S3 + IAM
Amazon Cognito + Lambda + S3 + IAM
 
MageClinic: Affiliative program
MageClinic: Affiliative programMageClinic: Affiliative program
MageClinic: Affiliative program
 
Magento - choosing Order Management SaaS
Magento - choosing Order Management SaaSMagento - choosing Order Management SaaS
Magento - choosing Order Management SaaS
 
TOCAT Introduction (English)
TOCAT Introduction (English)TOCAT Introduction (English)
TOCAT Introduction (English)
 
TOCAT Introduction
TOCAT IntroductionTOCAT Introduction
TOCAT Introduction
 
Как мы играли в DevOps и как получился Magento Autoscale
Как мы играли в DevOps и как получился  Magento AutoscaleКак мы играли в DevOps и как получился  Magento Autoscale
Как мы играли в DevOps и как получился Magento Autoscale
 
Magento autoscaling
Magento autoscalingMagento autoscaling
Magento autoscaling
 
DevOps in realtime
DevOps in realtimeDevOps in realtime
DevOps in realtime
 
Synthetic web performance testing with Selenium
Synthetic web performance testing with SeleniumSynthetic web performance testing with Selenium
Synthetic web performance testing with Selenium
 
Chef training - Day1
Chef training - Day1Chef training - Day1
Chef training - Day1
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 

Último

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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
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
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 

Último (20)

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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
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
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 

Chef training Day4