Architecture
Learn about the architecture of Flipt Cloud and how it scales to meet your needs
This section describes the high-level architecture of Flipt Cloud and how you can also run your own Flipt instances for evaluation purposes while still leveraging the service.
Overview
Each Flipt Cloud instance is a fully managed Flipt instance hosted and operated by the Flipt team.
Each organization gets a dedicated Flipt instance, eliminating the noisy neighbor problem.
Each environment is a logical grouping of feature flags and namespaces that share the same backend Flipt instance.
Feature flags in each environment are isolated, preventing naming conflicts and improving organization. You can have multiple environments share the same underlying Git repository, allowing you to manage your feature flags in a single location, or have each environment have its own Git repository.
This allows Flipt Cloud to work for both mono-repo and multi-repo architectures.
Control Plane
Flipt Cloud operates as a control plane for your Flipt environments, providing a single point of entry for all of your feature flagging needs. You log in to the Flipt Cloud UI and create and manage your feature flags through the UI. Feature flag data is stored in the Git repository you specify in the Flipt Cloud UI.
Flipt Cloud also handles authentication and authorization for your Flipt environments. Flipt Cloud works with many popular identity and single sign-on providers, including Google, Okta, and Auth0.
Data Plane
Each Flipt environment is backed by a Flipt instance. The Flipt instance is hosted and operated by the Flipt team. This means you don’t need to deploy or manage Flipt instances yourself.
These environments act as the data plane to serve feature flag data to your applications. When you create a feature flag in the Flipt Cloud UI, it is stored in the Git repository you specify in the Flipt Cloud UI. When you make a request to evaluate a feature flag, the Flipt instance in the Flipt Cloud environment serves the feature flag data to your application.
Each Flipt environment gets its own unique URL that you use to serve feature flag data to your applications. Our SDKs and API clients use this URL to connect to the Flipt instance in the Flipt Cloud environment.
Evaluation
Flipt Cloud supports evaluation for our client-side SDKs out of the box. These SDKs are available for many popular programming languages, including JavaScript, TypeScript, Go, Java, Ruby, Python, and more. These client-side SDKs are designed with performance in mind, and store feature flag data in memory to serve feature flag evaluations quickly.
Server-side SDKs including OpenFeature SDKs are also supported but currently require you to run your own Flipt instances.
Self-Hosted Flipt
Open Source Flipt is available for self-hosting and can mirror your feature flag configurations from Flipt Cloud. This is useful if you want to use Flipt Cloud for configuring and managing your feature flags, while still using your own Flipt instances for evaluation, allowing you to scale and maintain availability within your own infrastructure.
Server-Side Evaluation
To scale evaluation requests and serve feature flag evaluations via our server-side SDKs, you can deploy Flipt Open Source and configure it to source flag data from your Git repository.
Client-Side Evaluation
You can also run your own Flipt Open Source instances and configure our client-side SDKs to connect to your Flipt instances. This again allows you to use Flipt Cloud for managing your feature flags, while still using your own Flipt instances for evaluation for performance, stability and/or security reasons.
For more information on how to deploy Flipt Open Source and how to configure it to source flag data from your Git repository, please refer to the Moving to Production guide.
Was this page helpful?