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.
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 wor...
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
http://martinfowler.com/articles/feature-toggles.html
http://www.multunus.com/blog/2016/03/merge-hells-feature-toggles-res...
Leena S N
@leenasn / leena.sn@multunus.com
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
Continuous delivery from the trenches
Next
Upcoming SlideShare
Continuous delivery from the trenches
Next
Download to read offline and view in fullscreen.

Share

Merge hells - Feature Toggles to the rescue

Download to read offline

Feature branching has been popular for long, but everyone knows about the “merge hell”, a common issue because of long lived branches or infrequent integration. How do you continuously merge, test and release software with great confidence without spending too much time on merging and fixing conflict issues. That is where Mainline development, one of the key practices of Continuous Delivery, comes into picture and Feature Toggle works in conjunction with the same.

Feature Toggle [also referred as Feature Flip, Feature Switch, Feature flag] is a simple technique which allows you to turn on or off a feature through configuration. Feature toggles gives you the flexibility to toggle features in specific environments i.e. turn on a feature in testing or staging servers and turn it off the same in production. This also helps to rollback features, as rolling back is as simple as turning off the feature and deploying.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Merge hells - Feature Toggles to the rescue

  1. 1. MERGE HELLS? By @leenasn at #rootconf Feature Toggles to the rescue
  2. 2. xTEAM
  3. 3. Familiar?
  4. 4. What went wrong?
  5. 5. 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.”
  6. 6. Mainline Development
  7. 7. Incomplete Features?
  8. 8. Feature Toggles
  9. 9. Configuration Files
  10. 10. Available tools ● Rollout ● Togglz ● Qandidate-toggle ● Gutter Ref: http://featureflags.io/feature-flags/
  11. 11. ● Deploy != Release ● Avoid Rollback Hells Release Toggles
  12. 12. ● A/B Testing ● Canary Releasing Experimental Toggles
  13. 13. Ops Toggles ● Designing for failure ● Manage Circuit Breakers
  14. 14. The Dark Side
  15. 15. $$ Question How to manage it?
  16. 16. Expiry Date
  17. 17. Cathedral vs Bazaar model
  18. 18. Summary
  19. 19. ● Follow Mainline Development ● First step towards Continuous Delivery/Deployment Continuous Integration
  20. 20. Feature Toggles ● Deploy != Release ● Quick Experiments ● Set Expiry date
  21. 21. http://martinfowler.com/articles/feature-toggles.html http://www.multunus.com/blog/2016/03/merge-hells-feature-toggles-rescue/ http://www.multunus.com/blog/2013/06/github-workflow-vs-mainline- development/ References
  22. 22. Leena S N @leenasn / leena.sn@multunus.com
  • powerirs

    Jan. 8, 2017
  • SatyakumarBs

    Apr. 18, 2016

Feature branching has been popular for long, but everyone knows about the “merge hell”, a common issue because of long lived branches or infrequent integration. How do you continuously merge, test and release software with great confidence without spending too much time on merging and fixing conflict issues. That is where Mainline development, one of the key practices of Continuous Delivery, comes into picture and Feature Toggle works in conjunction with the same. Feature Toggle [also referred as Feature Flip, Feature Switch, Feature flag] is a simple technique which allows you to turn on or off a feature through configuration. Feature toggles gives you the flexibility to toggle features in specific environments i.e. turn on a feature in testing or staging servers and turn it off the same in production. This also helps to rollback features, as rolling back is as simple as turning off the feature and deploying.

Views

Total views

550

On Slideshare

0

From embeds

0

Number of embeds

28

Actions

Downloads

7

Shares

0

Comments

0

Likes

2

×