Merge hells - Feature Toggles to the rescue

Post on 07-Jan-2017

226 views 0 download

Transcript of Merge hells - Feature Toggles to the rescue

MERGE HELLS?

By @leenasn at #rootconf

Feature Toggles to the rescue

xTEAM

Familiar?

What went wrong?

Continuous Integration

“Continuous integration (CI) is the practice, in software

engineering, of merging all developer working copies to a shared

mainline several times a day.”

Mainline Development

Incomplete Features?

Feature Toggles

Configuration Files

Available tools

● Rollout● Togglz● Qandidate-toggle● Gutter

Ref: http://featureflags.io/feature-flags/

● Deploy != Release● Avoid Rollback Hells

Release Toggles

● A/B Testing● Canary Releasing

Experimental Toggles

Ops Toggles

● Designing for failure● Manage Circuit Breakers

The Dark Side

$$ Question

How to manage it?

Expiry Date

Cathedral vs Bazaar model

Summary

● Follow Mainline Development● First step towards Continuous Delivery/Deployment

Continuous Integration

Feature Toggles

● Deploy != Release● Quick Experiments● Set Expiry date

Leena S N@leenasn / leena.sn@multunus.com