SlideShare a Scribd company logo
1 of 46
Download to read offline
© Zühlke 2012
Torben Knerr
Infrastructure-As-Code and
Cloud Deployments with
Opscode Chef & Co
20. Juli 2012
Slide 1
© Zühlke 2012
Topics
Motivation
 DevOps & Infrastructure-As-Code
Introduction to Chef
 Terms & Concepts (with Examples)
 Chef vs. Puppet
Cloud Deployment
 Different Approaches for Cloud Provisioning
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 2
© Zühlke 2012
Infrastructure-As-Code and
Cloud Deployments with
Opscode Chef & Co
Torben Knerr
Motivation
DevOps & Infrastructure-As-Code
20. Juli 2012
Slide 3
© Zühlke 2012
Motivation
DevOps & Infrastructure-As-Code
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
DevOps
Drivers:
 Cloud & Virtualisation
 Mass Server Management
 Agile & Continous Delivery
Philosophy:
 Collaboration between Devs and Ops
 Devs understand the needs of Ops
 Ops learn from Devs (Infrastructure-As-Code)
 Ops are part of the (SCRUM) team
Disciplines:
 Operations, Monitoring
 Automation
 Programming (Ruby)
 Configuration Management
Goals:
 Traceability, Auditability
 Maintainability
 Reproducability
 Speed / Time-To-Market
Infrastructure-
As-Code
20. Juli 2012 Slide 4
© Zühlke 2012
Infrastructure-As-Code and
Cloud Deployments with
Opscode Chef & Co
Torben Knerr
Introduction to Chef
Knife, Cookbooks, Recipes, etc…
20. Juli 2012
Slide 5
© Zühlke 2012
Introduction to Chef
What‘s in a Chef Repository?
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
chef-repo
20. Juli 2012 Slide 6
© Zühlke 2012
Introduction to Chef
What‘s in a Chef Repository?
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
chef-repo
cookbooks
databags
environments
roles
20. Juli 2012 Slide 7
© Zühlke 2012
Introduction to Chef
What‘s in a Chef Repository?
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
recipes
attributes
files
templates
chef-repo
cookbooks
databags
environments
roles
20. Juli 2012 Slide 8
© Zühlke 2012
Introduction to Chef
Chef Solo vs. Chef Server
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
node
couchdb
cookbooks
roles
databags
nodes
…Chef Server
node
node
node
node
chef-client
poll for node’s run_list
and converge node
node
cookbooks
roles
databags
solo.rb
chef-solo
read run_list from solo.rb
and converge node
Chef Solo
 Runs chef-solo locally
 No server required
 Easier to get started with
 Good for few nodes, onetime
bootstraps
chef-
repo
upload
to node
20. Juli 2012 Slide 9
© Zühlke 2012
Introduction to Chef
Chef Solo vs. Chef Server
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
node
couchdb
cookbooks
roles
databags
nodes
…Chef Server
node
node
node
node
chef-client
poll for node’s run_list
and converge node
node
cookbooks
roles
databags
solo.rb
chef-solo
read run_list from solo.rb
and converge node
Chef Server
 chef-client polls regularly
 More complex workflow
 Additional features:
Search, WebUI
 Good for ongoing
operations of many nodes
chef-
repo
upload to
chef server
20. Juli 2012 Slide 10
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
The Chef Repository is the place where cookbooks,
roles, config files and other artifacts for managing
systems with Chef will live, typically stored in a version
control system.
20. Juli 2012 Slide 11
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Cookbooks are the fundamental units of distribution in
Chef. They encapsulate all the resources you need to
automate your infrastructure and are easily sharable
with other Chef users.
20. Juli 2012 Slide 12
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Attributes are node data such as the IP address,
hostname, etc... New attributes can be defined on
cookbook, environment, role and node level.
cookbooks/apache2/attributes/default.rb
20. Juli 2012 Slide 13
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Recipes encapsulate collections of resources which
are executed in order to configure the system.
cookbooks/apache2/recipes/default.rb
20. Juli 2012 Slide 14
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Recipes encapsulate collections of resources which
are executed in order to configure the system.
Resources
cookbooks/apache2/recipes/default.rb
20. Juli 2012 Slide 15
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Resources are the cross platform abstraction of the
thing you're configuring on the node.
Examples:
20. Juli 2012 Slide 16
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Resources are the cross platform abstraction of the
thing you're configuring on the node.
Examples:
20. Juli 2012 Slide 17
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Resources are the cross platform abstraction of the
thing you're configuring on the node.
Examples:
20. Juli 2012 Slide 18
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Resources are the cross platform abstraction of the
thing you're configuring on the node.
Examples:
20. Juli 2012 Slide 19
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Resources are the cross platform abstraction of the
thing you're configuring on the node.
Examples:
20. Juli 2012 Slide 20
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Resources are the cross platform abstraction of the
thing you're configuring on the node.
Examples:
 Many, many more in the Opscode Wiki:
http://wiki.opscode.com/display/chef/Resources
 You can also write your own:
http://wiki.opscode.com/display/chef/Lightweight+Resources+and+Providers+
%28LWRP%29
20. Juli 2012 Slide 21
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Data bags provide an arbitrary stores of globally
available JSON data…
chef-repo/data_bags/users/bofh.json
20. Juli 2012 Slide 22
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
…which are then used in Recipes:
cookbooks/users/recipes/default.rb
20. Juli 2012 Slide 23
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
A role provides a means of grouping similar features
of similar nodes, providing a mechanism for easily
composing sets of functionality.
chef-repo/roles/webserver.rb
20. Juli 2012 Slide 24
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Environments in Chef provide a mechanism for
managing different environments such as production,
staging, development, testing, etc
chef-repo/environments/dev.rb
20. Juli 2012 Slide 25
© Zühlke 2012
 Chef Repo
 Cookbooks
 Attributes
 Recipes
 Resources
 Databags
 Roles
 Environments
 Nodes
Introduction to Chef
Terms & Concepts
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Nodes are the thing that Recipes and Roles are applied
to. The primary features of a node, from Chef's point
of view, are its Attributes and its run list.
chef-repo/nodes/web.example.com.rb
20. Juli 2012 Slide 26
© Zühlke 2012
How to get started?
• If you are working on Windows use Bill’s Kitchen
https://ikm.zuehlke.com/topics/Pages/Bill's%20Kitchen.aspx
• Start with Vagrant and Chef-Solo (you will love Vagrant…)
http://vagrantup.com/v1/docs/provisioners/chef_solo.html
• Get familiar with cookbook development and testing
https://github.com/tknerr/bills-kitchen/blob/master/COOKBOOK_DEVELOPMENT.md
• Set up a Chef Server using knife-server
http://fnichol.github.com/knife-server/
• Use Vagrant with Chef-Server Provisioning
http://vagrantup.com/v1/docs/provisioners/chef_server.html
• Get familiar with knife and use advanced features like search, bootstrap, etc..
http://wiki.opscode.com/display/chef/Knife
Introduction to Chef
Getting Started with Chef Development
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 27
© Zühlke 2012
Introduction to Chef
VirtualBox Automation with Vagrant
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Vagranfile
20. Juli 2012 Slide 28
© Zühlke 2012
Introduction to Chef
Cookbook Dependency Management
with Librarian
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Cheffile
20. Juli 2012 Slide 29
© Zühlke 2012
Introduction to Chef
Test-Driven Infrastrucure!
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Lint Checking
• foodcritic
Unit-Level Testing
• chefspec
• fauxhai
Smoke Tests (from the inside)
• chef-minitest-handler
Acceptance Testing (from the outside)
• cucumber-nagios
20. Juli 2012 Slide 30
© Zühlke 2012
It doesn’t really matter (for us)
 Same concepts, slightly different terminology
 External vs. internal DSL (like Maven vs. Gradle)
 Both have solo / standalone mode
 There are more Puppet books than Chef books
 Both have a very active community (mailing list, IRC, etc..)
 Do you have in-house knowledge of Chef/Puppet?
Introduction to Chef
Chef vs. Puppet
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 31
© Zühlke 2012
It doesn’t really matter (for us)
 Same concepts, slightly different terminology
 External vs. internal DSL (like Maven vs. Gradle)
 Both have solo / standalone mode
 There are more Puppet books than Chef books
 Both have a very active community (mailing list, IRC, etc..)
 Do you have in-house knowledge of Chef/Puppet?
Introduction to Chef
Chef vs. Puppet
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Use the tool that “operations” understands!
20. Juli 2012 Slide 32
© Zühlke 2012
Infrastructure-As-Code and
Cloud Deployments with
Opscode Chef & Co
Torben Knerr
Cloud Deployment
Different Approaches for Provisioning Cloud
Instances
20. Juli 2012
Slide 33
© Zühlke 2012
Cloud Deployment
The Basic Mechanism: EC2 User Data
You can pass arbitrary user data when launching an instance…
…and access it on the instance via the metadata service:
Notes:
 User data is limited to 16K in raw form (before base64 encoding)
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 34
© Zühlke 2012
Cloud Deployment
Option 1: Provisioning with Shell Scripts
Convention: if the user data script starts with a `#!` it will be run at first boot
Notes:
 Might not be supported on all AMIs (for the official Ubuntu AMIs it is)
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
path/to/bootstrap.sh
20. Juli 2012 Slide 35
© Zühlke 2012
Cloud Deployment
Option 1: Provisioning with Shell Scripts
Convention: if the user data script starts with a `#!` it will be run at first boot
Notes:
 Might not be supported on all AMIs (for the official Ubuntu AMIs it is)
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
path/to/bootstrap.sh
 easiest method
 good if bootstrapping is simple
 one-off bootstrap (first boot)
20. Juli 2012 Slide 36
© Zühlke 2012
 VM instances are bootstrapped
with Chef/Puppet via Cloud-init
 The rest is just AWS
CloudFormation Templates
 Supports Chef Server, Chef Solo and
Puppet Client Server
Cloud Deployment
Option 2: AWS CloudFormation Templates
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 37
© Zühlke 2012
 VM instances are bootstrapped
with Chef/Puppet via Cloud-init
 The rest is just AWS
CloudFormation Templates
 Supports Chef Server, Chef Solo and
Puppet Client Server
Cloud Deployment
Option 2: AWS CloudFormation Templates
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
 good for more complex
scenarios
 official, AWS supported
documentation available
 not meant for humans to read
20. Juli 2012 Slide 38
© Zühlke 2012
 Vagrant-like approach for
managing VMs in the cloud
 Supports Chef, Puppet and
Shell provisioning
 Currently focused on AWS
but other providers possible
 Supports stacks via AWS
CloudFormation Templates
Cloud Deployment
Option 3: Mccloud
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 39
© Zühlke 2012
 Vagrant-like approach for
managing VMs in the cloud
 Supports Chef, Puppet and
Shell provisioning
 Currently focused on AWS
but other providers possible
 Supports stacks via AWS
CloudFormation Templates
Cloud Deployment
Option 3: Mccloud
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Yay! :-)
20. Juli 2012 Slide 40
© Zühlke 2012
 knife-ec2
 knife plugin to let you launch, bootstrap and provision EC2 VMs with Chef
 Works only with Chef Server – no Chef Solo support
 Puppet Cloud Provisioner
 Puppet extension to launch, bootstrap and provision EC2 VMs with Puppet
 Works only with Puppet Master – no Puppet Standalone mode (?)
Cloud Deployment
Option 4: Native Chef / Puppet Tools
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 41
© Zühlke 2012
 knife-ec2
 knife plugin to let you launch, bootstrap and provision EC2 VMs with Chef
 Works only with Chef Server – no Chef Solo support
 Puppet Cloud Provisioner
 Puppet extension to launch, bootstrap and provision EC2 VMs with Puppet
 Works only with Puppet Master – no Puppet Standalone mode (?)
Cloud Deployment
Option 4: Native Chef / Puppet Tools
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
 You can’t have both: it’s Chef OR Puppet
 Fallback if the generic tools (Option 2 & 3)
don’t work out as expected
 No Solo / Standalone mode
20. Juli 2012 Slide 42
© Zühlke 2012
Vagrant – create and configure lightweight,
reproducible, and portable development
environments
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr
Vagranfile
20. Juli 2012 Slide 43
© Zühlke 2012
 EC2 User Data Scripts
http://alestic.com/2009/06/ec2-user-data-scripts
https://help.ubuntu.com/community/CloudInit
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html
 AWS CloudFormation Templates with Chef/Puppet
https://s3.amazonaws.com/cloudformation-examples/IntegratingAWSCloudFormationWithOpscodeChef.pdf
https://s3.amazonaws.com/cloudformation-examples/IntegratingAWSCloudFormationWithPuppet.pdf
 Mccloud
https://github.com/jedi4ever/mccloud
https://github.com/jedi4ever/mccloud-demo
https://gist.github.com/3175267
 knife-ec2
http://wiki.opscode.com/display/chef/Launch+Cloud+Instances+with+Knife
 Puppet Cloud Provisioner
http://docs.puppetlabs.com/guides/cloud_pack_getting_started.html
Cloud Deployment
Overview & Resources
Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 44
© Zühlke 2012
Infrastructure-As-Code and
Cloud Deployments with
Opscode Chef & Co
Torben Knerr
Discussion Time!
Puppet, Mccloud,
Foo, Bar, Baz
DevOps, NoOps,
Blablabla
Vagrant, Chef,
Deployment Stuff
Cloudy Cloud!
20. Juli 2012
Slide 45
Thank You! 
And let’s continue the discussion here:

More Related Content

What's hot

devops online training in hyderabad
devops online training in hyderabaddevops online training in hyderabad
devops online training in hyderabadDIGITALSAI1
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasVMware Tanzu
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platformcornelia davis
 
Brian Jones Resume-2016-06-2p
Brian Jones Resume-2016-06-2pBrian Jones Resume-2016-06-2p
Brian Jones Resume-2016-06-2pBrian Jones
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February markghiasy
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce
 
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...Simplilearn
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Simplilearn
 
Developer Experience Cloud Native - Become Efficient and Achieve Parity
Developer Experience Cloud Native - Become Efficient and Achieve ParityDeveloper Experience Cloud Native - Become Efficient and Achieve Parity
Developer Experience Cloud Native - Become Efficient and Achieve ParityMichael Hofmann
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile AgeBlazeMeter
 
FAST for SharePoint Deep Dive
FAST for SharePoint Deep DiveFAST for SharePoint Deep Dive
FAST for SharePoint Deep Diveneil_richards
 
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant BeniwalAgile Testing Alliance
 
Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber. Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber. Stelligent
 
DOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your InfrastructureDOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your Infrastructuredecode2016
 
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeIntroduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeJosh Padnick
 
DevOPS training - Day 1/2
DevOPS training - Day 1/2DevOPS training - Day 1/2
DevOPS training - Day 1/2Vincent Mercier
 
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...Simplilearn
 

What's hot (20)

77402_VishalLaljeet
77402_VishalLaljeet77402_VishalLaljeet
77402_VishalLaljeet
 
devops online training in hyderabad
devops online training in hyderabaddevops online training in hyderabad
devops online training in hyderabad
 
Continuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour DallasContinuous Deployment of your Application - SpringOne Tour Dallas
Continuous Deployment of your Application - SpringOne Tour Dallas
 
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a PlatformLinux Collaboration Summit Keynote: Transformation: It Takes a Platform
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
 
Brian Jones Resume-2016-06-2p
Brian Jones Resume-2016-06-2pBrian Jones Resume-2016-06-2p
Brian Jones Resume-2016-06-2p
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February
 
Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]Perforce webinar clear-case_jb[2]
Perforce webinar clear-case_jb[2]
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
 
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
Chef vs Puppet vs Ansible vs Saltstack | Configuration Management Tools | Dev...
 
Developer Experience Cloud Native - Become Efficient and Achieve Parity
Developer Experience Cloud Native - Become Efficient and Achieve ParityDeveloper Experience Cloud Native - Become Efficient and Achieve Parity
Developer Experience Cloud Native - Become Efficient and Achieve Parity
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile Age
 
FAST for SharePoint Deep Dive
FAST for SharePoint Deep DiveFAST for SharePoint Deep Dive
FAST for SharePoint Deep Dive
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
#ATAGTR2019 Presentation "Role of QA in world of DevOps" By Prashant Beniwal
 
Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber. Test-Driven Infrastructure with CloudFormation and Cucumber.
Test-Driven Infrastructure with CloudFormation and Cucumber.
 
DOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your InfrastructureDOO-009_Powering High Velocity Development for your Infrastructure
DOO-009_Powering High Velocity Development for your Infrastructure
 
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In CodeIntroduction to Chef: Automate Your Infrastructure by Modeling It In Code
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
 
DevOPS training - Day 1/2
DevOPS training - Day 1/2DevOPS training - Day 1/2
DevOPS training - Day 1/2
 
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 1 | Devops Interview Questions And Answers ...
 

Similar to Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co

Cooking with Chef, Knife, Vagrant and Co
Cooking with Chef, Knife, Vagrant and CoCooking with Chef, Knife, Vagrant and Co
Cooking with Chef, Knife, Vagrant and CoTorben Knerr
 
Step by Step - AngularJS
Step by Step - AngularJSStep by Step - AngularJS
Step by Step - AngularJSInfragistics
 
SRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native PresoSRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native Presorhirschfeld
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson LinHanLing Shen
 
Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)Michael Elder
 
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQLBUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQLMichael Kennedy
 
At bruxelles scaling agile - v1.5 slideshare
At bruxelles   scaling agile - v1.5 slideshareAt bruxelles   scaling agile - v1.5 slideshare
At bruxelles scaling agile - v1.5 slideshareHerve Lourdin
 
Flexible delivery options
Flexible delivery options Flexible delivery options
Flexible delivery options Micro Focus
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017Takayoshi Tanaka
 
Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0Cherie Williams
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Claradev2ops
 
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevWerner Keil
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Florent BENOIT
 
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...mfrancis
 
Cloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guideCloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guidesparkfabrik
 
Comparison of control plane deployment architectures in the scope of hypercon...
Comparison of control plane deployment architectures in the scope of hypercon...Comparison of control plane deployment architectures in the scope of hypercon...
Comparison of control plane deployment architectures in the scope of hypercon...Miroslav Halas
 
Odo improving the developer experience on OpenShift - hack & sangria
Odo   improving the developer experience on OpenShift - hack & sangriaOdo   improving the developer experience on OpenShift - hack & sangria
Odo improving the developer experience on OpenShift - hack & sangriaJorge Morales
 

Similar to Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co (20)

Cooking with Chef, Knife, Vagrant and Co
Cooking with Chef, Knife, Vagrant and CoCooking with Chef, Knife, Vagrant and Co
Cooking with Chef, Knife, Vagrant and Co
 
Step by Step - AngularJS
Step by Step - AngularJSStep by Step - AngularJS
Step by Step - AngularJS
 
SRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native PresoSRE vs DevOps vs Cloud Native Preso
SRE vs DevOps vs Cloud Native Preso
 
Kubexperience intro session
Kubexperience intro sessionKubexperience intro session
Kubexperience intro session
 
Intro to Chef
Intro to ChefIntro to Chef
Intro to Chef
 
[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin[20200720]cloud native develoment - Nelson Lin
[20200720]cloud native develoment - Nelson Lin
 
Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)Enterprise Cloud with IBM & Chef (ChefConf 2013)
Enterprise Cloud with IBM & Chef (ChefConf 2013)
 
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQLBUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
BUILDING WEB APPS WITH ASP.NET MVC AND NOSQL
 
At bruxelles scaling agile - v1.5 slideshare
At bruxelles   scaling agile - v1.5 slideshareAt bruxelles   scaling agile - v1.5 slideshare
At bruxelles scaling agile - v1.5 slideshare
 
Flexible delivery options
Flexible delivery options Flexible delivery options
Flexible delivery options
 
20170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 201720170321 docker with Visual Studio 2017
20170321 docker with Visual Studio 2017
 
Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0Introducing Pebble SDK 2.0
Introducing Pebble SDK 2.0
 
Announcing Pebble SDK 2.0
Announcing Pebble SDK 2.0Announcing Pebble SDK 2.0
Announcing Pebble SDK 2.0
 
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa ClaraAdobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
Adobe Presents Internal Service Delivery Platform at Velocity 13 Santa Clara
 
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDevTriple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
Triple-E’class Continuous Delivery with Hudson, Maven, Kokki and PyDev
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014
 
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
Dockerizing apps for the Deployment Platform of the Month with OSGi - David B...
 
Cloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guideCloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guide
 
Comparison of control plane deployment architectures in the scope of hypercon...
Comparison of control plane deployment architectures in the scope of hypercon...Comparison of control plane deployment architectures in the scope of hypercon...
Comparison of control plane deployment architectures in the scope of hypercon...
 
Odo improving the developer experience on OpenShift - hack & sangria
Odo   improving the developer experience on OpenShift - hack & sangriaOdo   improving the developer experience on OpenShift - hack & sangria
Odo improving the developer experience on OpenShift - hack & sangria
 

More from Torben Knerr

Monitoring in Azure
Monitoring in AzureMonitoring in Azure
Monitoring in AzureTorben Knerr
 
Zuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible sessionZuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible sessionTorben Knerr
 
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Torben Knerr
 
Kollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und RealitätKollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und RealitätTorben Knerr
 
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vag...
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vag...Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vag...
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vag...Torben Knerr
 
ALM und dezentrales SCM – Die Quadratur des Kreises?
ALM und dezentrales SCM – Die Quadratur des Kreises?ALM und dezentrales SCM – Die Quadratur des Kreises?
ALM und dezentrales SCM – Die Quadratur des Kreises?Torben Knerr
 

More from Torben Knerr (7)

Monitoring in Azure
Monitoring in AzureMonitoring in Azure
Monitoring in Azure
 
Zuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible sessionZuehlke Camp 2017: Chef vs Ansible session
Zuehlke Camp 2017: Chef vs Ansible session
 
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
 
Kollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und RealitätKollaboration in Java Projekten - Anspruch und Realität
Kollaboration in Java Projekten - Anspruch und Realität
 
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vag...
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vag...Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vag...
Zu viele Köche verderben den Brei - Kochschule für Devs und Ops mit Chef, Vag...
 
ALM und dezentrales SCM – Die Quadratur des Kreises?
ALM und dezentrales SCM – Die Quadratur des Kreises?ALM und dezentrales SCM – Die Quadratur des Kreises?
ALM und dezentrales SCM – Die Quadratur des Kreises?
 
Maven Intro
Maven IntroMaven Intro
Maven Intro
 

Recently uploaded

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 

Recently uploaded (20)

A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 

Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co

  • 1. © Zühlke 2012 Torben Knerr Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co 20. Juli 2012 Slide 1
  • 2. © Zühlke 2012 Topics Motivation  DevOps & Infrastructure-As-Code Introduction to Chef  Terms & Concepts (with Examples)  Chef vs. Puppet Cloud Deployment  Different Approaches for Cloud Provisioning Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 2
  • 3. © Zühlke 2012 Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co Torben Knerr Motivation DevOps & Infrastructure-As-Code 20. Juli 2012 Slide 3
  • 4. © Zühlke 2012 Motivation DevOps & Infrastructure-As-Code Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr DevOps Drivers:  Cloud & Virtualisation  Mass Server Management  Agile & Continous Delivery Philosophy:  Collaboration between Devs and Ops  Devs understand the needs of Ops  Ops learn from Devs (Infrastructure-As-Code)  Ops are part of the (SCRUM) team Disciplines:  Operations, Monitoring  Automation  Programming (Ruby)  Configuration Management Goals:  Traceability, Auditability  Maintainability  Reproducability  Speed / Time-To-Market Infrastructure- As-Code 20. Juli 2012 Slide 4
  • 5. © Zühlke 2012 Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co Torben Knerr Introduction to Chef Knife, Cookbooks, Recipes, etc… 20. Juli 2012 Slide 5
  • 6. © Zühlke 2012 Introduction to Chef What‘s in a Chef Repository? Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr chef-repo 20. Juli 2012 Slide 6
  • 7. © Zühlke 2012 Introduction to Chef What‘s in a Chef Repository? Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr chef-repo cookbooks databags environments roles 20. Juli 2012 Slide 7
  • 8. © Zühlke 2012 Introduction to Chef What‘s in a Chef Repository? Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr recipes attributes files templates chef-repo cookbooks databags environments roles 20. Juli 2012 Slide 8
  • 9. © Zühlke 2012 Introduction to Chef Chef Solo vs. Chef Server Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr node couchdb cookbooks roles databags nodes …Chef Server node node node node chef-client poll for node’s run_list and converge node node cookbooks roles databags solo.rb chef-solo read run_list from solo.rb and converge node Chef Solo  Runs chef-solo locally  No server required  Easier to get started with  Good for few nodes, onetime bootstraps chef- repo upload to node 20. Juli 2012 Slide 9
  • 10. © Zühlke 2012 Introduction to Chef Chef Solo vs. Chef Server Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr node couchdb cookbooks roles databags nodes …Chef Server node node node node chef-client poll for node’s run_list and converge node node cookbooks roles databags solo.rb chef-solo read run_list from solo.rb and converge node Chef Server  chef-client polls regularly  More complex workflow  Additional features: Search, WebUI  Good for ongoing operations of many nodes chef- repo upload to chef server 20. Juli 2012 Slide 10
  • 11. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr The Chef Repository is the place where cookbooks, roles, config files and other artifacts for managing systems with Chef will live, typically stored in a version control system. 20. Juli 2012 Slide 11
  • 12. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Cookbooks are the fundamental units of distribution in Chef. They encapsulate all the resources you need to automate your infrastructure and are easily sharable with other Chef users. 20. Juli 2012 Slide 12
  • 13. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Attributes are node data such as the IP address, hostname, etc... New attributes can be defined on cookbook, environment, role and node level. cookbooks/apache2/attributes/default.rb 20. Juli 2012 Slide 13
  • 14. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Recipes encapsulate collections of resources which are executed in order to configure the system. cookbooks/apache2/recipes/default.rb 20. Juli 2012 Slide 14
  • 15. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Recipes encapsulate collections of resources which are executed in order to configure the system. Resources cookbooks/apache2/recipes/default.rb 20. Juli 2012 Slide 15
  • 16. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Resources are the cross platform abstraction of the thing you're configuring on the node. Examples: 20. Juli 2012 Slide 16
  • 17. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Resources are the cross platform abstraction of the thing you're configuring on the node. Examples: 20. Juli 2012 Slide 17
  • 18. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Resources are the cross platform abstraction of the thing you're configuring on the node. Examples: 20. Juli 2012 Slide 18
  • 19. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Resources are the cross platform abstraction of the thing you're configuring on the node. Examples: 20. Juli 2012 Slide 19
  • 20. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Resources are the cross platform abstraction of the thing you're configuring on the node. Examples: 20. Juli 2012 Slide 20
  • 21. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Resources are the cross platform abstraction of the thing you're configuring on the node. Examples:  Many, many more in the Opscode Wiki: http://wiki.opscode.com/display/chef/Resources  You can also write your own: http://wiki.opscode.com/display/chef/Lightweight+Resources+and+Providers+ %28LWRP%29 20. Juli 2012 Slide 21
  • 22. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Data bags provide an arbitrary stores of globally available JSON data… chef-repo/data_bags/users/bofh.json 20. Juli 2012 Slide 22
  • 23. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr …which are then used in Recipes: cookbooks/users/recipes/default.rb 20. Juli 2012 Slide 23
  • 24. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr A role provides a means of grouping similar features of similar nodes, providing a mechanism for easily composing sets of functionality. chef-repo/roles/webserver.rb 20. Juli 2012 Slide 24
  • 25. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Environments in Chef provide a mechanism for managing different environments such as production, staging, development, testing, etc chef-repo/environments/dev.rb 20. Juli 2012 Slide 25
  • 26. © Zühlke 2012  Chef Repo  Cookbooks  Attributes  Recipes  Resources  Databags  Roles  Environments  Nodes Introduction to Chef Terms & Concepts Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Nodes are the thing that Recipes and Roles are applied to. The primary features of a node, from Chef's point of view, are its Attributes and its run list. chef-repo/nodes/web.example.com.rb 20. Juli 2012 Slide 26
  • 27. © Zühlke 2012 How to get started? • If you are working on Windows use Bill’s Kitchen https://ikm.zuehlke.com/topics/Pages/Bill's%20Kitchen.aspx • Start with Vagrant and Chef-Solo (you will love Vagrant…) http://vagrantup.com/v1/docs/provisioners/chef_solo.html • Get familiar with cookbook development and testing https://github.com/tknerr/bills-kitchen/blob/master/COOKBOOK_DEVELOPMENT.md • Set up a Chef Server using knife-server http://fnichol.github.com/knife-server/ • Use Vagrant with Chef-Server Provisioning http://vagrantup.com/v1/docs/provisioners/chef_server.html • Get familiar with knife and use advanced features like search, bootstrap, etc.. http://wiki.opscode.com/display/chef/Knife Introduction to Chef Getting Started with Chef Development Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 27
  • 28. © Zühlke 2012 Introduction to Chef VirtualBox Automation with Vagrant Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Vagranfile 20. Juli 2012 Slide 28
  • 29. © Zühlke 2012 Introduction to Chef Cookbook Dependency Management with Librarian Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Cheffile 20. Juli 2012 Slide 29
  • 30. © Zühlke 2012 Introduction to Chef Test-Driven Infrastrucure! Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Lint Checking • foodcritic Unit-Level Testing • chefspec • fauxhai Smoke Tests (from the inside) • chef-minitest-handler Acceptance Testing (from the outside) • cucumber-nagios 20. Juli 2012 Slide 30
  • 31. © Zühlke 2012 It doesn’t really matter (for us)  Same concepts, slightly different terminology  External vs. internal DSL (like Maven vs. Gradle)  Both have solo / standalone mode  There are more Puppet books than Chef books  Both have a very active community (mailing list, IRC, etc..)  Do you have in-house knowledge of Chef/Puppet? Introduction to Chef Chef vs. Puppet Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 31
  • 32. © Zühlke 2012 It doesn’t really matter (for us)  Same concepts, slightly different terminology  External vs. internal DSL (like Maven vs. Gradle)  Both have solo / standalone mode  There are more Puppet books than Chef books  Both have a very active community (mailing list, IRC, etc..)  Do you have in-house knowledge of Chef/Puppet? Introduction to Chef Chef vs. Puppet Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Use the tool that “operations” understands! 20. Juli 2012 Slide 32
  • 33. © Zühlke 2012 Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co Torben Knerr Cloud Deployment Different Approaches for Provisioning Cloud Instances 20. Juli 2012 Slide 33
  • 34. © Zühlke 2012 Cloud Deployment The Basic Mechanism: EC2 User Data You can pass arbitrary user data when launching an instance… …and access it on the instance via the metadata service: Notes:  User data is limited to 16K in raw form (before base64 encoding) Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 34
  • 35. © Zühlke 2012 Cloud Deployment Option 1: Provisioning with Shell Scripts Convention: if the user data script starts with a `#!` it will be run at first boot Notes:  Might not be supported on all AMIs (for the official Ubuntu AMIs it is) Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr path/to/bootstrap.sh 20. Juli 2012 Slide 35
  • 36. © Zühlke 2012 Cloud Deployment Option 1: Provisioning with Shell Scripts Convention: if the user data script starts with a `#!` it will be run at first boot Notes:  Might not be supported on all AMIs (for the official Ubuntu AMIs it is) Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr path/to/bootstrap.sh  easiest method  good if bootstrapping is simple  one-off bootstrap (first boot) 20. Juli 2012 Slide 36
  • 37. © Zühlke 2012  VM instances are bootstrapped with Chef/Puppet via Cloud-init  The rest is just AWS CloudFormation Templates  Supports Chef Server, Chef Solo and Puppet Client Server Cloud Deployment Option 2: AWS CloudFormation Templates Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 37
  • 38. © Zühlke 2012  VM instances are bootstrapped with Chef/Puppet via Cloud-init  The rest is just AWS CloudFormation Templates  Supports Chef Server, Chef Solo and Puppet Client Server Cloud Deployment Option 2: AWS CloudFormation Templates Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr  good for more complex scenarios  official, AWS supported documentation available  not meant for humans to read 20. Juli 2012 Slide 38
  • 39. © Zühlke 2012  Vagrant-like approach for managing VMs in the cloud  Supports Chef, Puppet and Shell provisioning  Currently focused on AWS but other providers possible  Supports stacks via AWS CloudFormation Templates Cloud Deployment Option 3: Mccloud Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 39
  • 40. © Zühlke 2012  Vagrant-like approach for managing VMs in the cloud  Supports Chef, Puppet and Shell provisioning  Currently focused on AWS but other providers possible  Supports stacks via AWS CloudFormation Templates Cloud Deployment Option 3: Mccloud Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Yay! :-) 20. Juli 2012 Slide 40
  • 41. © Zühlke 2012  knife-ec2  knife plugin to let you launch, bootstrap and provision EC2 VMs with Chef  Works only with Chef Server – no Chef Solo support  Puppet Cloud Provisioner  Puppet extension to launch, bootstrap and provision EC2 VMs with Puppet  Works only with Puppet Master – no Puppet Standalone mode (?) Cloud Deployment Option 4: Native Chef / Puppet Tools Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 41
  • 42. © Zühlke 2012  knife-ec2  knife plugin to let you launch, bootstrap and provision EC2 VMs with Chef  Works only with Chef Server – no Chef Solo support  Puppet Cloud Provisioner  Puppet extension to launch, bootstrap and provision EC2 VMs with Puppet  Works only with Puppet Master – no Puppet Standalone mode (?) Cloud Deployment Option 4: Native Chef / Puppet Tools Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr  You can’t have both: it’s Chef OR Puppet  Fallback if the generic tools (Option 2 & 3) don’t work out as expected  No Solo / Standalone mode 20. Juli 2012 Slide 42
  • 43. © Zühlke 2012 Vagrant – create and configure lightweight, reproducible, and portable development environments Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr Vagranfile 20. Juli 2012 Slide 43
  • 44. © Zühlke 2012  EC2 User Data Scripts http://alestic.com/2009/06/ec2-user-data-scripts https://help.ubuntu.com/community/CloudInit http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/AESDG-chapter-instancedata.html  AWS CloudFormation Templates with Chef/Puppet https://s3.amazonaws.com/cloudformation-examples/IntegratingAWSCloudFormationWithOpscodeChef.pdf https://s3.amazonaws.com/cloudformation-examples/IntegratingAWSCloudFormationWithPuppet.pdf  Mccloud https://github.com/jedi4ever/mccloud https://github.com/jedi4ever/mccloud-demo https://gist.github.com/3175267  knife-ec2 http://wiki.opscode.com/display/chef/Launch+Cloud+Instances+with+Knife  Puppet Cloud Provisioner http://docs.puppetlabs.com/guides/cloud_pack_getting_started.html Cloud Deployment Overview & Resources Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co | Torben Knerr 20. Juli 2012 Slide 44
  • 45. © Zühlke 2012 Infrastructure-As-Code and Cloud Deployments with Opscode Chef & Co Torben Knerr Discussion Time! Puppet, Mccloud, Foo, Bar, Baz DevOps, NoOps, Blablabla Vagrant, Chef, Deployment Stuff Cloudy Cloud! 20. Juli 2012 Slide 45
  • 46. Thank You!  And let’s continue the discussion here: