October 1, 2024 — 8 min read
Announcing Flipt Cloud
Today we are excited to announce Flipt Cloud, a fully-managed Flipt experience that allows you get up and running with Flipt feature flags in under 2 minutes.
Flipt Cloud is built on top of Flipt's open-source project but with a twist. We don't lock your data away in our own database. Instead, we use a new approach to store your flag data in your own Git repositories and integrate tightly with your GitHub organization.
How It Works
When you create an account, we prompt you to connect your GitHub organization or personal account. Once connected, we create a new private repository for you in your GitHub account that is completely separate from Flipt's internal repositories. This repository is owned solely by you and is used to store your flag data.
Our GitHub App will sync your flag data into your private repository and keep it up-to-date. You can manage your flags using the Flipt Cloud dashboard and each change will be a new commit that is pushed to your repository.
We also allow you to create multiple environments for your flags. This is useful if you want to have a separate set of flags for your development environment, staging environment, and production environment. Each environment can optionally be connected to a different Git repository, or you can choose to connect them all to the same repository under different directories.
Why Did We Build This?
We've heard from many users that they want a fully managed Flipt experience that allows them to focus on building their applications instead of configuring and managing their own Flipt instance. Many of our users also love our Git-backed storage and the ability to manage flags in their own Git repository which allows them to use their existing workflows and tools.
While most developers are familiar with Git and GitHub, we understand that developers are not the only ones who use feature flags. Product managers, designers, and other stakeholders also need to understand and manage feature flags, and often prefer to use a web-based interface instead of the command line or IDE.
Thus we decided to combine the best of both worlds with Flipt Cloud, allowing both developers and non-developers to manage their feature flags in a web-based interface with the same Git-backed storage that they are already familiar with.
Why Git and GitHub?
We chose to store flag data in Git repositories because we believe it is the best way to manage feature flag data. Git is a mature and battle-tested system that has become the standard for managing source code. Today, Git is also used to manage configuration data for applications, infrastructure as code, and more. We believe that feature flags are a type of configuration data that should be managed alongside the rest of the application's configuration and code.
Git has a few unique properties that make it particularly well-suited for storing feature flag data:
- Version Control: Git provides a way to track changes to your flag data over time. This allows you to see how your flags have changed and evolved over time as well as revert to previous flag configurations if needed.
- Branching: Git allows you to create branches to experiment with new flag configurations without affecting the main production flag data. Once you have tested your flags on a branch, you can merge your changes into the main branch.
- Collaboration and Code Reviews: GitHub and other source code management systems allow you to create pull requests to review and merge your changes into the main branch. This allows you to get feedback from your team and ensure that your changes are working as expected. More on this in a bit.
- Data Sovereignty: By storing flag data in your own Git repositories, you have full control over your data and can use your existing workflows and tools to manage your flags.
Managing Flags with Pull Requests
We are big believers in the power of pull requests to manage code changes. Pull requests are a great way to get feedback from your team and ensure that your code changes are in line with your team's standards and best practices.
We also think that pull requests are a great way to manage flag and configuration changes. Several feature flag vendors provide the ability to propose flag changes and require a review process before the changes are deployed to production. This is particularly useful and often required in regulated industries where changes to production systems require a formal review process.
Instead of building our own bespoke review process, we decided to leverage the existing pull request model provided by most Git hosting providers. GitHub, for example, provides the ability to require reviews from specific users or teams before a pull request can be merged, which we think is a great fit for the types of changes that often need to be made to flag data such as enabling/disabling a feature flag or updating a flag's rollout percentage.
Here's a demo of how this works:
- A user creates a new branch from a 'protected' environment to experiment with new flag configurations.
- The user makes the changes to the flag data in the branch and verifies that the changes work as expected by evaluating the flag data from their development environment.
- Once the user has verified that the changes work as expected, they create a pull request to merge their changes into the 'protected' environment.
- The pull request is then reviewed by a team member and, if approved, the changes are merged into the 'protected' environment.
- The new flag configuration is then promoted to the 'production' environment and is now available to be served to production traffic.
You can even customize the commit and pull request messages to better fit your team's needs.
Additional Features
Not only does Flipt Cloud provide a fully managed Flipt experience with Git-backed storage, but we also provide a few additional features that make it easier to manage your feature flags for teams of all sizes.
Authentication and SSO
Flipt Cloud provides a fully managed authentication and SSO solution. We support email/password, Google and GitHub social login, as well as magic link login for no charge.
Larger teams that require additional security can also opt to use our Single Sign-On (SSO) solution, which allows you to use your existing identity provider to authenticate users.
Custom Role-Based Access Control
Not every team member needs to be able to create and manage feature flags in every environment. That's why we have a few predefined roles such as Admin, Editor, and Viewer with sensible defaults but provide the ability to create custom roles to fit your needs.
You can create custom roles and assign them to your team members to control what they can and cannot do in the Flipt Cloud dashboard and your environments.
Environment Protection
We understand that not all flag changes are safe to deploy to production. That's why we allow you to mark environments as protected. Using the above mentioned pull request model, you can create a new branch from a protected environment to experiment with new flag configurations.
Once you have verified that the changes work as expected, you can create a pull request to merge your changes into the protected environment.
What's Cooking?
We are actively working on adding new features and improving the existing ones. Here are a few features we are working on:
- One Click Flag Rollback: We are working on a feature that allows you to rollback to a previous flag configuration if needed quickly and easily.
- Signed Commits: We are working on adding the ability to sign commits to ensure the authenticity and integrity of your flag data.
- Edge Evaluation: We are looking at ways to keep flag evaluation close to your users by using our own edge proxy which supports our server-side evaluation SDKs as well as OpenFeature clients. We're also experimenting with integrating with edge KV stores such as Vercel Edge Config KV and Cloudflare KV to reduce latency and improve performance.
Get Started
You can create an account and get started with Flipt Cloud in under 2 minutes by heading to flipt.cloud today.
We also have Getting Started and Moving to Production guides to help you get from zero to production with Flipt Cloud.
You can view pricing and available plans on our website, or get in touch with us to discuss enterprise plans and custom requirements.
Finally, we would love to hear your feedback and suggestions as you explore Flipt Cloud. You can create a community post on our community forum or hop into our Discord server to chat with the maintainers and other Flipt users.
We are looking forward to seeing what you build with Flipt Cloud!