Feature toggle systems seems like the obvious choice for a software-as-a-service? It is not always the better choice – as always, it depends on your context. Unleash is the flexible feature toggle system. Software-as-a-service or self-hosted – it is your choice. These are some of the reason to help you decide whether to self-host your feature toggle system or not.
What are the advantages of going self-host your feature toggle system?
- The Unleash server runs within your own private data center; hence, no external service can access your critical infrastructure.
- The use of feature toggles on a SaaS platform may also give away some clues to the internal design of your application (which presents a security risk in itself).
To support the delivery of features using feature toggles, such as segmentation and/or gradual rollout, the system must have access to sensitive user data. For example, to make it easy to address groups of users, or even specific users, this data is synced back to the feature toggle server. If the server runs in the cloud, this means privacy data is shared outside your control.
With Unleash Enterprise, all data always stays within your network.
Crucial for some high-availability scenarios, where you cannot risk a third-party affecting your service.
By ‘going self-hosted’, your organization can set up the integrations and workflows that meet your needs. Unleash’s architecture is particularly strong here. Unleash is designed with an “API first strategy“. Further, everything in Unleash is an event. Most of these events are available through the APIs. This makes it easy to integrate Unleash into the use case that make sense for you.
SaaS pricing usually scales upwards with increased usage and volume. Costs may initially be limited but as use increases, both the price and management of the cloud-based system’s monthly active users (MAU) can become significant. In fact, research indicates that a third of cloud services spending is wasted.
That all sounds convincing. Why doesn’t everybody self-host?
- Stability – you must ensure that your Unleash server is available whenever it is needed
- Security maintenance – to ensure the integrity of your data and systems, you must keep up to date with security fixes
- Hosting is not usually a central part of your business – you are better off focussing on your core and outsourcing such non-key strategic aspects.
Unleash Enterprise seems best for us - how do I get started?
What is the alternative to feature toggle self-hosting?
More about self-hosting...
What would I need to implement a self-hosted solution?
It is recommended that you install your Unleash server on a Docker image:
- Running PostgreSQL 10 or higher
- With at least two CPUs and 512Mb of memory.
How do you recommend managing a self-hosted deployment in multiple environments (playground, staging, production)?
Unleash does support CI/CD pipelines across multiple environments through something called ‘strategy constraints’. By applying different constraints, you can enable different activation strategies for your different environments.