$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Chef
Search
Mehdi Lahmam B.
May 12, 2012
Technology
3
240
Introduction to Chef
A quick introduction to Chef
Mehdi Lahmam B.
May 12, 2012
Tweet
Share
More Decks by Mehdi Lahmam B.
See All by Mehdi Lahmam B.
Beyond code: Becoming a Product Engineer
mehlah
0
39
Possible to measure developer productivity?
mehlah
0
46
PG FDW FTW
mehlah
0
180
Product culture
mehlah
0
77
OpenAPI and AsyncAPI specifications as contracts
mehlah
0
670
Technical Debt
mehlah
1
300
Data informed growth
mehlah
0
240
Serverless Ruby and AWS Lambda
mehlah
0
180
Middleware all the things
mehlah
2
870
Other Decks in Technology
See All in Technology
SREが取り組むデプロイ高速化 ─ Docker Buildを最適化した話
capytan
0
150
New Relic 1 年生の振り返りと Cloud Cost Intelligence について #NRUG
play_inc
0
240
Amazon Connect アップデート! AIエージェントにMCPツールを設定してみた!
ysuzuki
0
140
Lookerで実現するセキュアな外部データ提供
zozotech
PRO
0
200
ESXi のAIOps だ!2025冬
unnowataru
0
370
意外と知らない状態遷移テストの世界
nihonbuson
PRO
1
270
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
2
270
Connection-based OAuthから学ぶOAuth for AI Agents
flatt_security
0
370
MySQLとPostgreSQLのコレーション / Collation of MySQL and PostgreSQL
tmtms
1
1.2k
さくらのクラウド開発ふりかえり2025
kazeburo
2
1.2k
Amazon Quick Suite で始める手軽な AI エージェント
shimy
1
1.9k
20251219 OpenIDファウンデーション・ジャパン紹介 / OpenID Foundation Japan Intro
oidfj
0
500
Featured
See All Featured
A designer walks into a library…
pauljervisheath
210
24k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
580
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
190
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
40k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
89
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
680
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
Transcript
Chef cd ~/scripts && find . -type f -name "*.sh"
-exec rm -rf {} \;
@mehlah
You’ve got a cloud. Now what ?
a ruby-based system integration framework designed to bring the benefits
of configuration management to your entire infrastructure Chef is
Huh ?
a Configuration management system a System integration platform an API
for your entire infrastructure
1st release Jan 15, 2009 Initial commit Mar 05, 2008
Chef Solo
Awesome!
Awesome! Bummer! We’ve only scratched the surface
Chef Server
source: http://wiki.opscode.com/display/chef/Architecture+Introduction
source: http://wiki.opscode.com/display/chef/Architecture Server Architecture
Disclaimer: The previous slide is here only to add an
engineering touch to this talk. You can safely ignore it !
In plain words 1. Clients talks to a Chef server,
and asks for their configuration. 2. Clients run ruby code on themselves, to converge to the aimed configuration
A lot of layers in Chef have attributes : Environments,
Nodes, Roles and Cookbooks.
Chef groups Nodes into Environments. You can have as many
environments as you like. Nodes have one or more Roles applied to them. A Role is comprised of one or more Cookbooks.
Cookbooks are comprised of one of more Recipes, Templates, Files
and more.
Tadaaaaa!
Cool stuffs
{ "id": "mehlah", "name": "Mehdi Lahmam B.", "uid": "2001", "group":
"www-data", "home": "/home/mehlah", "roles": [ "unix", "sudo" ], "ssh_keys": [ "akeystring" ] } Data bags
Search search(:node, "*:*") {|n| nodes << n } through Data
Bags, Roles, Nodes and more... knife search role "name:production*" knife search node 'platform:ubuntu' knife search admins 'id:christophe' search(:node, 'dmi_system_manufacturer:Dell*').each do |node| puts node[:dmi][:system][:serial_number] + "\t" + node[:fqdn] end Examples XJS1NF1 www1.example.org XJS1NF2 www2.example.org XJS1NF3 www3.example.org
Not so cool stuffs
None
Thanks!
Typeface: Arvo Notes on design Colors: #FF9900 #3299BB #424242 #E9E9E9