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
410
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
170
Intro to the Tech World
psobot
0
140
Dishwashers, Software, and Open Source
psobot
0
110
Other Decks in Programming
See All in Programming
Rubyのパフォーマンスプロファイリングの改善 / Enhancing performance profiling for Ruby
osyoyu
1
410
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
140
CSC307 Lecture 08
javiergs
PRO
0
330
Polarsの成長: v0.14からv1.0までの変遷と今後の展望
zerebom
1
350
【Go言語】golangci-lintの使い方
tomo1227
0
270
CSC307 Lecture 07
javiergs
PRO
0
220
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
790
12年前の『型システム入門』翻訳の思い出話
mame
11
1.2k
유연한 Composable 설계
l2hyunwoo
0
380
日付と正規化
megmogmog1965
0
140
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
370
社内 LT 会を発足し、アウトプット文化を醸成させるために考えたこと・やったこと / Starting internal LT meetings and fostering an output culture
mackey0225
3
120
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Building Adaptive Systems
keathley
34
2k
Web Components: a chance to create the future
zenorocha
307
41k
A better future with KSS
kneath
231
17k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
Fireside Chat
paigeccino
25
2.8k
Designing the Hi-DPI Web
ddemaree
276
34k
Automating Front-end Workflow
addyosmani
1362
200k
Side Projects
sachag
451
42k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Building Applications with DynamoDB
mza
89
5.8k
Raft: Consensus for Rubyists
vanstee
134
6.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