Envato Dev Ops - Alt.Net Melbourne

2,615 views
2,488 views

Published on

Reworked my Dev Ops presentation for the

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,615
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
26
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Envato Dev Ops - Alt.Net Melbourne

  1. 1. Dev Ops, Ruby, Rails, and Envato A team of 8 deploy heaps of times a day to a Ruby on Rails app that has scaled up to around 20 million requests a week without an ops team. lolwut?Thursday, 30 June 2011
  2. 2. John Barton @johnbarton john@envato.comThursday, 30 June 2011
  3. 3. Envato? http://envato.comThursday, 30 June 2011
  4. 4. Stock Marketplaces & Tutorial NetworkThursday, 30 June 2011
  5. 5. MarketplacesThursday, 30 June 2011
  6. 6. Like iStockPhoto but for other creative niches or eBay for digital goodsThursday, 30 June 2011
  7. 7. Tuts+ NetworkThursday, 30 June 2011
  8. 8. Big Blog Network for education in creative fieldsThursday, 30 June 2011
  9. 9. The MarketplaceThursday, 30 June 2011
  10. 10. August 2006Thursday, 30 June 2011
  11. 11. One MarketplaceThursday, 30 June 2011
  12. 12. FlashDenThursday, 30 June 2011
  13. 13. Rails 0.13b No Users No TrafficThursday, 30 June 2011
  14. 14. June 2011Thursday, 30 June 2011
  15. 15. 9 MarketplacesThursday, 30 June 2011
  16. 16. ActiveDen (nee FlashDen) AudioJungle ThemeForest VideoHive GraphicRiver CodeCanyon 3D Ocean Tuts+ Marketplace PhotoDuneThursday, 30 June 2011
  17. 17. Rails 2.3.11 830,462 Users 22 Million Requests WeeklyThursday, 30 June 2011
  18. 18. One Codebase and One Production EnvironmentThursday, 30 June 2011
  19. 19. What’s interesting about our deployments?Thursday, 30 June 2011
  20. 20. deploy frequently, high scale, no ops teamThursday, 30 June 2011
  21. 21. What do you need to do the same?Thursday, 30 June 2011
  22. 22. Some technical infrastructure, some business/culturalThursday, 30 June 2011
  23. 23. Cultural BitsThursday, 30 June 2011
  24. 24. The “Dev Ops” CultureThursday, 30 June 2011
  25. 25. “Culture of respect & trust, good attitude toward failure...” Ted DzubiaThursday, 30 June 2011
  26. 26. “How about "culture of stop fucking up"?” Ted Dzubia http://teddziuba.com/2011/03/devops-scam.htmlThursday, 30 June 2011
  27. 27. A problem of competing prioritiesThursday, 30 June 2011
  28. 28. Our Solution: Don’t have OpsThursday, 30 June 2011
  29. 29. Outsource commodity platform bits: virtualisation/cloud, have rackspace take care of db/ mailserverThursday, 30 June 2011
  30. 30. Ensure the dev team has the skills to take care of the restThursday, 30 June 2011
  31. 31. Take advantage of an individuals talents, but don’t rely upon them ie. don’t accidentally create an ops guyThursday, 30 June 2011
  32. 32. OK to have specialists... for special work. Keeping the app running isn’t “special”Thursday, 30 June 2011
  33. 33. Within the BusinessThursday, 30 June 2011
  34. 34. Preserve The “Golden Age”Thursday, 30 June 2011
  35. 35. Thursday, 30 June 2011
  36. 36. 3 Developers 30 minute feedback cycle deploy, discuss on forums, deploy againThursday, 30 June 2011
  37. 37. Keep doing everything good about the the startup days for as long as we canThursday, 30 June 2011
  38. 38. Avoid Corporate AntipatternsThursday, 30 June 2011
  39. 39. We’ve all been doing dev long enough to see this stuff screwed up over and over againThursday, 30 June 2011
  40. 40. Decision 3: Don’t do all that stuffThursday, 30 June 2011
  41. 41. Ultimate ResponsibilityThursday, 30 June 2011
  42. 42. "The fault, dear Brutus, is not in our QA or Ops, But in ourselves."Thursday, 30 June 2011
  43. 43. Test Driven Development vs. QA TeamThursday, 30 June 2011
  44. 44. Test Driven Infrastructure vs. Ops TeamThursday, 30 June 2011
  45. 45. Both as a team and as individuals we own our work from when we are asked to do it...Thursday, 30 June 2011
  46. 46. ... until is is demonstrably error free and performant in productionThursday, 30 June 2011
  47. 47. Everyone is in the (paid) on call rosterThursday, 30 June 2011
  48. 48. Everyone takes a turn at Level 2 Customer SupportThursday, 30 June 2011
  49. 49. Want those jobs to be easier? Stop fucking up.Thursday, 30 June 2011
  50. 50. ProcessThursday, 30 June 2011
  51. 51. LEAN / TPS Principles ...without the processThursday, 30 June 2011
  52. 52. Thursday, 30 June 2011
  53. 53. You cannot write code any faster than you can deploy it to productionThursday, 30 June 2011
  54. 54. Long running projects?Thursday, 30 June 2011
  55. 55. A. B. C. Always Be Cmerging (the c is silent)Thursday, 30 June 2011
  56. 56. I would not want to try this with Subversion, or Visual Source Safe... and I never had enough money to try “Team Foundation Server”Thursday, 30 June 2011
  57. 57. Use GIT http://git-scm.com/Thursday, 30 June 2011
  58. 58. Dark Launch Feature Flags Private BetaThursday, 30 June 2011
  59. 59. User CommunityThursday, 30 June 2011
  60. 60. We do trip up running this fastThursday, 30 June 2011
  61. 61. But through years of openness with our users via our forums and owning up to our mistakesThursday, 30 June 2011
  62. 62. ... we’ve ended up with a (relatively) sympathetic communityThursday, 30 June 2011
  63. 63. Time Zones both help and hurtThursday, 30 June 2011
  64. 64. Traffic peaks during US day means that if things go wrong we’re usually asleepThursday, 30 June 2011
  65. 65. But it makes it very easy to deploy during our business hoursThursday, 30 June 2011
  66. 66. Open SourceThursday, 30 June 2011
  67. 67. No point you solving the same problem as the guy down the streetThursday, 30 June 2011
  68. 68. No point the guy down the street solving the same problem you did last weekThursday, 30 June 2011
  69. 69. TechnologyThursday, 30 June 2011
  70. 70. Commodity Hosting is a prerequisiteThursday, 30 June 2011
  71. 71. Notice I’m not saying “Cloud Computing”Thursday, 30 June 2011
  72. 72. Thursday, 30 June 2011
  73. 73. Thursday, 30 June 2011
  74. 74. You cant trust “the cloud” but you can trust “the cloud to be “the cloud”.Thursday, 30 June 2011
  75. 75. Make a conservative platform choice so we don’t have to sweat the details ie. Ubuntu 10.4 LTSThursday, 30 June 2011
  76. 76. I guess you guys have to choose like Windows Ultimate 2009 Edition?Thursday, 30 June 2011
  77. 77. Seriously though, Ruby guys love shiny new things, and we’re spoiled for choice _even_ when it harms us.Thursday, 30 June 2011
  78. 78. So we make an effort to keep the stack as Vanilla as possibleThursday, 30 June 2011
  79. 79. Virtualised servers in our own sandbox. Cloud Flexibility - Cloud Shit-ness = WINThursday, 30 June 2011
  80. 80. Automate Configuration ManagementThursday, 30 June 2011
  81. 81. Babushka http://babushka.me/Thursday, 30 June 2011
  82. 82. Test drive your architecture...Thursday, 30 June 2011
  83. 83. ...or borrow “deps” built by other peopleThursday, 30 June 2011
  84. 84. Lets look at some codeThursday, 30 June 2011
  85. 85. Babushka is designed to be run manually on the remote machineThursday, 30 June 2011
  86. 86. Use Dollhouse https://github.com/geelen/ dollhouse To drive babushka remotelyThursday, 30 June 2011
  87. 87. moar codeThursday, 30 June 2011
  88. 88. A lot of people I take seriously, take Chef seriously. http://wiki.opscode.com/Thursday, 30 June 2011
  89. 89. Automate DeploymentThursday, 30 June 2011
  90. 90. Capistrano https://github.com/ capistrano/capistranoThursday, 30 June 2011
  91. 91. Codes?Thursday, 30 June 2011
  92. 92. The un-sung heroThursday, 30 June 2011
  93. 93. rake db:migrateThursday, 30 June 2011
  94. 94. I’m so used to having it I can’t even remember how I ever deployed database changes in the pastThursday, 30 June 2011
  95. 95. Performance & ScalingThursday, 30 June 2011
  96. 96. Not as big a deal as everyone thinksThursday, 30 June 2011
  97. 97. .NET runtime is faster... but it’s really not that big a dealThursday, 30 June 2011
  98. 98. Shared-nothing load balanced app servers + out of request queue workers not rocket surgeryThursday, 30 June 2011
  99. 99. Measure, deploy, measure again and then tweak or rollback New Relic FTWThursday, 30 June 2011
  100. 100. There is no code faster than no code.Thursday, 30 June 2011
  101. 101. Why I’m happier than I was as a .NET programmerThursday, 30 June 2011
  102. 102. Mainly because of System.Threading.TimerThursday, 30 June 2011
  103. 103. No Viewstate (Yes I heard you’ve got MVC now instead)Thursday, 30 June 2011
  104. 104. A culture of people who fix things instead of waiting for them to be fixedThursday, 30 June 2011
  105. 105. People who care about expressiveness of code and finding the right abstractionsThursday, 30 June 2011
  106. 106. Question?Thursday, 30 June 2011

×