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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
290
DevOps isn't just for the Web
juanje
3
320
Other Decks in Programming
See All in Programming
Strategy for Finding a Problem for OSS: With Real Examples
kibitan
0
120
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
200
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
1.1k
How to stabilize UI tests using XCTest
akkeylab
0
140
PHPで TLSのプロトコルを実装してみる
higaki_program
0
520
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
210
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
200
今こそ押さえておきたい アマゾンウェブサービス(AWS)の データベースの基礎 おもクラ #6版
satoshi256kbyte
1
200
ロボットのための工場に灯りは要らない
watany
12
3.2k
Java 21/25 Virtual Threads 소개
debop
0
290
CSC307 Lecture 15
javiergs
PRO
0
270
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
170
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
93
The Spectacular Lies of Maps
axbom
PRO
1
650
Code Reviewing Like a Champion
maltzj
528
40k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
How to make the Groovebox
asonas
2
2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
89
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
Rails Girls Zürich Keynote
gr2m
96
14k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
180
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