Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Configuration Management Anti-Patterns
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Sam Kottler
June 20, 2013
Programming
2
1.2k
Configuration Management Anti-Patterns
Sam Kottler
June 20, 2013
Tweet
Share
More Decks by Sam Kottler
See All by Sam Kottler
This is your database on Linux
skottler
0
290
How to Debug Anything - DevOpsDay PGH
skottler
1
1.2k
Containerization primatives
skottler
0
150
Icinga at DigitalOcean
skottler
1
1k
PuppetConf '14
skottler
0
240
Other Decks in Programming
See All in Programming
『Kubernetes ☸️ で実践する Platform Engineering 』を最高速度で読み抜いたる!!👊🏻
hiroki_hasegawa
0
100
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
460
DevinとClaude Code、SREの現場で使い倒してみた件
karia
1
1.1k
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
290
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
400
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
7
2.9k
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
230
Nostalgia Meets Technology: Super Mario with TypeScript
manfredsteyer
PRO
0
100
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
230
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
740
「接続」—パフォーマンスチューニングの最後の一手 〜点と点を結ぶ、その一瞬のために〜
kentaroutakeda
3
1.7k
20260315 AWSなんもわからん🥲
chiilog
2
170
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Ethics towards AI in product and experience design
skipperchong
2
230
Done Done
chrislema
186
16k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
380
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
290
For a Future-Friendly Web
brad_frost
183
10k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
92
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
92
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
220
Transcript
Configuration Management Anti-Patterns Sam Kottler @samkottler Thursday, June 20, 13
Hi, I’m Sam Thursday, June 20, 13
Hi, I’m Sam Thursday, June 20, 13
Configuration management is great. Thursday, June 20, 13
I don’t really care which system you’re using. This talk
will feature Puppet & Chef Thursday, June 20, 13
Predictability Thursday, June 20, 13
Scalability Thursday, June 20, 13
Auditing Thursday, June 20, 13
Opinions lie within Thursday, June 20, 13
Thursday, June 20, 13
Build packages. Seriously, it’s worth it. Thursday, June 20, 13
/usr/bin/fpm -s gem -t rpm -n freight -v $VERSION -C
$TMP_DIR \ -d "dpkg" usr/local Thursday, June 20, 13
A quick diversion... Thursday, June 20, 13
rpmbuild -ba foo.spec mock foo-3.4.0-1.src.rpm Thursday, June 20, 13
dh_make git-buildpackage debuild-pbuilder Thursday, June 20, 13
Thursday, June 20, 13
And put them into repos. Thursday, June 20, 13
Use PPA’s or COPR’s. Thursday, June 20, 13
This is actually really easy to automate. Thursday, June 20,
13
Koji is your friend. Thursday, June 20, 13
I’m working on an OS agnostic solution. Talk to me
after if you want to help. Thursday, June 20, 13
Inline logic that includes parameters Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
Lack of parameterization Thursday, June 20, 13
“Why would I ever want to change this?” Thursday, June
20, 13
Parameterized classes, hiera, and attributes Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
Just look at the Opscode cookbooks And give Joshua Timberman
a hug. Thursday, June 20, 13
Storing plain-text secrets in your config management repos. Thursday, June
20, 13
Encrypted databags Thursday, June 20, 13
hiera-gpg Thursday, June 20, 13
Role decisions based on inventory values Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
$ FACTER_physicalprocesscount=2 puppet agent -t $ chef-client -j “{ processors:
2 }” Thursday, June 20, 13
Don’t fear wrapper cookbooks or modules. Thursday, June 20, 13
Thursday, June 20, 13
Remember all those awesome abstractions? Thursday, June 20, 13
Stop putting upstream modules and cookbooks into your repos. Thursday,
June 20, 13
librarian-chef berkshelf Thursday, June 20, 13
Thursday, June 20, 13
Thursday, June 20, 13
librarian-puppet Thursday, June 20, 13
Don’t deploy with your configuration management tool Thursday, June 20,
13
Thursday, June 20, 13
Rollbacks? Revision management? Thursday, June 20, 13
Consistency? Phased rollouts? Thursday, June 20, 13
Thursday, June 20, 13
It’s a bug if you can’t run end-to-end provisioning in
a single run. Thursday, June 20, 13
Use a build system to run each type of machine
in an isolated environment LXC or schroot are great for doing this Thursday, June 20, 13
Deploy your configuration management tools just like production Thursday, June
20, 13
Questions? @samkottler
[email protected]
https://github.com/skottler Thursday, June 20, 13