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
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
2026年 エンジニアリング自己学習法
yumechi
0
140
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
700
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
AtCoder Conference 2025
shindannin
0
1.1k
Grafana:建立系統全知視角的捷徑
blueswen
0
330
組織で育むオブザーバビリティ
ryota_hnk
0
180
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.3k
Lambda のコードストレージ容量に気をつけましょう
tattwan718
0
130
Featured
See All Featured
We Are The Robots
honzajavorek
0
160
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Curious Case for Waylosing
cassininazir
0
240
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
430
Embracing the Ebb and Flow
colly
88
5k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Mind Mapping
helmedeiros
PRO
0
86
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
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