Welcome to Flipper Discussions! #488
jnunemaker
started this conversation in
General
Replies: 1 comment 3 replies
-
@jnunemaker any thoughts on best way to manage a set of features for an Actor in a client side SPA? Is directly hitting the API the best approach? |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Super stoked to see github has added discussions. I remember seeing them in beta years ago, then they were shelved and it looks like now they are back. 😄
I love talking about 🐬 flipper, so please feel free to use this as a place to:
To get started, comment below with an introduction of yourself and tell everyone how you use flipper (if you can).
My Flipper Story
I'll start. I'm John.
rollout
I started with feature flags/toggles in 2008-ish through https://github.com/FetLife/rollout while working on words with friends. Every time I tried to roll out this new caching mechanism, the site would fall over (cold cache problem).
We plopped in rollout and did a % of actors based rollout and it went great. Everything after that went behind a feature flag. Eventually we were such heavy users of features that our redis instance wasn't a fan of us. We forked rollout and put memcached in front of the redis bits. There were a few other niggling issues with rollout, but it worked great.
flipper
One weekend in 2013, I wrote my own version based on adapters and flipper was born. Need to wrap redis with memcache and wrap that in memory? No problem, just whip some adapters together (or now just piece together what is already supported out of the box). I wrote it for fun, but felt it was solid. I released it and people started using it, but I actually wasn't.
github.com
I was working on this here site you are reading this on (github) and pretty much all of our releases involved deploys. Then, around 2015, flipper was rolled into github.com (might still be as of this writing) by @rsanheim and @aroben while I was on paternity leave.
When I last checked, while still working at github, flipper was doing billions of feature checks a day. It had zero impact to overall performance and really opened up the way we released code there. It also really freed up the deploy queue for a few years as releases were done with flipper changes instead of full deploys.
most memorable use
One of my favorite examples of flipper was at one of the github universe events. @defunkt was CEO at the time and immediately after he announced each new feature, they were live. Seeing the audit logs of the features being enabled in chat as the presentation went on was really neat. I remember a few tweets from people amazed at how instantaneously the features were being released with the words he was saying.
the next big thing
Around 2018 I started thinking that a hosted version of flipper would be cool based on what I saw at GitHub. I started working on it and got it functional, but then kind of sidelined it. We used it at boxoutsports.com and on speakerdeck.com, but didn't really let anyone else in.
Finally, we've decided it is time to polish up the last few bits and release it. We are really close. You can checkout flippercloud.io if you are curious.
the end
So that is my flipper story. I've used feature toggles to roll out new caches, to warm up and completely swap memcached clusters, to turn on logging/debugging while working on multi-datacenter stuff, to release complete redesigns of apps and to wrap up every new feature in any app I work on.
I'm a big fan. And I'd love to hear from all of you.
So tell me:
... or anything else that is on your mind about releasing software. 🍻 Cheers!
Beta Was this translation helpful? Give feedback.
All reactions