Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions docs/docs/flagsmith-concepts/platform-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ The most important components in Flagsmith's architecture are:
- **SDKs**: Client libraries (available for many languages and platforms) that connect your applications and services to Flagsmith, enabling real-time feature flag evaluation and remote configuration.
- **Integrations**: Optional connectors to third-party tools and services (e.g., analytics, notifications, monitoring). These can be configured via the dashboard or API.
- **Database**: Stores all persistent data, such as organisations, projects, features, and audit logs. Managed by Flagsmith in SaaS, but by your team in self-hosted/on-prem deployments.
- **Ingestion server**: A web service that receives events from SDKs (e.g. for [experimentation](/experimentation)) and writes them to Kafka.
- **Kafka**: Message bus used to reliably deliver events to the warehouse.
- **Warehouse delivery**: Inserts events into each environment's warehouse, retries failed inserts, and records delivery status.
- **Warehouse**: Analytical database that stores events and runs the aggregations the Core API requests.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

The architecture is REST-based, with both SDK clients and the dashboard interacting with the Core API. The platform is designed to be cloud-native, supporting containerisation and orchestration for scalability and reliability.

Expand All @@ -36,6 +40,14 @@ Flagsmith can be deployed in three main ways, each with conceptual differences i

*The diagram above shows the SaaS deployment model, where all infrastructure is managed by Flagsmith and the Edge API ensures global low-latency delivery.*

#### Experimentation on SaaS

Flagsmith runs the whole experimentation pipeline. Events go to the Flagsmith-managed ClickHouse warehouse directly from Kafka, or to your own warehouse through warehouse delivery.

![SaaS Experimentation Architecture](/img/experimentation-architecture-saas.svg)

*The diagram above shows how experiment events flow on SaaS, to the managed warehouse or to your own.*

### 2. Self-Hosted (Cloud or Private Cloud)

- **Managed by your team**: Deploy Flagsmith on your own cloud infrastructure (e.g., AWS, GCP, Azure, DigitalOcean) using Docker, Kubernetes, or other orchestration tools.
Expand All @@ -54,6 +66,14 @@ Flagsmith can be deployed in three main ways, each with conceptual differences i

*The diagram above illustrates the Self-Hosted and On-Premises deployment models, where your team manages the infrastructure and has full control over security, compliance, and integrations.*

#### Experimentation on Self-Hosted and On-Premises

Your team runs the ingestion server, Kafka and warehouse delivery alongside the Core API. Events go to your own warehouse through warehouse delivery. See [Connect a Warehouse](/experimentation/connect-a-warehouse) for supported warehouses.

![Self-Hosted Experimentation Architecture](/img/experimentation-architecture-self-hosted.svg)

*The diagram above shows how experiment events flow on Self-Hosted and On-Premises deployments, where every component, including the warehouse, is run by your team.*

## What's next
- [Deployment Options](/deployment-self-hosting)
- [Version Comparison](https://flagsmith.com/pricing)
Expand Down
78 changes: 78 additions & 0 deletions docs/static/img/experimentation-architecture-saas.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 68 additions & 0 deletions docs/static/img/experimentation-architecture-self-hosted.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading