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
120
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
260
DevOps isn't just for the Web
juanje
3
310
Other Decks in Programming
See All in Programming
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
680
XStateでReactに秩序を与えたい
gizm000
0
740
Architecture Decision Record (ADR)
nearme_tech
PRO
1
690
REXML改善のその後
naitoh
0
190
GraphQLの魅力を引き出すAndroidクライアント実装
morux2
3
810
GenU導入でCDKに初挑戦し、悪戦苦闘した話
hideg
0
170
【TID2024】模擬講義:プログラマと一緒にゲームをデザインしてみよう!
akatsukigames_tech
0
680
Rubyとクリエイティブコーディングの輪の広がり / The Growing Circle of Ruby and Creative Coding
chobishiba
1
270
Method Swizzlingを行うライブラリにおけるマルチモジュール設計
yoshikma
0
120
Regular Expressions, REXML, Automata Learning
makenowjust
0
220
Prompt Cachingは本当に効果的なのか検証してみた.pdf
ttnyt8701
0
540
What you can do with Ruby on WebAssembly
kateinoigakukun
0
170
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
123
18k
How to Ace a Technical Interview
jacobian
274
23k
Adopting Sorbet at Scale
ufuk
73
8.9k
The Language of Interfaces
destraynor
153
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
8.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
0
130
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
43
2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
23
1.7k
Raft: Consensus for Rubyists
vanstee
136
6.5k
Making Projects Easy
brettharned
113
5.8k
[RailsConf 2023] Rails as a piece of cake
palkan
48
4.6k
Building Your Own Lightsaber
phodgson
101
6k
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