Updated: Sep 13
FeatureHub is a Cloud Native and Open Source feature management and experimentation platform. It comes with FeatureHub Admin Console — web interface to control your features, and a variety of SDK’s that help you to connect FeatureHub with your code. It is designed for developers, testers, business people or anyone else in your team who wants to have control over features, release management and testing in production.
What type of features do you support?
Currently FeatureHub platform supports feature flags, strings, numbers or more advanced JSON formats intended for forms of configuration.
Is there a support for remote configuration, like in Firebase?
Yes, we support JSON remote configuration that can be used just like Firebase remote config. We also provide mobile SDK’s.
Can I use it for web, API and mobile applications?
Our goal was to build a universal platform to support all types of applications, hence we have the variety of SDK’s available to support that.
Is it secure? Can I use it in a bank?
FeatureHub was designed to ensure that security was built into the platform from the ground up. If we split this into authentication vs authorization FeatureHub provides two primary methods for authentication: a login, by which someone is able to get a bearer token and then uses the API, or a Service account, by which SDKs are able to read (and potentially) update states of features. Authentication is provided by an inbuilt mechanism or OAuth2 (currently we support Google auth). The bearer token is by default stored in the database and validated on each request — it is expected we will implement this for Memcache and Redis as the need arises.
On the roadmap, we have plans for supporting other OAuth2 vendors, such as Azure and Github, as well as SAML for those enterprise environments that prefer it.
Can I see some analytics on how my features are performing?
We always thought that FeatureHub is not just a feature flagging platform, but a tool to provide feedback to your team as early as possibly and as frequently as possible. Testing in production and allowing feedback loop is one of the fundamental concepts we followed while building the FeatureHub platform. To allow this visibility, we provide Google Analytics support out of the box. With this functionality you can set events and track how these events perform depending on the feature state. Read more about it here.
I heard it all before, do you have some other cool features?
FeatureHub is packed with additional features to provide DevOps teams with greater visibility. For example, “environment promotion order” allows you to order environments according to your test and release process. You will be able to see the state of your feature flags in a single dashboard across all of your environments in exactly the same order as you test and release your features.
Lock/unlock function is something that we baked in for additional security, this prevents people accidentally turning features “ON” in cases where features are not yet ready to be switched on. For example, if you are a developer, you can lock the feature in production so product owners will know the feature is not yet available for them to be turned on. You could also use it to indicate readiness for testers in other environments.
How come it’s free?
FeatureHub is a self-hosted platform and typically you would install it on your own infrastructure, hence we don’t carry any of the hosting costs. Because we use Docker containers you can easily install it and operate on your own infrastructure.
Is it easy to maintain/upgrade/support?
FeatureHub comes packaged as Docker containers. Each service is a microservice and manages the schema updates for its own database. When you upgrade FeatureHub containers, it will lock the schema table and upgrade the database. We will indicate from release to release if this requires downtime. Release notes can be found here.
What is on the roadmap?
We are very close to enabling our first SaaS beta version (paid service). In addition to that we will support feature auditing and various integrations with other 3rd party services.