Atmosphere 2014: Cheffing a department - Andrzej Grzesik

Preview:

DESCRIPTION

One dev dept in ebay went chef. World achieved peace, everything is easier than making pancakes and.. Oh, wait, it wasn't like this. I'd love to give you a story of bringing in Chef to a part of an organisation. A new part, full of developers, full of hormones, wanting to lead in the new pack. How and why it happened and mostly - what went wrong and what lessons we have learnt. Andrzej Grzesik - I like programming. I do it a lot, mostly on the JVM, usually writing fancy backends for big, distributed systems. I also display a particular affection to continuous delivery.. UI, unless quickly hacked, is not my play ;-) I believe that most problems we deal with are people problems, so I mix and match tools with technologies to achieve my goals, make people happy and achieve world peace :-) I believe in software quality, and organize GeeCON, Polish JUG, Krakow Software Craftsmanship, Cracow Hadoop User Group. In my free time, I read paper books and cycle, a lot!

Citation preview

cheffing a department

Andrzej Grzesik

cheffing a departmentone dev at a time

Andrzej Grzesik

Andrzej Grzesik!

!

!

@ags313

andrzej@grzesik.it

andrzejgrzesik.info

about:me

dev going deeper

disclaimers

my opinions are my own

I hate computers

questions?shoot!

#atmospheretweet please

tl;dr;

nie ma, że nie ma mema

a bit of background

new devsnext to existing org

what did we do?

started to use chef

why?

we wanted kickass people

ok, not really

we needed a prod quickly

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

infrastructure as code

bash scales well

bash scales well

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

goal: automated infra

So, chef

nope

why not *

what does it look like?

code?

easy to read easy to version with concise DSL

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!

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

there is a lot of this on github

developers doing infra

problems?“what could possibly go wrong”

it wasn’t easy

it isn’t easy

reality

soform follows function

simplicity is key

a tiny problem

polyglots ftw

server or solo?

why NOT chef server?

reviewsmandatory

review-kiwigit@github.com:ktoso/review-kiwi.git

dual executionbiggest problem

people

let them do mistakes

let them do mistakestough

do food

do food

phoenix patterndisposable servers

phoenix patterndon’t fix boxes, bake new

‘breaking’ loginhelps ;-)

what now?

QA/QE to the rescue

mobile first?

mobile first!

summary

people are complicated

summary

• keep it simple

• do things

• ???

• profit

kthxbye

Recommended