Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Feature Bits at DevOpsDays 2010 US

Ignite talk delivered at DevOpsDays 2010 US (June 15, 2010) http://www.slideshare.net/eriksowa/feature-bits-at-devopsdays-2010-us

  • Be the first to comment

Feature Bits at DevOpsDays 2010 US

  1. 1. Latent Code: Lessons Learned Implementing Feature Bits Erik Sowa Lyris Engineering DevOpsDay US 2010
  2. 2. Outline of Talk Business context DevOps: Continuous flow of code to production Latent code: Introducing feature bits Lessons learned
  3. 3. Business Context
  4. 4. Enable Flow: Avoid Big Bangs Photo Credit: USDOE (http://commons.wikimedia.org/wiki/File:Castle_romeo2.jpg)
  5. 5. Deployment Pipeline Photo Credit: Ryan McFarland (http://commons.wikimedia.org/wiki/File:Alaska_Pipeline.jpg )
  6. 6. Continuous Delivery Documented examples: Allspaw, John and Hammond, Paul, 10+ Deploys Per Day: Dev and Ops Cooperation at Flickr http://en.oreilly.com/velocity2009/public/schedule/detail/7641 http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr http://velocityconference.blip.tv/file/2284377/ Humble, Jez and Farley, David, Continuous Delivery (O'Reilly Rough Cuts) What about features you can't build in a day?
  7. 7. Feature Bits: Latent Code Photo Credit: Marcin Wichary (http://commons.wikimedia.org/wiki/File:IMSAI8080_TV11.jpg)
  8. 8. Latent code variants DigitalRiver and ExactTarget "Feature bits" used by Sean G. Ryan and team Flickr Previously cited talk mentions "feature flags" http://en.oreilly.com/velocity2010/public/schedule/detail/14145 Twitter "dynamically controlling features" and "infrastructure" http://nosql.mypopescu.com/post/407159447/cassandra-twitter-an-interview-with- ryan-king Google Experiments Gradual rollout of new features Etc.
  9. 9. Usage at Lyris Introduced August, 2008 ~ 80 active bits by December, 2009 48 active bits in March, 2010 Photo Credit: superde1uxe (http://commons.wikimedia.org/wiki/File:IMSAI8080.jpg)
  10. 10. Lessons Learned Photo Credit: Underwood & Underwood (http://commons.wikimedia.org/wiki/File:Ecuadoran_Students.jpg)
  11. 11. Design Pressure is Good Photo Credit: Tokino (http://commons.wikimedia.org/wiki/File:Air_pressure_gauge.jpg)
  12. 12. Manage the Lifecycle Photo Credit: Pyrothansia (http://commons.wikimedia.org/wiki/File:Life_cycle.jpg)
  13. 13. Maintain Production Quality Code hidden behind feature bits is subject to the same quality requirements as any code Photo Credit: Rjgdoy (http://commons.wikimedia.org/wiki/File:Quality_not_quantity.png)
  14. 14. Default state: Decouple code rolls Photo Credit: Kazumasa Ogawa (http://commons.wikimedia.org/wiki/File:Japanese_Chain_coupler.jpg)
  15. 15. Naming Convention Matters
  16. 16. Do Not Overload Photo Credit: Jonathan Mallard (http://commons.wikimedia.org/wiki/File:Unsafe_transport_of_a_shipping_container_in_Afghanistan.jpg)
  17. 17. Limit the overhead Photo Credit: Henning Klevier (http://commons.wikimedia.org/wiki/File:Fibonacci_%28x%2B1%29%5En.png)
  18. 18. Customer-facing releases
  19. 19. Beta- and Split-Testing Photo Credit: US Navy (http://commons.wikimedia.org/wiki/File:Navy_binoculars.jpg)
  20. 20. For more information Feature Bits Video of longer presentation (LSSC10) http://bit.ly/9m3d3r Paper (LSSC10 proceedings) http://bit.ly/bu8mNo Thanks Rob Loh (implementer and co-author) Me Twitter: @eriksowa Blog: http://eriksowa.wordpress.com LinkedIn: http://www.linkedin.com/in/eriksowa email: erik.sowa@gmail.com, esowa@lyris.com

×