Live data from Hacker News

Show HN: Feature Flags Backed by Git

flipt.io

31–40 of 46 posts

Re: Show HN: Feature Flags Backed by Git

#31

If a user can turn a toggle on and off using a UI, what is even the point of Git?

Full version control, which can be collocated with other configuration for the rest of your system (thinks terraform or k8s manifests) means it becomes easier to build a picture of how your system was configured at a given point in time. Because you have a single history to walk.

Re: Show HN: Feature Flags Backed by Git

#32

I like this design choice!! Wondering, what will be the biggest drawback pop in your head compared to traditional DB config or feature flags solution?

Complexity of initial implementation was certainly one, as we developed it. It’s not the most well trodden path for this kind of problem (well trodden for other kinds of apps). Obviously it lacks things like relations and schema, that we have to build on top of data in flat files. One thing is that running Flipt open source on your infra, means running replicas all sourcing from the same Git repo. They currently poll…

You can get around most of the consistency problem by "scheduling" the change. So, if I know it is going to take 2 minutes to make the flag available to my entire infra, I can schedule it for 5 minutes from now (could even make this configurable—a "default feature delay") which moves the consistency problem to infrastructure clock-sync.

Re: Show HN: Feature Flags Backed by Git

#33

Earlier quoted context omitted.

Complexity of initial implementation was certainly one, as we developed it. It’s not the most well trodden path for this kind of problem (well trodden for other kinds of apps). Obviously it lacks things like relations and schema, that we have to build on top of data in flat files. One thing is that running Flipt open source on your infra, means running replicas all sourcing from the same Git repo. They currently poll…

You can get around most of the consistency problem by "scheduling" the change. So, if I know it is going to take 2 minutes to make the flag available to my entire infra, I can schedule it for 5 minutes from now (could even make this configurable—a "default feature delay") which moves the consistency problem to infrastructure clock-sync.

Thats a great idea! I hadn't thought of combining it with a schedule for when a change is readable.

Re: Show HN: Feature Flags Backed by Git

#34

This post comes at a great time! I've been wondering what folks prefer - git or DB backed configs and feature flags. How do you decide to go with one or the other? What do you guys do when GitHub inevitably has an outage?

I worked with a mesos config app, backed by git. Watching the whole go down when github died resolved none of us to ever trust it again for that sort of role.

Use s3. Honestly.

Re: Show HN: Feature Flags Backed by Git

#35
post #34

This post comes at a great time! I've been wondering what folks prefer - git or DB backed configs and feature flags. How do you decide to go with one or the other? What do you guys do when GitHub inevitably has an outage?

I worked with a mesos config app, backed by git. Watching the whole go down when github died resolved none of us to ever trust it again for that sort of role. Use s3. Honestly.

On this, we support publishing the state to object storage (S3, Azure, GCS) and to OCI as well in Flipt.

Flipt Open-Source can be run to consume from these locations. You can go as far as configuring a workflow to publish on push, so that you can combine our managed UI with any of these distributions methods through Git.

With any of these backends (including Git), we periodically fetch and cache data in-memory. Evaluations work on an in-mem snapshot. So temporary downtime doesn't propagate into your applications being unable to get flag evaluations.

Re: Show HN: Feature Flags Backed by Git

#37

Earlier quoted context omitted.

The voice volume seems to get quieter in certain spots, even when its set at a constant level.. I'll reach out to the Kite team

Kite founder here–Sorry about that, we’ll take a look. We have some auto normalization turned on that we obviously need to tweak. Thanks for flagging! Also happy to manually fix this for you in the meantime if you send us the project file (instructions in the in-app chat).

Hey! thanks for the reply. We are loving Kite, great product!

Will send over the project file now, very much appreciated!

Re: Show HN: Feature Flags Backed by Git

#38
post #34

Earlier quoted context omitted.

I worked with a mesos config app, backed by git. Watching the whole go down when github died resolved none of us to ever trust it again for that sort of role. Use s3. Honestly.

On this, we support publishing the state to object storage (S3, Azure, GCS) and to OCI as well in Flipt. Flipt Open-Source can be run to consume from these locations. You can go as far as configuring a workflow to publish on push, so that you can combine our managed UI with any of these distributions methods through Git. With any of these backends (including Git), we periodically fetch and cache data in-memory. Evalu…

Caching in this scenario isn't something I'd lean on unless you can invalidate or repopulate easily. I've used etcd in a feature flag scenario due to the speed of it's replication and it's ability to queried frequently without the need for caching.

Re: Show HN: Feature Flags Backed by Git

#39

This post comes at a great time! I've been wondering what folks prefer - git or DB backed configs and feature flags. How do you decide to go with one or the other? What do you guys do when GitHub inevitably has an outage?

Nothing special, because Git != GitHub.

Re: Show HN: Feature Flags Backed by Git

#40

Earlier quoted context omitted.

This is my question. If your flags are in your repo, what is functionally the difference from just having them be variables in your code somewhere. "Feature Flags that live inside your code" - That's just variables, no?

Feature flag state is still served dynamically through Flipt. Your code doesn’t have to redeploy for the changes to “become live”. That’s the main benefit. Means you can experiment and target different cohorts with variants of your app without restarting processes everywhere.

Thank you. I guess I was imagining that the flags lived in your source code repo, and required a commit and push to update, thus triggering some CD build and redeploying your app anyways.
Post reply on HN