Why self-hosted feature management is pretty great
For many software organizations looking to adopt a new product from a SaaS vendor, there’s always the question of whether to go with vendor hosting or host it yourself.
You might be a small organization looking to keep costs low, or perhaps data privacy regulations force you to self-host to control and protect the data.
Those questions aside, there is an operational cost to consider when exploring self-hosting:
- How easy is it to deploy?
- What’s it like to maintain the product?
- Is there feature parity with the Cloud offering?
- What kind of community support exists for this product?
An open-source model offers a tremendous amount of flexibility to support all of these questions. This can make Unleash an attractive choice to self-host your organization’s feature flag solution.
What is self-hosting?
Self-hosting is the practice of hosting a third-party service or application on your own infrastructure. This means you are responsible for running, upgrading, configuring, and securing the service or application.
While that added responsibility sounds a bit daunting, there are definite benefits to the do-it-yourself approach with Unleash.
Try before you buy
Unleash offers a fairly comprehensive feature set with the self-hosting option, and this gives users the ability to fully leverage the application for its varied feature toggling and release capabilities.
From A/B testing to canary releases, you get more than just a trial offering from Unleash and can iterate on your deployment strategies with the application.
Being open-source also means you can add your own tweaks if you’d like. We have official server-side and client-side SDKs that we support for popular programming languages, but also a number of community-built SDKs for less commonly used languages.
You’ve got the power
When you self-host, you have control over the application and how it’s run.
If you have a server kicking around in your office, or you want to host a containerized solution in the Cloud, you have the freedom to do so!
It’s also likely that someone has paved the way for you. Some users have created Terraform providers, Dockerfiles, and various scripting to help host the application in different ways.
Self-hosting also makes it easier to contribute features, fixes, and customizations that work well for you. You can test out the feature or fix on your own instance, and then offer a pull request to our GitHub repository to help out the rest of the Unleash community.
Safe and sound
Some companies consider self-hosting when security and privacy are top concerns. When you self-host, all of the Unleash data remains in your network.
This can have an array of benefits such as reducing your attack vectors, protecting your user data, and adhering to data regulations in general.
It can be important to minimize your attack surface area. Self-hosting your feature flag solution could be an important one because an exploit could reveal some of the inner design of your applications.
From a data perspective, self-hosting would enable you to protect your clients information as you might be sharing certain features with specific groups or users.
If your feature flag server runs in a multi-tenant Cloud, this information would be shared across networks that you don’t control. While this pattern is normally secure with the right practices in place, it’s still not as lock-safe as keeping all the information on your own network.
As our Pro offering is single tenant, this is a less of a concern for Unleash users.
Power in numbers
When taking on an open-source project, it’s important to note the contribution activity and general adoption of the product before deciding whether to pursue it yourself.
Unleash has a robust community of contributors and end-users which makes it easier to find support for maintaining and running the application.
With several commits occurring each day and a fairly active Slack workspace, Unleash has an ecosystem of people pushing the product forward every day.
With this kind of community support, it means no defect hangs around too long. There are clear migration paths when it comes to upgrades. The documentation is up-to-date.
In general, it makes running Unleash yourself a far less arduous task when others are already leading the charge.
Typically, self-hosting can be a hard sell. It’s usually a lot easier to have someone run the application for you.
But this is how Unleash stands out. We’re open-source first. We have a fantastic, dedicated community of contributors. And we’re super flexible.
All this together makes Unleash a great option to explore self-hosting your feature management solution.