How to let developers do your job - #ChefConf 2013

How to let developers do your job - #ChefConf 2013

You've impressed your team with all of your Chef cookbooks. Now you're the go-to person for a never-ending list of infrastructure changes. It's time to let other developers own some of those cookbooks.

I'll discuss the tools, processes, and attitudes you need to let developers manage infrastructure themselves. Even new hires can spin up instances and deploy with confidence. All without asking for your permission.

I'll also discuss some common pitfalls and potential solutions of distributed Chef workflows.

Presented at #ChefConf 2013: http://chefconf.opscode.com

5888fc25101419e40b7de521f8524dad?s=128

Aaron Suggs

April 26, 2013
Tweet

Transcript

  1. How to let developers do your job

  2. Aaron Suggs @ktheory Ops Engineer

  3. crowdfunds creative projects

  4. Stack

  5. Stack Amazon EC2

  6. MySQL on RDS Stack

  7. Ruby on Rails Stack

  8. Github Stack

  9. Hosted Chef Stack

  10. Who makes

  11. 4 product managers They deploy code.

  12. 4 designers They deploy code.

  13. 11 developers They deploy code.

  14. 1 ops engineer I deploy code.

  15. Does it work?

  16. None
  17. 40,000 successful projects

  18. $491 million collected

  19. > backers

  20. > social

  21. ops

  22. > uptime

  23. > failure isolation

  24. < MTTR Mean Time To Recovery

  25. > performance

  26. > features 4.2 prod deploys / day

  27. > happiness

  28. 1 ops engineer I deploy code.

  29. Culture Process Tools

  30. Virtuous cycle of happiness

  31. Encourage experiments Culture

  32. Feature branches Process

  33. git Tools

  34. Culture Process Tools

  35. Encourage experiments Culture

  36. so remove friction Culture

  37. Easy local development Process

  38. script/bootstrap Tools

  39. script/bootstrap Tools Homebrew (OS X)

  40. script/bootstrap Tools rbenv

  41. script/bootstrap Tools replicate

  42. Tools replicate = awesome github.com/rtomayko/replicate

  43. script/bootstrap Tools idempotent

  44. script/bootstrap Tools 6 contributors

  45. Culture Process Tools

  46. Remove friction Culture

  47. Feature environments Process

  48. Feature environments

  49. Feature environments Process

  50. Hivequeen Tools

  51. Tools creates production-like environments

  52. Tools automatically creates chef roles + runlists

  53. Tools bootstraps servers with chef role

  54. Tools One button to launch environment

  55. None
  56. = WIN

  57. 29 deployers Tools (half the company)

  58. 10,136 deploys Tools 1,153 production deploys since Nov 2011

  59. Culture Process Tools

  60. Remove friction Culture

  61. so work across disciplines Culture

  62. teach, learn Culture

  63. taught me this image effect Jessica

  64. Christopher

  65. Migrated to elasticsearch Christopher

  66. Pair programmed minimal cookbook

  67. Resiliency

  68. Dark launch

  69. Christopher did the rest

  70. Christopher deployed feature env

  71. Christopher fixed the bugs

  72. Christopher upgraded packages

  73. Christopher deployed to prod

  74. > happiness

  75. Culture Process Tools

  76. Blameless postmortems Culture

  77. Opportunity to teach & learn Culture

  78. > uptime

  79. > happiness

  80. The bad & the ugly

  81. Culture Process Tools

  82. Aaron Suggs @ktheory Ops Engineer