The tech world has some really interesting competitions in its fold. There is nothing that motivates a company more than having competitors in the same field. Everyone tries to win, and everyone wants to be better than everyone else. We as consumers are always greatly benefited by this.
I'm bringing together two Feature Flags companies that have worked hard for the last few years to deliver the best quality service that they can to their customers. We're talking about ConfigCat and Flagsmith, which was also previously known as Bullet Train.
As they are both great in their own way, I'm comparing them to make your decision easier if you're choosing one of them.
Feature flags are a way for software developers to enable or disable functionality remotely, without deploying code. This means that a new feature can be deployed without it being visible to the users. Deployment and releases can be decoupled with feature flags, so you can manage a feature's entire lifecycle. The feature flags may be booleans, strings, or integers, depending on what you need and what the company offers.
We will begin to compare the two companies and don't worry if you're not familiar with feature flags, because we'll talk about the services offered by both companies so you'll get a clearer picture of how feature flags work and how they can support your development lifecycle.
As I said, both are great but the main difference between them is that ConfigCat is proprietary software with open source SDKs and Flagsmith is 100% open source.
As a programmer, I love to use open-source software because of its flexibility, speed, and cost. It's like having your own product and serving yourself by yourself. But that doesn't mean that I should always use open-source just because I love it.
It's awesome to have open-source software like Flagsmith, especially that most of their platform is under the BSD-3-Clause License and a small number of repositories are under the MIT license.
But it's not always best to implement open-source software due to long-term costs, and I'm not talking about money only, but the time and effort that it will take to maintain. You have to handle deployment, scaling, maintenance, or upgrading all by yourself. Many start-up companies do this due to the budget and later regret it, mostly when their businesses grow. One main big issue is quality control, and the open-source ethos just can't understand this in business.
While in ConfigCat the service is out there for you. With zero updates, bugs, or security issues to deal with or to worry about, you can just chill. Everything will be ready to use, and you just have to pay them with money, and they also offer a free plan that we will look into, so don't rush.
In any case, I believe that the most important part of picking proprietary software is selecting the right company that offers a complete product stack and can continue to support/develop it going forward. And finally, for the consumer to be comfortable with it. In the meantime, ConfigCat allows you to directly communicate with the developers. Flagsmith however also offers a hosted service as well.
Both offer almost the same features, but different features are included in different plans, so let's dig into this.
There is an Up-Time service level agreement for ConfigCat, and as I mentioned, you can contact their developers directly.
Flagsmith does not provide a service level agreement until you purchase their enterprise plan, which is their most expensive plan, but they do offer a community forum. Although I'm not sure if it's good or not, I personally don't have much reliance on such a thing.
Neither company is weak in this area, as both companies support the most popular programming languages with detailed documentation.
Generally, they both support mobile, desktop, microservices, server-side scripts, web frontends, and APIs.
Security and Access
Some people consider open-source software more secure than proprietary software, for some reason, but this depends on how you handle it. There are some features in Flagsmith that aren't open-source, as well as some security features, like user roles, permissions, 2FA, SAML authentication, and audit logs. They're given in their scale-up plan, their most popular plan, which costs $200 monthly. Meanwhile, ConfigCat has a clear security focus by including 2FA, SAML SSO, auto-assign users, and audit log retention for all of their plans, even the free one.
What about the data?
ConfigCat evaluates the feature flags on the client-side, which means that your data will never leave your system. They only store feature flag values and the targeting rules you set. Furthermore, they have multiple CDN servers globally, which allows content to be delivered fast and efficiently to people based on their geographical location.
Meanwhile, Flagsmith evaluates feature flags on the server-side. And it's an open-source program that can be run in the cloud or deployed on-premises, putting reliability and data security in your control. Due to the open nature of open-source software, it offers a higher chance of finding and fixing security vulnerabilities. However, generalizing that "all open source software is more secure" would be incorrect.
Below you can see the integration tools for each company; IMHO ConfigCat takes the lead here in terms of overall management, putting development tools at the forefront, whereas Flagsmith focuses more on analytical and testing tools.
Both are user-friendly, even non-technical users will find them easy to use.
Both support percentage based rollouts, which allow you to choose the exact percentage of users it reaches, whether it is 10%, 30%, or 80%
User targeting, allows you to target specific groups of users, such as those who have specific email formats. Yes, that's true.
Environments, offers the ability to manage your feature flags at every step of the development lifecycle - from local development through production deployment. A project's environments are usually production, QA, staging, or individual.
Rollbacks, Taking back the features that you rolled out.
A/B Testing, you test two variants of the same product to determine which version of a product or feature delivers better results. It requires setting up a targeting rule for a percentage of users and then using an analytics tool to track the things that are important to you. A/B and MVT Testing are included in all Flagsmith plans whereas Configcat requires a separate product.
Both companies have their own plans.
ConfigCat doesn't care how big your team is or the number of users that you have, they charge by the number of config.json downloads. If you can estimate how many HTTP requests you may receive, then take a look at their plan calculator.
Their free trial is very convenient. They give you 10 feature flags to use forever and an unlimited number of teammates for free, plus the ability to create a permission group with different permissions. Their keen focus on security and access is also a plus. ConfigCat is an excellent choice, especially if you have a large team or an intention to increase the number of your team members.
Flagsmith, on the other hand, cares about the number of API requests per month, the number of members, and the number of projects. However, they give you as many feature flags as you want.
You can use their free trial for 50K requests per month, coupled with 1 person working on a single project, with an unlimited number of feature flags, including A/B and MVT tests, which is awesome.
Using feature flags is not something that you need to overthink about, you should just start using them. They'll boost productivity and ease deployment stress. There is no solitary opinion here, this is everyone's opinion who uses feature flags. As a starting point, I advise you to try out one of the free plans, as my company did. And guess what? All our needs were met by one of the free plans, so I highly recommend giving it a shot since it has no risk and it offers substantial benefits. And always remember that feature flags are really awesome.