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 Tools
Search
Juanje Ojeda
March 05, 2014
Programming
0
110
Configuration Management Tools
Very basic introduction to the Configuration Management Tools for the group Las Palmas DevOps.
Juanje Ojeda
March 05, 2014
Tweet
Share
More Decks by Juanje Ojeda
See All by Juanje Ojeda
DevOps: A cultural change
juanje
4
250
DevOps isn't just for the Web
juanje
3
300
Other Decks in Programming
See All in Programming
Goのエラースタックトレースの歴史と今後
sonatard
6
470
大規模Reactアプリのリアーキテクチャ~8万行のTanStack Query移行の軌跡~
kj455
4
920
PHPはいつから死んでいるかの調査
chiroruxx
1
340
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
340
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
VS Code をプロダクトにどう取り込むか
onomax
1
330
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
520
Javaエンジニアのための Nodejs/Nuxt3入門
hidekatsu_izuno
0
290
今、知っておきたい! 生成AIエージェントの世界
elith
3
350
Tailwind CSSを本気でカスタマイズする方法
fsubal
13
5k
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
26
8.1k
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
6
880
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
The Art of Programming - Codeland 2020
erikaheidi
41
12k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Gamification - CAS2011
davidbonilla
76
4.6k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
77
42k
Optimizing for Happiness
mojombo
370
69k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
220
21k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
How STYLIGHT went responsive
nonsquared
92
4.8k
Navigating Team Friction
lara
177
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
16
1.4k
Transcript
SCM Software Configuration Management
Captain Obvious alert!
This is why... Let’s talk about the basics
what are Software Configurations ?
The system behavior Hardware configurations System configurations Applications settings Organization
policies
Configurations ≈ Policies The port 80 must be open The
user X must have access MySQL database must be running Ping must be blocked
what does Software Configurations look like?
Configurations
Configurations
Configurations
Configurations
Configurations
Configurations
Configurations
Configurations
what is a SCM system?
SCM Systems Provisioning Change management
SCM on Modern Systems
From 1 machine to many
Working on the wrong server
From 1 sysadmin to many
Who did what?
What do we need? All changes documented All changes must
be repeatable All changes in one place Accesibles for anyone All changes must be traceable
What does traceable mean? What have been changed? When have
been changed? Who made the change?
What do we do? Configuration by hand Wiki One or
few scripts Better scripts + Wiki Better scripts + Git/Svn Custom SCM (script+git+ssh loop)
How is a modern SCM? Declarative Abstract Idempotent Convergent
How is a modern SCM? Declarative Abstract Idempotent Convergent What
NOT How
How is a modern SCM? Declarative Abstract Idempotent Convergent How
it should behave Rely on the tool for the implementation
How is a modern SCM? Declarative Abstract Idempotent Convergent Only
take action if it’s needed
How is a modern SCM? Declarative Abstract Idempotent Convergent Each
resource takes care of itself
Key concepts Modern SCM
Modern SCM’s concepts Resources Nodes/Minions Recipes/Manifests/Playbooks Inventory Roles/Profiles
Some extras do we have time?
Avoid manual processes They are error prone
None
But be careful ;-)
Make Apps SCM friendly Separate data from code Allow to
use ENV variables Set default options But allow overwrite them with conffiles
Do NOT hardcode settings!!! Ever!
Make Apps SCM friendly Use the dependency managers Composer Bundler
Pip npm Maven
Make Apps SCM friendly Use flags to activate features Use
standard formats Think about settings per environment
Recomendations Start small Think in policies not in manual changes
Use Vagrant for developing policies
Recomendations
Popular SCMs CFEngine Puppet Chef Ansible
SCM vs Deploy Tools Debate