Merge hells - Feature Toggles to the rescue

29
MERGE HELLS? By @leenasn at #rootconf Feature Toggles to the rescue

Transcript of Merge hells - Feature Toggles to the rescue

Page 1: Merge hells - Feature Toggles to the rescue

MERGE HELLS?

By @leenasn at #rootconf

Feature Toggles to the rescue

Page 2: Merge hells - Feature Toggles to the rescue

xTEAM

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
Page 6: Merge hells - Feature Toggles to the rescue
Page 7: Merge hells - Feature Toggles to the rescue

Familiar?

Page 8: Merge hells - Feature Toggles to the rescue

What went wrong?

Page 9: Merge hells - Feature Toggles to the rescue

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.”

Page 10: Merge hells - Feature Toggles to the rescue

Mainline Development

Page 11: Merge hells - Feature Toggles to the rescue

Incomplete Features?

Page 12: Merge hells - Feature Toggles to the rescue

Feature Toggles

Page 13: Merge hells - Feature Toggles to the rescue
Page 14: Merge hells - Feature Toggles to the rescue

Configuration Files

Page 15: Merge hells - Feature Toggles to the rescue

Available tools

● Rollout● Togglz● Qandidate-toggle● Gutter

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

Page 16: Merge hells - Feature Toggles to the rescue

● Deploy != Release● Avoid Rollback Hells

Release Toggles

Page 17: Merge hells - Feature Toggles to the rescue

● A/B Testing● Canary Releasing

Experimental Toggles

Page 18: Merge hells - Feature Toggles to the rescue

Ops Toggles

● Designing for failure● Manage Circuit Breakers

Page 19: Merge hells - Feature Toggles to the rescue

The Dark Side

Page 20: Merge hells - Feature Toggles to the rescue
Page 21: Merge hells - Feature Toggles to the rescue

$$ Question

How to manage it?

Page 22: Merge hells - Feature Toggles to the rescue

Expiry Date

Page 23: Merge hells - Feature Toggles to the rescue

Cathedral vs Bazaar model

Page 24: Merge hells - Feature Toggles to the rescue

Summary

Page 25: Merge hells - Feature Toggles to the rescue

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

Continuous Integration

Page 26: Merge hells - Feature Toggles to the rescue

Feature Toggles

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

Page 27: Merge hells - Feature Toggles to the rescue
Page 29: Merge hells - Feature Toggles to the rescue

Leena S N@leenasn / [email protected]