[LRUG] Deployment approach to rolling out huge changes
glenn at rubypond.com
Sun Sep 9 15:54:37 PDT 2012
Somehow missed this thread, apologies for being a bit late to the party. At Heroku we do what we can to avoid rolling out "huge changes", because they create huge problems.
Adam Wiggins, CTO and co-founder, gave a high level run through of some of our approaches at Waza earlier this year: http://www.slideshare.net/adamwiggins/waza-keynote-idea-to-delivery
The techniques start at slide 47. To try and give you the digest version here, the first 3 are the most relevant:
Deploy from day 1: No matter how big the changes are, there are smaller bites you can take. Even if there is nothing immediately user facing, you can start getting schema changes out now without breaking your existing functionality
Continuous Deployment: Keep pushing those small bites out, stop stacking up bunches of commits over weeks
Feature Flags: Being able to opt users in and out of features is incredibly powerful. If you notice a bug, performance characteristics that need to be improved, or any other problem you can have users revert to the known good code in an instant without a deployment. Alternatively you can gradually ramp up usage on a schedule that suits you
So definitely a +1 for feature flags. They've become a really useful part of my workflow,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Chat