DevOps & Stuff
Chris Jimenez
DevOps?
DevOps (a clipped compound of "development" and "operations")
Its a culture, movement or practice that emphasizes the collaboration and
communication of both software developers and other information-technology
(IT) professionals while automating the process of software delivery and
infrastructure changes.
DevOps
“It aims at establishing a culture and environment where
building, testing, and releasing software, can happen rapidly,
frequently, and more reliably.”
DevOps
Code – Code Development and Review, continuous integration tools
Build – Version control tools, code merging, Build status
Test – Test and results determine performance
Package – Artifact repository, Application pre-deployment staging
Release – Change management, Release approvals, release automation
Configure – Infrastructure configuration and management, Infrastructure as
Code tools
Monitor – Applications performance monitoring, End user experience
DevOps
DevOps and Chef
Chef
INFRASTRUCTURE : Save time and reduce errors by automating provisioning and configuration at scale
APPLICATIONS: Continuously deliver applications faster and safer with a proven pipeline
COMPLIANCE : Automate testing for security and compliance, and add remediation to your pipeline
ONE PLATFORM: CHEF : Manage changes to apps, infrastructure, and compliance in multiple environments
Es un chuzo!
Infrastructure
Let's create a Recipe
mkdir ~/chef-repo
cd ~/chef-repo
Create a MOTD file
vim hello.rb
file '/tmp/motd' do
content 'hello world'
end
Let's configure a resource
chef-client --local-mode hello.rb
Converging 1 resourcesRecipe: @recipe_files::/root/chef-repo/hello.rb * file[/tmp/motd] action create - create
new file /tmp/motd - update content in file /tmp/motd from none to b94d27 --- /tmp/motd 2016-01-07
18:10:44.638360163 +0000 +++ /tmp/.motd20160107-5972-h0sawb 2016-01-07 18:10:44.638360163 +0000 @@ -1 +1,2
@@ +hello world
Running handlers:
Running handlers complete
Chef Client finished, 1/1 resources updated in 01 seconds
more /tmp/motd
hello world
Run the command again
chef-client --local-mode hello.rb
Running handlers:
Running handlers complete
Chef Client finished, 0/1 resources updated in 01 seconds
Delete the file
file '/tmp/motd' do
action :delete
end
chef-client --local-mode goodbye.rb
Recipe: @recipe_files::/root/chef-repo/goodbye.rb
* file[/tmp/motd] action delete
- delete file /tmp/motd
Running handlers:
Running handlers complete
Chef Client finished, 1/1 resources updated in 01 seconds
Lets install Apache
vim webserver.rb
package 'apache2'
sudo chef-client --local-mode webserver.rb
Recipe: @recipe_files::/root/chef-repo/webserver.rb
apt_package[apache2] action install
- install version 2.4.7-1ubuntu4.8 of package apache2
Chef Client finished, 1/1 resources updated in 08 seconds
Run a second time
sudo chef-client --local-mode webserver.rb
* apt_package[apache2] action install (up to date)
Chef Client finished, 0/1 resources updated in 01 seconds
Start & Enable Apache
package 'apache2'
service 'apache2' do
supports :status => true
action [:enable, :start]
end
Add a home page
package 'apache2'
service 'apache2' do
supports :status => true
action [:enable, :start]
end
file '/var/www/html/index.html' do
content '<html>
<body>
<h1>hello world</h1>
</body>
</html>'
end
Hello World
Cookbooks
Make our recipes manageable
mkdir cookbook
cd cookbooks
chef generate cookbook learn_chef_apache2
This generates all the folder structure with test folders, specs, templates, and the
recipes folders
Update the recipe with a template
package 'apache2'
service 'apache2' do
supports :status => true
action [:enable, :start]
end
template '/var/www/html/index.html' do
source 'index.html.erb'
end
sudo chef-client --local-mode --runlist 'recipe[learn_chef_apache2]'
Manage your nodes
Chef Server
Acts as a central repository for your cookbooks as well as for information about every node it manages.
For example, the Chef server knows a node's fully qualified domain name (FQDN) and its platform.
Self Hosted
Hosted Chef Server
Upload a Cookbook
cd ~/learn-chef
mkdir cookbooks
knife cookbook site download learn_chef_apache2
knife cookbook upload learn_chef_apache2
Uploading learn_chef_apache2 [0.2.1]
Uploaded 1 cookbook.
Cookbooks
knife cookbook list
learn_chef_apache2 0.2.1
Bootstrap a Node
knife bootstrap ADDRESS --ssh-user USER --sudo --identity-file IDENTITY_FILE --node-name node1 --run-list
'recipe[learn_chef_apache2]'
Creating new client for node1
Creating new node for node1
Connecting to 52.33.228.36
52.33.228.36 Chef Client finished, 2/4 resources updated in 15 seconds
Chef Server
Chef Server
Update Cookbook
knife cookbook upload learn_chef_apache2
knife ssh ADDRESS 'sudo chef-client' --manual-list --ssh-user USER --identity-file IDENTITY_FILE
Clean Up
knife node delete node1 --yes
Deleted node[node1]
Develop Locally
Test Kitchen
Kitchen Life
References

More Related Content

PDF
Eve - REST API for Humans™
PDF
HTML5 JavaScript APIs
PDF
Introduction to Flask Micro Framework
KEY
Using and scaling Rack and Rack-based middleware
PDF
Redis for your boss 2.0
PDF
Redis for your boss
PDF
Integrating icinga2 and the HashiCorp suite
PPT
Gradle: The Build system you have been waiting for
Eve - REST API for Humans™
HTML5 JavaScript APIs
Introduction to Flask Micro Framework
Using and scaling Rack and Rack-based middleware
Redis for your boss 2.0
Redis for your boss
Integrating icinga2 and the HashiCorp suite
Gradle: The Build system you have been waiting for

What's hot (20)

KEY
Zendcon 09
PPT
Powerful and flexible templates with Twig
PDF
Denys Serhiienko "ASGI in depth"
PDF
Getting Started-with-Laravel
PDF
Design & Performance - Steve Souders at Fastly Altitude 2015
PDF
Django - 次の一歩 gumiStudy#3
KEY
PyCon US 2012 - State of WSGI 2
PDF
The Best (and Worst) of Django
PDF
Codified PostgreSQL Schema
PPT
Apache Hadoop India Summit 2011 talk "Oozie - Workflow for Hadoop" by Andreas N
KEY
PyCon AU 2010 - Getting Started With Apache/mod_wsgi.
PDF
Testing your infrastructure with litmus
PDF
Apache Hive Hook
PDF
Selenium sandwich-3: Being where you aren't.
PPTX
Automated release management with team city & octopusdeploy - NDC 2013
PDF
Hacking ansible
PDF
Autoscaling with hashi_corp_nomad
ODP
Integrating icinga2 and the HashiCorp suite
PDF
Bootstrapping multidc observability stack
PDF
Choosing a Javascript Framework
Zendcon 09
Powerful and flexible templates with Twig
Denys Serhiienko "ASGI in depth"
Getting Started-with-Laravel
Design & Performance - Steve Souders at Fastly Altitude 2015
Django - 次の一歩 gumiStudy#3
PyCon US 2012 - State of WSGI 2
The Best (and Worst) of Django
Codified PostgreSQL Schema
Apache Hadoop India Summit 2011 talk "Oozie - Workflow for Hadoop" by Andreas N
PyCon AU 2010 - Getting Started With Apache/mod_wsgi.
Testing your infrastructure with litmus
Apache Hive Hook
Selenium sandwich-3: Being where you aren't.
Automated release management with team city & octopusdeploy - NDC 2013
Hacking ansible
Autoscaling with hashi_corp_nomad
Integrating icinga2 and the HashiCorp suite
Bootstrapping multidc observability stack
Choosing a Javascript Framework
Ad

Viewers also liked (12)

PPTX
Deferred object
PPTX
The Internet own boy
PPTX
iOS 7
PPTX
Unit testing
PPTX
An introduction to Mobile Development (Spanish)
PPTX
WWDC 2014
PPTX
Indoor Positioning System with iBeacons
PPTX
REST with Eve and Python
PPTX
WWDC 2016
PPTX
Mobile architecture problems and solutions.
PPTX
Hooked - How to build habit forming products
PDF
Rest Introduction (Chris Jimenez)
Deferred object
The Internet own boy
iOS 7
Unit testing
An introduction to Mobile Development (Spanish)
WWDC 2014
Indoor Positioning System with iBeacons
REST with Eve and Python
WWDC 2016
Mobile architecture problems and solutions.
Hooked - How to build habit forming products
Rest Introduction (Chris Jimenez)
Ad

Similar to DevOps and Chef (20)

PDF
Introduction to Cooking with Chef
ODP
Configuration management with Chef
ODP
DevOps and Chef improve your life
PDF
Automating your infrastructure with Chef
PDF
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
PPTX
Chef Jumpstart
PDF
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
PDF
DOO-009_Powering High Velocity Development for your Infrastructure
PDF
Chef resources
PDF
Learning chef
PDF
What is Chef and how we use it at tripsta
PDF
Chef, Vagrant and Friends
PDF
Aai 3228-dev ops-tools-websphere-sl
PDF
Automating Infrastructure with Chef
PDF
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
PDF
Introduction to Chef
PPTX
London Community Summit 2016 - Fresh New Chef Stuff
PPTX
Chef onlinuxonpower
PPT
Chef, Devops, and You
PDF
Introduction to Chef
Introduction to Cooking with Chef
Configuration management with Chef
DevOps and Chef improve your life
Automating your infrastructure with Chef
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Jumpstart
Introduction to Chef: Automate Your Infrastructure by Modeling It In Code
DOO-009_Powering High Velocity Development for your Infrastructure
Chef resources
Learning chef
What is Chef and how we use it at tripsta
Chef, Vagrant and Friends
Aai 3228-dev ops-tools-websphere-sl
Automating Infrastructure with Chef
Node setup, resource, and recipes - Fundamentals Webinar Series Part 2
Introduction to Chef
London Community Summit 2016 - Fresh New Chef Stuff
Chef onlinuxonpower
Chef, Devops, and You
Introduction to Chef

Recently uploaded (20)

PDF
Wondershare Recoverit Full Crack New Version (Latest 2025)
PDF
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
PPTX
CNN LeNet5 Architecture: Neural Networks
PDF
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
PDF
Workplace Software and Skills - OpenStax
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PDF
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
PPTX
Cybersecurity: Protecting the Digital World
PPTX
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
PDF
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
PDF
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
PDF
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
PPTX
Lecture 5 Software Requirement Engineering
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PPTX
Airline CRS | Airline CRS Systems | CRS System
PPTX
Tech Workshop Escape Room Tech Workshop
PPTX
Python is a high-level, interpreted programming language
Wondershare Recoverit Full Crack New Version (Latest 2025)
Top 10 Software Development Trends to Watch in 2025 🚀.pdf
CNN LeNet5 Architecture: Neural Networks
DuckDuckGo Private Browser Premium APK for Android Crack Latest 2025
Workplace Software and Skills - OpenStax
DNT Brochure 2025 – ISV Solutions @ D365
Type Class Derivation in Scala 3 - Jose Luis Pintado Barbero
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
novaPDF Pro 11.9.482 Crack + License Key [Latest 2025]
Cybersecurity: Protecting the Digital World
4Seller: The All-in-One Multi-Channel E-Commerce Management Platform for Glob...
AI/ML Infra Meetup | LLM Agents and Implementation Challenges
Introduction to Ragic - #1 No Code Tool For Digitalizing Your Business Proces...
Multiverse AI Review 2025: Access All TOP AI Model-Versions!
Lecture 5 Software Requirement Engineering
How Tridens DevSecOps Ensures Compliance, Security, and Agility
How to Use SharePoint as an ISO-Compliant Document Management System
Airline CRS | Airline CRS Systems | CRS System
Tech Workshop Escape Room Tech Workshop
Python is a high-level, interpreted programming language

DevOps and Chef

  • 2. DevOps? DevOps (a clipped compound of "development" and "operations") Its a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes.
  • 3. DevOps “It aims at establishing a culture and environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably.”
  • 4. DevOps Code – Code Development and Review, continuous integration tools Build – Version control tools, code merging, Build status Test – Test and results determine performance Package – Artifact repository, Application pre-deployment staging Release – Change management, Release approvals, release automation Configure – Infrastructure configuration and management, Infrastructure as Code tools Monitor – Applications performance monitoring, End user experience
  • 7. Chef INFRASTRUCTURE : Save time and reduce errors by automating provisioning and configuration at scale APPLICATIONS: Continuously deliver applications faster and safer with a proven pipeline COMPLIANCE : Automate testing for security and compliance, and add remediation to your pipeline ONE PLATFORM: CHEF : Manage changes to apps, infrastructure, and compliance in multiple environments Es un chuzo!
  • 9. Let's create a Recipe mkdir ~/chef-repo cd ~/chef-repo Create a MOTD file vim hello.rb file '/tmp/motd' do content 'hello world' end
  • 10. Let's configure a resource chef-client --local-mode hello.rb Converging 1 resourcesRecipe: @recipe_files::/root/chef-repo/hello.rb * file[/tmp/motd] action create - create new file /tmp/motd - update content in file /tmp/motd from none to b94d27 --- /tmp/motd 2016-01-07 18:10:44.638360163 +0000 +++ /tmp/.motd20160107-5972-h0sawb 2016-01-07 18:10:44.638360163 +0000 @@ -1 +1,2 @@ +hello world Running handlers: Running handlers complete Chef Client finished, 1/1 resources updated in 01 seconds more /tmp/motd hello world
  • 11. Run the command again chef-client --local-mode hello.rb Running handlers: Running handlers complete Chef Client finished, 0/1 resources updated in 01 seconds
  • 12. Delete the file file '/tmp/motd' do action :delete end chef-client --local-mode goodbye.rb Recipe: @recipe_files::/root/chef-repo/goodbye.rb * file[/tmp/motd] action delete - delete file /tmp/motd Running handlers: Running handlers complete Chef Client finished, 1/1 resources updated in 01 seconds
  • 13. Lets install Apache vim webserver.rb package 'apache2' sudo chef-client --local-mode webserver.rb Recipe: @recipe_files::/root/chef-repo/webserver.rb apt_package[apache2] action install - install version 2.4.7-1ubuntu4.8 of package apache2 Chef Client finished, 1/1 resources updated in 08 seconds
  • 14. Run a second time sudo chef-client --local-mode webserver.rb * apt_package[apache2] action install (up to date) Chef Client finished, 0/1 resources updated in 01 seconds
  • 15. Start & Enable Apache package 'apache2' service 'apache2' do supports :status => true action [:enable, :start] end
  • 16. Add a home page package 'apache2' service 'apache2' do supports :status => true action [:enable, :start] end file '/var/www/html/index.html' do content '<html> <body> <h1>hello world</h1> </body> </html>' end
  • 18. Cookbooks Make our recipes manageable mkdir cookbook cd cookbooks chef generate cookbook learn_chef_apache2 This generates all the folder structure with test folders, specs, templates, and the recipes folders
  • 19. Update the recipe with a template package 'apache2' service 'apache2' do supports :status => true action [:enable, :start] end template '/var/www/html/index.html' do source 'index.html.erb' end sudo chef-client --local-mode --runlist 'recipe[learn_chef_apache2]'
  • 21. Chef Server Acts as a central repository for your cookbooks as well as for information about every node it manages. For example, the Chef server knows a node's fully qualified domain name (FQDN) and its platform. Self Hosted Hosted Chef Server
  • 22. Upload a Cookbook cd ~/learn-chef mkdir cookbooks knife cookbook site download learn_chef_apache2 knife cookbook upload learn_chef_apache2 Uploading learn_chef_apache2 [0.2.1] Uploaded 1 cookbook.
  • 24. Bootstrap a Node knife bootstrap ADDRESS --ssh-user USER --sudo --identity-file IDENTITY_FILE --node-name node1 --run-list 'recipe[learn_chef_apache2]' Creating new client for node1 Creating new node for node1 Connecting to 52.33.228.36 52.33.228.36 Chef Client finished, 2/4 resources updated in 15 seconds
  • 27. Update Cookbook knife cookbook upload learn_chef_apache2 knife ssh ADDRESS 'sudo chef-client' --manual-list --ssh-user USER --identity-file IDENTITY_FILE
  • 28. Clean Up knife node delete node1 --yes Deleted node[node1]