Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Configuration Management Camp 2015
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
someara
February 03, 2015
Technology
590
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Configuration Management Camp 2015
Ghent Belgium
someara
February 03, 2015
More Decks by someara
See All by someara
Docker Docker Docker Chef
someara
0
550
Hand Crafted Artisinal Chef Resources
someara
0
630
Cookbook Reusability
someara
0
830
TDI with ChefDK 0.0.1
someara
2
900
Configuration Management 101 @ Scale12x
someara
2
940
Configuration Management 101
someara
3
820
Introduction to Chef - Scale 10x
someara
2
480
Introduction to Chef - NYLUG Jan 2012
someara
2
330
Introduction to Chef - LISA11
someara
10
6.2k
Other Decks in Technology
See All in Technology
高負荷プロダクション環境におけるAWS Lambdaのリアル 〜スケールとコストを左右する実行ライフサイクルの技術仕様〜
maimyyym
2
810
いちAWSエンジニアのAI活用を振り返る #devio2026 / devio osaka 2026 kawahara
masahirokawahara
1
270
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
4
870
AIに会社の文脈を理解させる技術~上流工程・非エンジニアにも広げるハーネスエンジニアリング実践~
ochtum
0
190
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
660
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
leveragestech
PRO
0
110
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
990
人にやさしく、AIにやさしく、書き手を選ばないIaCのガードレール再考 / Rethinking IaC Guardrails for Humans and AI Alike
kohbis
5
1.7k
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
3.3k
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
420
地方移住と都心キャリアの両立は「金・時間・人」のリソースをフル活用すれば実現できる!〜Snowflake女子会 vol.8
snowwmn0824
0
130
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
150
Featured
See All Featured
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
290
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Building Adaptive Systems
keathley
44
3.2k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
290
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Side Projects
sachag
456
43k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
250
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Unsuck your backbone
ammeep
672
58k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
430
Transcript
Chef Reusability! Config Management Camp! Ghent, Belgium! February 2015
Sean OMeara!
[email protected]
! @someara
whoami
Part 1
Things that are true
New Chef users expect community cookbooks to just work
Especially the Chef maintained cookbooks
This is not the current state of things
This leads to sadness
We must repair it
People copy patterns
The status quo cannot be allowed to continue
Common pain points https://www.flickr.com/photos/kwl/4595324641
Platform and version support
Weak scoping
No standard interface
Compilation phase work
Needing chef-rewind
Attributes and precedence
Pattern proliferation
The path out of the darkness https://www.flickr.com/photos/71267357@N06/15864687537
Change how cookbooks are written
systems beliefs! behaviors
Standardize interfaces
Eliminate the pain points
Focus on resources
Make it super easy! to write resources
Ship resources for ALL THE THINGS
Copy better patterns
Make it fucking delightful
None
Part 2
Simple design patterns https://www.flickr.com/photos/pollock/4172865252
None
None
You just separated data from code
You also just built an interface
Complex design patterns https://www.flickr.com/photos/alanosaur/6417040565
None
None
This is where things get weird
amazon debian-6 debian-7 ubuntu-10.04 ubuntu-12.04 ubuntu-14.04 centos-5 centos-6 centos-7 freebsd-9
freebsd-10
Debconf! Docker! LaunchD! Runit! SMF! Simple! SystemD! Sysvinit! Upstart! Windows
Services
There is a large amount of variation between software versions
There is an insane amount variation across platforms
These differences need to be handled somewhere
Early techniques did everything in the recipe
data resource pattern
Later techniques focused on isolation
Resource pattern isolation
None
private recipes by convention
Resource data isolation
None
None
We now have decision logic in our interface
Default values often need to be computed
Doing this in the interface leads to sorrow
None
We need a better way
Consumption Patterns https://www.flickr.com/photos/ektogamat/2578779839
None
None
None
None
Why resources are best https://www.flickr.com/photos/cross_stitch_ninja/4932950637
node attributes roles environments databags are nice to haves
They drive data about resources
Resources are fundamental
Resources are strongly scoped
Resources have a standardized interface
Resources have types, names, and parameters
Type
Name
Parameters
Resources have identities
None
Resource can see each other
Promise to talk
Promise to listen
Resource behave the same across platforms
None
None
None
Resource can have multiple providers
None
Writing simple resources
yum
</switches github>
Writing complex resources
mysql httpd
</switches github>
fin