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.

hero-img

You can benefit more than you think

Reliable deploys

Deploys should not be scary, you can send your code and activate the feature later.

Instant rollback

De-activate a feature as soon as an incident happen.

Run experiments

Experiments by providing features to a subset of your users, and analyse the datas. (A/B test, canary ....)

feature-image-shape feature-image feature-image-shape

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  
Getting started

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.

feature-image

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.

post-thumb

Test in production

Test directly in production with your real data by enabling the features to your QA. Decrease incident by disabling the feature as soon as a bug arise.
post-thumb

Innovate faster

Deploy code when it is convenient (several times a day). Release when it is ready and it brings value. Deliver software to target audiences progressively.
post-thumb

Experiment and learn

Try 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.
post-thumb

Give autonomy to stakeholders

You don't need a software engineer to release a new feature, empower business stakeholders, no development skills are needed .
post-thumb

Make engineers happy and productive

Have 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.

Recent Articles