Feature Bits at DevOpsDays 2010 US


Published on

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

1 Comment
1 Like
  • I gave a longer version of this talk at LSSC10. Those slides are also available from my slideshare page. The video of the longer version is posted on the conference website:

    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

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