@ags313#cheffing
Cheffing a dept, one dev at a time
Andrzej Grzesik
@ags313
andrzejgrzesik.info
Andrzej Grzesik
!
!
!
@ags313
andrzej@grzesik.it
andrzejgrzesik.info
about:me
dev going deeper
disclaimers
my opinions are my own
questions?
shoot!
#DevoxxUK #cheffing
tweet please
tl;dr;
there is life beyond Tomcat
a bit of background
new department
new devs
next to existing org
do the right thing
do it right
enthusiasm through the roof
then: project happens
we need to run it!
what did we do?
started to use chef
why?
it was all amazing
ok, not really
we needed a prod quickly
and things were broken*
and we didn’t have time nor nerves
So, chef
nope
why not *
dev friendliness
what does it look like?
package "haproxy" do!
action :install!
end!
!
template "/etc/haproxy/haproxy.cfg" do!
source "haproxy.cfg.erb"!
owner "roo...
put resources together into recipes
organise recipes into roles
apply roles to machines
code?
easy to read
easy to version
with concise DSL
there is a lot of this on github
problem
infrastructure as code
bash scales well
protein scales well
it’s just 25 years to breed and train a new techie!
goal: automated infra
developers doing infra
developers doing infra
problem?
problems?
“what could possibly go wrong”
it wasn’t easy
it isn’t easy
reality
needed buyin
so
form follows function
simplicity is key
because yet another tool
a tiny problem
polyglots ftw
chef: server or solo?
why NOT chef server?
code reviews
mandatory
review-kiwi
git@github.com:ktoso/review-kiwi.git
dual execution
biggest problem
people
politics
Single point of…
let people make mistakes
do food
great for trying
Law of Large Numbers
servers break
many servers break… a lot
phoenix pattern
disposable servers
phoenix pattern
don’t fix boxes, bake new
‘breaking’ login
helps ;-)
How did we deploy?
not with chef
base role
extremely useful
what now?
QA/QE to the rescue
@YourTwitterHandle#DVXFR14{session hashtag} @ags313#cheffing
Q
&
A
@YourTwitterHandle#DVXFR14{session hashtag} @ags313#cheffing
Sum
m
ary
people are complicated
summary
• keep it simple
• do things
• ???
• profit
kthxbye
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Cheffing a department
Upcoming SlideShare
Loading in...5
×

Cheffing a department

218

Published on

Published in: Technology, Self Improvement
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
218
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cheffing a department

  1. 1. @ags313#cheffing Cheffing a dept, one dev at a time Andrzej Grzesik @ags313 andrzejgrzesik.info
  2. 2. Andrzej Grzesik ! ! ! @ags313 andrzej@grzesik.it andrzejgrzesik.info
  3. 3. about:me
  4. 4. dev going deeper
  5. 5. disclaimers
  6. 6. my opinions are my own
  7. 7. questions? shoot!
  8. 8. #DevoxxUK #cheffing tweet please
  9. 9. tl;dr;
  10. 10. there is life beyond Tomcat
  11. 11. a bit of background
  12. 12. new department
  13. 13. new devs next to existing org
  14. 14. do the right thing do it right
  15. 15. enthusiasm through the roof
  16. 16. then: project happens
  17. 17. we need to run it!
  18. 18. what did we do?
  19. 19. started to use chef
  20. 20. why?
  21. 21. it was all amazing
  22. 22. ok, not really
  23. 23. we needed a prod quickly
  24. 24. and things were broken* and we didn’t have time nor nerves
  25. 25. So, chef
  26. 26. nope
  27. 27. why not *
  28. 28. dev friendliness
  29. 29. what does it look like?
  30. 30. 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!
  31. 31. put resources together into recipes organise recipes into roles apply roles to machines
  32. 32. code? easy to read easy to version with concise DSL
  33. 33. there is a lot of this on github problem
  34. 34. infrastructure as code
  35. 35. bash scales well
  36. 36. protein scales well it’s just 25 years to breed and train a new techie!
  37. 37. goal: automated infra
  38. 38. developers doing infra
  39. 39. developers doing infra problem?
  40. 40. problems? “what could possibly go wrong”
  41. 41. it wasn’t easy
  42. 42. it isn’t easy
  43. 43. reality
  44. 44. needed buyin
  45. 45. so form follows function
  46. 46. simplicity is key
  47. 47. because yet another tool
  48. 48. a tiny problem
  49. 49. polyglots ftw
  50. 50. chef: server or solo?
  51. 51. why NOT chef server?
  52. 52. code reviews mandatory
  53. 53. review-kiwi git@github.com:ktoso/review-kiwi.git
  54. 54. dual execution biggest problem
  55. 55. people
  56. 56. politics
  57. 57. Single point of…
  58. 58. let people make mistakes
  59. 59. do food
  60. 60. great for trying
  61. 61. Law of Large Numbers
  62. 62. servers break
  63. 63. many servers break… a lot
  64. 64. phoenix pattern disposable servers
  65. 65. phoenix pattern don’t fix boxes, bake new
  66. 66. ‘breaking’ login helps ;-)
  67. 67. How did we deploy?
  68. 68. not with chef
  69. 69. base role extremely useful
  70. 70. what now?
  71. 71. QA/QE to the rescue
  72. 72. @YourTwitterHandle#DVXFR14{session hashtag} @ags313#cheffing Q & A
  73. 73. @YourTwitterHandle#DVXFR14{session hashtag} @ags313#cheffing Sum m ary
  74. 74. people are complicated
  75. 75. summary • keep it simple • do things • ??? • profit
  76. 76. kthxbye
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×