51
Feature Toggles By @leenasn & Continuous Delivery

Merge hells!! feature toggles to the rescue

  • Upload
    leena-n

  • View
    160

  • Download
    3

Embed Size (px)

Citation preview

Page 1: Merge hells!! feature toggles to the rescue

Feature Toggles

By @leenasn

& Continuous Delivery

Page 2: Merge hells!! feature toggles to the rescue
Page 3: Merge hells!! feature toggles to the rescue
Page 4: Merge hells!! feature toggles to the rescue
Page 5: Merge hells!! feature toggles to the rescue

xTEAM

Page 6: Merge hells!! feature toggles to the rescue
Page 7: Merge hells!! feature toggles to the rescue
Page 8: Merge hells!! feature toggles to the rescue
Page 9: Merge hells!! feature toggles to the rescue
Page 10: Merge hells!! feature toggles to the rescue

Familiar?

Page 11: Merge hells!! feature toggles to the rescue
Page 12: Merge hells!! feature toggles to the rescue
Page 13: Merge hells!! feature toggles to the rescue

Building something nobody wants is the ultimate form of waste

~Eric RiesThe Lean Startup

Page 14: Merge hells!! feature toggles to the rescue

Think about how long would it take you to deliver a change of one line of code within your

application to production

~Mary and Tom PoppendieckLean Software Development, An Agile Toolkit

Page 15: Merge hells!! feature toggles to the rescue

“Continuous Delivery is a software development discipline where you build

software in such a way that the software can be released to production at any time.”

http://martinfowler.com/bliki/ContinuousDelivery.html

Page 16: Merge hells!! feature toggles to the rescue

Deployment Pipeline

Page 17: Merge hells!! feature toggles to the rescue

“Continuous integration (CI) is the practice, in software engineering, of merging all developer

working copies to a shared mainline several times a day.”

Page 18: Merge hells!! feature toggles to the rescue

Mainline Development

Page 19: Merge hells!! feature toggles to the rescue

Incomplete Features?

Page 20: Merge hells!! feature toggles to the rescue

Feature Toggles

Page 21: Merge hells!! feature toggles to the rescue
Page 22: Merge hells!! feature toggles to the rescue

Configuration Files

Page 23: Merge hells!! feature toggles to the rescue

● Deploy != Release● Avoid Rollback Hells

Release Toggles

Page 24: Merge hells!! feature toggles to the rescue

● A/B Testing● Canary Releasing

Experimental Toggles

Page 25: Merge hells!! feature toggles to the rescue

Ops Toggles● Designing for failure● Manage Circuit Breakers

Page 26: Merge hells!! feature toggles to the rescue

Architecture?

Page 27: Merge hells!! feature toggles to the rescue

https://martinfowler.com/bliki/BranchByAbstraction.htmlBranch by Abstraction

Page 28: Merge hells!! feature toggles to the rescue

https://continuousdelivery.com/implementing/architecture/

Strangler Pattern

Page 29: Merge hells!! feature toggles to the rescue

The Dark Side

Page 30: Merge hells!! feature toggles to the rescue
Page 31: Merge hells!! feature toggles to the rescue

$$ Question

How to manage it?

Page 32: Merge hells!! feature toggles to the rescue

Expiry Date

Page 33: Merge hells!! feature toggles to the rescue

Cathedral

VsBazaar

Page 34: Merge hells!! feature toggles to the rescue

Story 1

Page 38: Merge hells!! feature toggles to the rescue

Stats

Released to 1 clinic Automated the Device Setup

Extended to Linux Media Players

Page 39: Merge hells!! feature toggles to the rescue

Story 2

Page 40: Merge hells!! feature toggles to the rescue
Page 41: Merge hells!! feature toggles to the rescue

Manual + Some Automation

Page 42: Merge hells!! feature toggles to the rescue

http://www.multunus.com/portfolio/micro-loan-processing-platform/

Page 43: Merge hells!! feature toggles to the rescue

First release of the product

- Close to 4 million worth of loans till date

- An average of 4 loan officers

Page 45: Merge hells!! feature toggles to the rescue

Summary

Page 46: Merge hells!! feature toggles to the rescue
Page 47: Merge hells!! feature toggles to the rescue

Work in small batches

Page 49: Merge hells!! feature toggles to the rescue
Page 50: Merge hells!! feature toggles to the rescue

Leena S N@leenasn / [email protected]

http://bit.ly/multunus-handbook

Page 51: Merge hells!! feature toggles to the rescue

http://martinfowler.com/articles/feature-toggles.htmlhttps://continuousdelivery.com/https://trunkbaseddevelopment.com/http://www.multunus.com/blog/2016/03/merge-hells-feature-toggles-rescue/http://www.multunus.com/blog/2013/06/github-workflow-vs-mainline-development/https://www.youtube.com/watch?v=bbWFCKGhxOshttps://www.youtube.com/watch?v=6Q0mtVnnthQhttps://www.infoq.com/presentations/financial-services-devopshttps://www.infoq.com/presentations/CIM-continuous-delivery

References