Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ops for Devs
Search
Peter Sobot
May 03, 2013
Programming
6
460
Ops for Devs
A quick introduction to the "devops" buzzword for those that don't like dealing with servers.
Peter Sobot
May 03, 2013
Tweet
Share
More Decks by Peter Sobot
See All by Peter Sobot
Words Are Hard: Talking Good via Computer
psobot
0
190
Intro to the Tech World
psobot
0
160
Dishwashers, Software, and Open Source
psobot
0
160
Other Decks in Programming
See All in Programming
モデル駆動設計をやってみようワークショップ開催報告(Modeling Forum2025) / model driven design workshop report
haru860
0
270
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
110
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
460
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
130
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
1.8k
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
130
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
150
Developing static sites with Ruby
okuramasafumi
0
280
20 years of Symfony, what's next?
fabpot
2
350
ゲームの物理 剛体編
fadis
0
340
Integrating WordPress and Symfony
alexandresalome
0
150
DSPy Meetup Tokyo #1 - はじめてのDSPy
masahiro_nishimi
1
160
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
BBQ
matthewcrist
89
9.9k
The Cult of Friendly URLs
andyhume
79
6.7k
How GitHub (no longer) Works
holman
316
140k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Thoughts on Productivity
jonyablonski
73
5k
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