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 Anti-Patterns
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Sam Kottler
June 20, 2013
Programming
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Configuration Management Anti-Patterns
Sam Kottler
June 20, 2013
More Decks by Sam Kottler
See All by Sam Kottler
This is your database on Linux
skottler
0
310
How to Debug Anything - DevOpsDay PGH
skottler
1
1.3k
Containerization primatives
skottler
0
170
Icinga at DigitalOcean
skottler
1
1k
PuppetConf '14
skottler
0
240
Other Decks in Programming
See All in Programming
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
290
iOS開発×AI駆動開発 〜最近使って便利だったスキルの話〜
nogu66
0
140
数年滞っていたダークモード対応をおよそ2週間で完了させる
chigichan24
0
700
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
230
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
GraphRAGのKnowledge Graphを 直接!見る/View-GraphRAG's-KnowledgeGraph-directly!
tyumugi1113
1
280
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
130
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.1k
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
XP祭りでしか伝わらないフリップネタ #xpjug
murabayashi
0
130
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
300
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.3k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
690
Navigating Team Friction
lara
192
16k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
GraphQLとの向き合い方2022年版
quramy
50
15k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.7k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.2k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Ruling the World: When Life Gets Gamed
codingconduct
0
330
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
330
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