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
Ops for Devs
Search
Peter Sobot
May 03, 2013
Programming
500
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ops for Devs
A quick introduction to the "devops" buzzword for those that don't like dealing with servers.
Peter Sobot
May 03, 2013
More Decks by Peter Sobot
See All by Peter Sobot
Words Are Hard: Talking Good via Computer
psobot
0
200
Intro to the Tech World
psobot
0
170
Dishwashers, Software, and Open Source
psobot
0
180
Other Decks in Programming
See All in Programming
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
260
GitHubハンズオン講座 — 実務レベルのチーム開発のフローを身につけよう
junhat6
0
110
WebMCP Challenge に星空観察アプリで参加した話
okajun35
0
200
Vue Fes Japan 2026 タイムテーブル徹底解説
448jp
1
520
新卒PdEのリアル
ryu1013
1
520
AHC070解法紹介
eijirou
0
140
一人だけ、Kiroが静止する日
hideg
0
130
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
400
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
170
App Intentsのビルドプロセスを支える技術
kntkymt
0
450
Agents on Rails - Rails at Scale 2026
irinanazarova
0
260
The Rails Doctrine Decade
koic
2
390
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
490
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Design in an AI World
tapps
1
330
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
460
GraphQLとの向き合い方2022年版
quramy
50
15k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
350
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8k
Transcript
OPS FOR DEVS
None
OPS FOR DEVS
Developers like to write CODE
Developers hate dealing with SERVERS
happiness
Hardware happiness
Operating System Hardware happiness
Configuration Operating System Hardware happiness
Framework Configuration Operating System Hardware happiness
Business Logic Framework Configuration Operating System Hardware happiness
LIFE WOULD BE AMAZING IF WE ONLY HAD TO WORRY
ABOUT BUSINESS LOGIC
BUT
WE HAVE TO CARE ABOUT SERVERS bugs in production! version
mismatches! kernel issues! hardware failures! security holes! architecture mismatches! missing hardware instructions! virtualization bugs! performance drops! server bills! client latency! bandwidth costs! internet!!1! omg hakx!
how do we make servers look like code?
None
full-featured Turing-complete very well supported
class nginx { package { 'nginx': ensure => latest }
service { 'nginx': ensure => running } file { '/etc/nginx/nginx.conf': ensure => present, source => 'puppet:///modules/nginx/nginx.conf', notify => Service['nginx'], } }
configuration becomes code
puppet code! app code!
useful for one server
invaluable for many servers
also good for zero servers
None
magical Vagrantfile
Vagrant.configure("2") do |config| config.vm.box = "precise64" config.vm.box_url = "http://files.vagrantup.com/precise64.box" config.vm.network
:forwarded_port, guest: 80, host: 8080 config.vm.network :forwarded_port, guest: 443, host: 8443 config.vm.synced_folder "./", "/var/www/" config.vm.provider :virtualbox do |vb| vb.customize ["modifyvm", :id, "--memory", "2048"] end config.vm.provision :puppet do |puppet| puppet.module_path = "puppet/modules" puppet.manifests_path = "puppet" puppet.manifest_file = "wubmachine.pp" end end choose any OS use your Puppet code share folders map ports
None
puppet code environment =
puppet code environment = using the same using the same
dev/prod parity
need ? mysql postgres memcached redis rabbitmq cassandra nginx buzzword
buzzword buzzword
capture in Puppet code
test with Vagrant
deploy with confidence
setting up servers becomes trivial
so when this happens...
None
questions? @psobot