(no title)
daigoba66 | 2 years ago
Example: just use a database table. Query and cache in memory for 60s. If you want, build a simple internal web page or tool to toggle flags. This works, and scales (from experience).
Do many apps really need A/B testing or segmented rollout? Maybe, but probably not.
hsn915|2 years ago
Why would anyone replace a literal byte in memory with a full program?
Why?
bratbag|2 years ago
So it's not just a byte in memory, but often also correlating the status of said byte with a users identity and then tracking and summarising user behaviour based on that relationship.
It's become fairly standardised and requires engineer time to setup and maintain the services behind all that, so it's valid to go third party for less than the cost of said engineer time, if all you want is standard.
Edit:it's also hard to always predict when a standard flags going to become part of a test, so just integrating for every flag and making that a standard process for your teams becomes the simplest approach.
sverhagen|2 years ago
politelemon|2 years ago
mvdtnz|2 years ago
ehnto|2 years ago
So yes a more complex situation could benefit from all this extra tooling and complexity but otherwise it is dead weight/cost.
mrweasel|2 years ago
I would claim that release a new feature by enabling additional code path across multiple apps at once is a bit of an anti-pattern. It seems rather dangerous and error prone. In that case I'd actually release it in reverse order, so to speak. Release the apps that use the services of others first and have it check is this service is available/functional and if not, skip calling it. The release the feature to the next service down the stack. Then you can always rollback the last service and be confident that the callers still work.
It's way more work and I can see why for certain types of application isn't not really worth the trouble.
oftenwrong|2 years ago
JimDabell|2 years ago
Most cases are the simplest cases.
No approach works for every single use case, but OP was specifically talking about the common case. You don’t have to shoot for the most complex use case every time.
ehnto|2 years ago
.env files are the quick and dirty version for simple sites that don't have an admin panel or database.
samtho|2 years ago
smileysteve|2 years ago