Cheffing a department

95
@ ags313 # cheffing Cheffing a dept, one dev at a time Andrzej Grzesik @ags313 andrzejgrzesik.info

Transcript of Cheffing a department

Page 1: Cheffing a department

@ags313#cheffing

Cheffing a dept, one dev at a time

Andrzej Grzesik @ags313 andrzejgrzesik.info

Page 2: Cheffing a department

Andrzej Grzesik!

!

!

@ags313

[email protected]

andrzejgrzesik.info

Page 3: Cheffing a department

about:me

Page 4: Cheffing a department
Page 5: Cheffing a department

dev going deeper

Page 6: Cheffing a department

disclaimers

Page 7: Cheffing a department

my opinions are my own

Page 8: Cheffing a department

questions?shoot!

Page 9: Cheffing a department

#DevoxxUK #cheffingtweet please

Page 10: Cheffing a department

tl;dr;

Page 11: Cheffing a department

there is life beyond Tomcat

Page 12: Cheffing a department
Page 13: Cheffing a department
Page 14: Cheffing a department
Page 15: Cheffing a department

a bit of background

Page 16: Cheffing a department

new department

Page 17: Cheffing a department

new devsnext to existing org

Page 18: Cheffing a department

do the right thingdo it right

Page 19: Cheffing a department

enthusiasm through the roof

Page 20: Cheffing a department

then: project happens

Page 21: Cheffing a department

we need to run it!

Page 22: Cheffing a department

what did we do?

Page 23: Cheffing a department

started to use chef

Page 24: Cheffing a department

why?

Page 25: Cheffing a department

it was all amazing

Page 26: Cheffing a department

ok, not really

Page 27: Cheffing a department

we needed a prod quickly

Page 28: Cheffing a department

and things were broken*and we didn’t have time nor nerves

Page 29: Cheffing a department

So, chef

Page 30: Cheffing a department
Page 31: Cheffing a department

nope

Page 32: Cheffing a department
Page 33: Cheffing a department

why not *

Page 34: Cheffing a department

dev friendliness

Page 35: Cheffing a department

what does it look like?

Page 36: Cheffing a department

package "haproxy" do! action :install!end!!

template "/etc/haproxy/haproxy.cfg" do! source "haproxy.cfg.erb"! owner "root"! group "root"! mode 0644! notifies :restart, "service[haproxy]"!end!!

service "haproxy" do! supports :restart => true! action [:enable, :start]!end!

Page 37: Cheffing a department

put resources together into recipes organise recipes into roles apply roles to machines

Page 38: Cheffing a department

code?

easy to read easy to version with concise DSL

Page 39: Cheffing a department
Page 40: Cheffing a department

there is a lot of this on githubproblem

Page 41: Cheffing a department
Page 42: Cheffing a department

infrastructure as code

Page 43: Cheffing a department

bash scales well

Page 44: Cheffing a department

protein scales wellit’s just 25 years to breed and train a new techie!

Page 45: Cheffing a department
Page 46: Cheffing a department

goal: automated infra

Page 47: Cheffing a department
Page 48: Cheffing a department

developers doing infra

Page 49: Cheffing a department

developers doing infraproblem?

Page 50: Cheffing a department

problems?“what could possibly go wrong”

Page 51: Cheffing a department

it wasn’t easy

Page 52: Cheffing a department

it isn’t easy

Page 53: Cheffing a department

reality

Page 54: Cheffing a department
Page 55: Cheffing a department
Page 56: Cheffing a department

needed buyin

Page 57: Cheffing a department

soform follows function

Page 58: Cheffing a department

simplicity is key

Page 59: Cheffing a department

because yet another tool

Page 60: Cheffing a department

a tiny problem

Page 61: Cheffing a department
Page 62: Cheffing a department

polyglots ftw

Page 63: Cheffing a department

chef: server or solo?

Page 64: Cheffing a department

why NOT chef server?

Page 65: Cheffing a department
Page 66: Cheffing a department

code reviewsmandatory

Page 67: Cheffing a department

[email protected]:ktoso/review-kiwi.git

Page 68: Cheffing a department

dual executionbiggest problem

Page 69: Cheffing a department

people

Page 70: Cheffing a department

politics

Page 71: Cheffing a department

Single point of…

Page 72: Cheffing a department
Page 73: Cheffing a department

let people make mistakes

Page 74: Cheffing a department
Page 75: Cheffing a department

do food

Page 76: Cheffing a department
Page 77: Cheffing a department

great for trying

Page 78: Cheffing a department
Page 79: Cheffing a department

Law of Large Numbers

Page 80: Cheffing a department

servers break

Page 81: Cheffing a department

many servers break… a lot

Page 82: Cheffing a department
Page 83: Cheffing a department

phoenix patterndisposable servers

Page 84: Cheffing a department

phoenix patterndon’t fix boxes, bake new

Page 85: Cheffing a department

‘breaking’ loginhelps ;-)

Page 86: Cheffing a department

How did we deploy?

Page 87: Cheffing a department

not with chef

Page 88: Cheffing a department

base roleextremely useful

Page 89: Cheffing a department

what now?

Page 90: Cheffing a department

QA/QE to the rescue

Page 91: Cheffing a department

@YourTwitterHandle#DVXFR14{session hashtag} @ags313 #cheffing

Q & A

Page 92: Cheffing a department

@YourTwitterHandle#DVXFR14{session hashtag} @ags313 #cheffing

Summar

y

Page 93: Cheffing a department

people are complicated

Page 94: Cheffing a department

summary

• keep it simple

• do things

• ???

• profit

Page 95: Cheffing a department

kthxbye