GO Feature FLag
Ship Faster, Reduce Risk, and Build Scale
Feature flags lets you modify system behavior without changing code. Deploy every day, release when you are ready. Reduce risk by releasing your features progressively.
You can benefit more than you think
Deploys should not be scary, you can send your code and activate the feature later.
De-activate a feature as soon as an incident happen.
Experiments by providing features to a subset of your users, and analyse the datas. (A/B test, canary ....)
A simple and complete feature flag solution.
No complex backend system or database to install, all you need is a file as your backend. No server is needed, just add a file to your central system and all your services will react to the changes in this file.
Rely 100% on the latest standard in the open-source, using Open-feature as the main communication point.
vim (vim) go-feature-flag.yaml
# This flag enable/disable the "Create account" button home-page-create-account: percentage: true: true false: false default: false
Integrates with different systems
GO Feature flag is cloud ready and can retrieve its configuration from various places, store your data usage where you want and notify you when something changes.
Retrieve your file from S3, Google Cloud, Github, Kubernetes, and more ...
Store flags usage in your favorite dataset (S3, GCP, ).
Be notified on slack or via a webhook that your flag has changed.
You can also extend GO Feature Flag if needed.
Advanced rollout capabilities
Feature flags allows to unlink deploy and release, this means that you can decide how to release a feature without thinking about architecture and complex deployments.
These capabilities will give you more control on your rollout changes and will ensure that everything happened as expected.
Rules: Impact only the users you want to target.
Canary release: Enable the feature only to a subset of your users.
Progressive rollout: Affect from 0% to 100% of users within a time frame, you can monitor while releasing the change.
Scheduled Workflows: Modify your flag at a specific time to impact more/less users.
A/B testing: Split your audience in multiple groups and track their usage.
Why use feature flags?
Feature flags is a modern software engineering technique that configure select functionality during runtime, without deploying new code.
Innovate fasterDeploy code when it is convenient (several times a day). Release when it is ready and it brings value. Deliver software to target audiences progressively.
Experiment and learnTry new features and measure their success while running A/B test. Export who was using which variation and learn what is successful for your business.
Give autonomy to stakeholdersYou don't need a software engineer to release a new feature, empower business stakeholders, no development skills are needed .
Make engineers happy and productiveHave a better developer experience with simplifying how to release, test and deploy your software.
Frequently asked questions
GO Feature Flag is completely free and open-source. You have nothing to pay to use it.
It is up to you, the GO SDK is where the magic happen, and it avoid to call the relay-proxy for every flag evaluation. BUT it is compatible only in your GOlang project, the advantage of the relay-proxy is that you can use it with all the languages.
GO Feature Flag believe in standardization, that's why we are not developing any SDK and we rely only on Open-feature for this part. Our providers will call the relay-proxy to do the evaluation for you. This is still work in progress since Open-feature is a new thing, but our goal is to be compatible with all languages supported.