Edge/IoT
This document describes how Flipt can be used in edge and IoT computing environments.
Overview
Flipt is designed to be able to be used in an edge computing environment. This means that Flipt can be deployed to a device that’s close to the end user. This is in contrast to a centralized computing environment where the application is deployed to a data center that’s far away from the end user, such as a cloud provider.
Because of Flipt’s small footprint and single binary deployment, it’s well suited for edge computing environments. Also, since the Flipt server is stateless, it can be deployed in a highly available configuration. This means that multiple Flipt servers can be deployed to the edge and requests can be load balanced across them, providing a highly available service to the end user.
Our Deployment documentation provides more information on how to deploy Flipt in a highly available configuration.
Storage
Flipt supports a variety of storage backends, allowing it to be deployed to a variety of edge computing environments.
Edge-Compatible Databases
Flipt’s pluggable data store architecture allows it to be deployed to a variety of edge computing environments without requiring traditional server-based relational databases. Specifically, Flipt’s support for SQLite, LibSQL, and Turso allow it to run in environments where a traditional database is not available.
See the Database Support section for more information on Flipt’s relational database support.
Declarative Storage
Flipt’s declarative storage backends allow it to run without a database at all. Flipt can be configured to load its feature flag data in the following ways:
- From a file on the local filesystem
- From a remote git repository
- From an OCI compliant container image registry
- From any of the 3 major cloud computing object storage services (AWS, Google Cloud, and Azure)
These backends allow you to deploy Flipt to the edge and evaluate feature flags close to your end user.
See the Declarative Storage section for more information on Flipt’s declarative storage backends.
GRPC API
GRPC is a high performance, open source, universal RPC framework. Flipt’s GRPC API allows it to run in environments where HTTP isn’t available or practical. This is especially useful in environments that require low latency and high throughput, such as IoT devices.
See our Architecture section for more information on Flipt’s GRPC API and overall architecture.
Client Side Evaluation
Flipt’s client-side evaluation SDKs allow feature flag evaluation to be performed directly from edge clients, without the need of making evaluation requests to the central Flipt server. This is especially useful in environments where the edge client isn’t always connected to the internet, such as IoT devices.
Client side evaluation has shown to be up to 1000x faster than traditional server side evaluation, and as such greatly decreases the number of network requests required. This is especially useful in environments where network bandwidth is limited (such as IoT devices), where there is sensitivity to latency (e.g. high throughput services), or on critical paths where transient failures must be avoided at all costs (e.g. during transaction processing).
See our Client Side Integration documentation for more information.
Was this page helpful?