Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
130
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
280
DevOps isn't just for the Web
juanje
3
320
Other Decks in Programming
See All in Programming
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
130
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
330
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
410
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
140
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
240
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
350
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
680
dotfiles 式年遷宮 令和最新版
masawada
1
770
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
160
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
11
11k
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
110
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
7.2k
Featured
See All Featured
Docker and Python
trallard
47
3.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Become a Pro
speakerdeck
PRO
31
5.7k
Music & Morning Musume
bryan
46
7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Typedesign – Prime Four
hannesfritz
42
2.9k
Designing Experiences People Love
moore
143
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
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