Skip to main content

Unleash architecture

Unleash is designed for privacy, speed, and resilience, enabling feature flag evaluations to happen locally within your applications. The architecture provides:

  • Fast feature flag evaluations: Feature flags are evaluated within the SDKs running in your application, making evaluations incredibly fast (nanoseconds).
  • High reliability: There is no dependency on network calls during evaluation, providing high reliability.
  • Privacy and security: No user data is shared with the Unleash instance, ensuring privacy and security.

System Overview

The Unleash system consists of several key components.

A visual overview of an Unleash system as described in the following paragraph.

The Unleash API

The Unleash API (or Unleash server) is the core service for managing feature flags, configurations, and related concepts. SDKs retrieve feature flag configurations from the API, determining which flags are enabled and what activation strategies apply.

The Unleash Admin UI

A web interface for managing feature flags, defining activation strategies, viewing analytics, configuring access roles, generating API tokens, and more.

A visual overview of an Unleash system as described in the following paragraph.

Unleash SDKs

Unleash provides both server-side and client-side SDKs for integrating feature flagging into your applications. SDKs fetch feature configurations from the Unleash API to check which features are enabled and what activation strategy to use for each feature.

Server-side SDKs run in backend applications and retrieve feature flag configurations via the Client API. Supported languages include: Node.js, Go, Java, Python, .NET, PHP, and more.

Client-side SDKs are used in frontend and mobile applications. They communicate with Unleash through the Frontend API. Supported platforms include: JavaScript, React, iOS, Android, and more.

SDKs cache all feature flag data in memory, applying activation strategies locally. This makes flag evaluation incredibly fast, as it is a simple function operating on local state, without the need to poll data from the database. This architecture results in a small delay (typically a few seconds, but configurable) when propagating configuration changes to your applications.

Unleash Edge

Unleash Edge is a lightweight caching layer designed to improve scalability, performance, and resilience. It sits between your SDKs and the Unleash API and handles thousands of connected SDKs without increasing the number of requests you make to your Unleash instance.

Unleash APIs

Client API

The Client API is the API used by server-side SDKs to fetch feature flag configurations and send usage metrics to Unleash.

Frontend API

The Frontend API is the API used by client-side SDKs to retrieve feature flag configurations and send usage metrics to Unleash.

Admin API

The Admin API is an API layer for managing all aspects of your Unleash instance, including creating, updating, and deleting resources, such as feature flags, activation strategies, and environments. This API is used by the Unleash Admin UI and other tools and integrations.

Get started with Unleash

To integrate Unleash, you first need an Unleash server. You can choose from:

For a deeper dive into Unleash’s architecture, check out this blog post.