atmosphere 2014: cheffing a department - andrzej grzesik
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!TRANSCRIPT
cheffing a department
Andrzej Grzesik
cheffing a departmentone dev at a time
Andrzej Grzesik
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
[email protected]: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