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
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
150
Other Decks in Programming
See All in Programming
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
5
1.6k
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.2k
ててべんす独演会〜Flowの全てを語ります〜
tbsten
1
230
Flutterで分数(Fraction)を表示する方法
koukimiura
0
110
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
220
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
390
Playwrightはどのようにクロスブラウザをサポートしているのか
yotahada3
7
2.3k
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
790
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
150
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.2k
dynamic!
moro
9
6.9k
Featured
See All Featured
Side Projects
sachag
455
43k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
A better future with KSS
kneath
239
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
610
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Agile that works and the tools we love
rasmusluckow
331
21k
Building Adaptive Systems
keathley
43
2.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