Introduction
A feature flag platform is a critical tool in modern software development. It enables developers to control feature releases, test and roll back changes with minimal risk, and ultimately accelerate development velocity while driving business growth.
Since feature flagging is an infrastructure-grade solution implemented in production environments, its stability, security, and performance are paramount. Therefore, it's essential to carefully evaluate whether a SaaS or self-hosted solution best meets your needs.
Here are key factors to consider when choosing between a SaaS and a self-hosted feature flag platform:
- Data protection requirements
- Security considerations
- Service capabilities of the feature flag provider
- Budget constraints
- Geographic availability of the service
- Other operational and compliance factors
Taking the time to assess these aspects will help ensure you select the right solution for your organization.
Do You Have Many Services Running in a Private Network?
If yes, you should consider a self-hosted solution.
Do You Have Specific Security Requirements?
If yes, a self-hosted solution offers greater flexibility for customizing security measures to meet your needs.
Do You Have Strict Data Protection Requirements?
If yes, a self-hosted solution may be the better choice.
Alternatively, you can consider a SaaS solution with compliance certifications. However, certification does not guarantee 100% data security.
Do You Have a High Volume of Feature Flag Usage? (Cost Factor)
If you have a very high volume of feature flag usage, a self-hosted solution may be more cost-effective. Here are some key factors to consider:
- A large number of monthly active users whose applications evaluate feature flags on the client side.
- The need to record, store, and analyze feature flag usage data.
- The need to record, store, and analyze feature usage events.
- And so on.
The factors above directly impact technical costs, including:
- WebSocket connections for real-time feature flag evaluation on both client and server sides.
- API calls for feature flag evaluation, event recording, and related processes.
- Storage costs for feature flag usage data and events.
- And more.
For example, if you have 100,000 monthly active users with only a few services evaluating feature flags, the technical costs may be manageable. However, if you need to send millions of feature usage events to the server a day, a self-hosted solution could save you tens of thousands of dollars per month—far exceeding the cost of an maintainer.
Note: If you also require high uptime, a self-hosted solution may further reduce costs compared to a SaaS solution.
Do You Have Enough People to Maintain a Feature Flag Platform?
Choosing a SaaS solution eliminates maintenance costs. However, if you have the necessary resources, a self-hosted solution may be a better choice—especially if you can find one with low maintenance overhead.
For example, some feature flag platforms consist of multiple microservices and databases to ensure high availability and performance. While these setups offer scalability, they require significant effort to self-host and maintain. In such cases, you should ask providers about their minimum self-hosted setup that suits your needs.
FeatBit offers three self-hosted solutions for different scenarios:
- FeatBit Standalone: A simple service requiring only a PostgreSQL database. This solution supports a wide range of B2B use cases. With FeatBit Agent, you can handle high evaluation request volumes without upgrading to FeatBit Standard or Professional.
- FeatBit Standard: Adds a Redis service to the Standalone solution, making it more suitable for scenarios with high feature flag evaluation and event request volumes.
- FeatBit Professional: Adds Kafka and ClickHouse to the Standard solution. This setup is ideal for handling extremely high feature flag evaluations and event requests. For instance, an online B2C store with millions of daily users that needs to record, store, and analyze all feature flag usage data.
When maintaining a high uptime SLA in a self-hosted environment, you need to consider to find a reliable strategy to ensure uptime.
Choose Open-Source!
As developers, we trust open-source solutions more than proprietary ones.
If a platform uses a tech stack you're familiar with, it is more likely to be a good fit. Additionally, open-source projects allow you to contribute and tailor the solution to meet your specific needs in the future.
Do You Have Low Latency Requirements?
Both SaaS and self-hosted feature flag platforms can provide low-latency solutions.
A modern approach is to self-host an Agent that connects to the feature flag platform service. Your end users can then connect to these Agents instead of directly communicating with the feature flag platform. This allows you to deploy Agents in regions closer to your users, improving latency.
Should We Consider This During the POC Stage?
No, you can use either a SaaS or self-hosted solution during the Proof of Concept (POC) stage. However, once you decide to move to production, I strongly recommend making a final decision in advance. Switching between SaaS and self-hosted later may require significant time and cost.
Conclusion
SaaS is a great option, but be mindful of the potential risks mentioned above.