3 ms·
Partial Deployment with Feature Switches
- mrduncan 16y agoIt seems like every company has their own implementation of these - are there any open source versions? I'm strongly contemplating throwing together a gem for rails this weekend. EDIT: I found http://github.com/bvandenbos/redis_feature_control http://github.com/bvandenbos/redis_feature_control which handles features globally (either on or off for everyone). Unfortunately doesn't handle things on a per user/session/etc basis though - although it shouldn't be too hard to add that feature using Redis sets.
- kylebragger 16y agoThere's something for PHP and CodeIgniter called Turnstiles: http://github.com/dhorrigan/Turnstiles http://github.com/dhorrigan/Turnstiles
- forsaken 16y agoThis seems a lot like what Flickr has been talking about for years: http://code.flickr.com/blog/2009/12/02/flipping-out/ http://code.flickr.com/blog/2009/12/02/flipping-out/
- zeeg 16y agoIt's a pretty common pattern, but still seems to be widely unknown.
- hello_moto 16y agoPerhaps it's not known due to several reasons: 1. Most people aren't used to web-app development 2. if-else is considered not OO by some purist (or even by some semi-purist). if-else might also be considered hard to test (adding more branches). 3. People are probably ignoring deployment issues (not high priority) or perhaps they just throw it to the Ops team to deal.
- zeeg 16y agoOur intended goal with this is to not rely on an ops team. Use test driven deployment and automated systems to keep things in check. Discipline is what lets a system like this actually work.
- hello_moto 16y agoDING DING DING DING DING! The keyword is "Discipline". This is the very fundamental principal for anyone in the IT industry.
- mattyb 16y agoGitHub and Forrst too: http://blog.forrst.com/post/782356699/how-we-deploy-new-features-on-forrst http://blog.forrst.com/post/782356699/how-we-deploy-new-feat... http://github.com/blog/677-how-we-deploy-new-features http://github.com/blog/677-how-we-deploy-new-features
- Ratufa 16y agoThis sounds like the same idea as: http://news.ycombinator.com/item?id=1463751 http://news.ycombinator.com/item?id=1463751