Feature flag system is needed when the number of code paths becomes too large and rollout via a Git repository takes hours. With 50+ microservices, each change requires coordination, and rollout time grows to 3–4 hours. Without a good toggle manager, it's easy to get a cascade of errors when rolling out new functionality. In our practice, we deploy Unleash to reduce risks in A/B tests and canary releases. As stated in the official Unleash documentation, the system supports many activation strategies out of the box. Over 5 years, we have implemented it in projects with traffic of 1 million requests per day, reducing rollback time from 30 minutes to a few seconds.
Unleash is a self-hosted system with the richest set of built-in activation strategies. Unlike simple on/off systems, Unleash out of the box supports gradualRollout, userWithId, remoteAddress, flexibleRollout with sticky sessioning — without writing custom logic. This allows enabling functionality gradually, by users, IP, or random percentage.
We have been in the market for 5+ years, completed 30+ projects with feature toggle systems. Below is practical experience of setting up Unleash in Kubernetes.
Deploying Unleash in Kubernetes
Example Deployment manifest
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: unleash
spec:
replicas: 2
template:
spec:
containers:
- name: unleash
image: unleashorg/unleash-server:5.12
env:
- name: DATABASE_URL
valueFrom:
secretKeyRef:
name: unleash-secrets
key: database-url
- name: SECRET
valueFrom:
secretKeyRef:
name: unleash-secrets
key: admin-secret
- name: INIT_FRONTEND_API_TOKENS
value: "frontend:default.frontend-token"
ports:
- containerPort: 4242
readinessProbe:
httpGet:
path: /health
port: 4242
initialDelaySeconds: 10
PostgreSQL is a mandatory requirement. SQLite is not suitable for production.
Activation Strategies
Unleash divides toggles into several types:
- release — gradual rollout to a percentage of users
- experiment — A/B test with multiple variants
- operational — kill switch for problematic code
- permission — enable for specific roles/groups
For gradual rollout with sticky sessioning (user always sees the same thing):
import { Unleash } from 'unleash-client';
const unleash = new Unleash({
url: 'https://unleash.internal/api',
appName: 'api-service',
customHeaders: {
Authorization: 'srv-*****',
},
});
await unleash.start();
// Sticky rollout — user always in the same bucket
const context = {
userId: user.id,
sessionId: session.id,
};
if (unleash.isEnabled('new-pricing-page', context)) {
// show new page
}The flexibleRollout strategy uses userId or sessionId for consistent hashing — the same user always gets the same result regardless of server.
Unleash Edge for latency reduction
In distributed systems, the SDK makes an HTTP request to the Unleash API on every evaluate. Unleash Edge is a lightweight proxy that caches at the Kubernetes namespace or even pod level:
---
- name: unleash-edge
image: unleashorg/unleash-edge:latest
env:
- name: UPSTREAM_URL
value: "https://unleash.internal"
- name: TOKENS
value: "srv-*****"
ports:
- containerPort: 3063
---The SDK connects to Edge over the cluster network — latency is microseconds instead of milliseconds to the external Unleash server.
Unleash vs LaunchDarkly comparison
| Criteria | Unleash | LaunchDarkly |
|---|---|---|
| Price | Free (self-hosted) + Ops costs | From $1,000/month for 10,000 flags |
| Data control | Full (your infrastructure) | Data on vendor servers |
| Open-source | Yes (Apache 2.0) | No |
| Performance | ~5ms evaluate on server, <1ms via Edge | ~100ms evaluate without cache |
| Ease of setup | Medium (DevOps needed) | High (SaaS) |
Subscription savings when switching from LaunchDarkly are 50-70% for volumes over 10,000 flags, which in monetary terms means reducing costs from $2,000/month to $600-1,000/month. However, Unleash requires engineering hours for maintenance — on average 4 hours per month, at a rate of $100/hour adds $400/month in additional costs. Net savings can reach $1,000-1,600/month.
How we set up Unleash: step-by-step plan
- Infrastructure audit — assess current microservices, number of flags, latency requirements.
- Deploy server and database — set up Unleash + PostgreSQL in Kubernetes using Helm or Kustomize.
- Integrate SDK — connect clients (Node.js, Go, Python) to the server or Edge, configure tokens.
- Configure strategies — create custom strategies for canary, A/B, kill switch, import existing toggles.
- Monitoring and alerts — set up Grafana dashboards, alerts on SLO and MTTR, write runbook for incidents.
Why choose Unleash over LaunchDarkly?
Unleash is better than LaunchDarkly in scenarios where data control and cost are important. For volumes over 10,000 flags, subscription savings are 50-70%, but you pay with Ops time. Unleash is fully open-source — you can fork and customize. LaunchDarkly gives less infrastructure hassle but ties you to the cloud.
How to reduce flag evaluation latency?
Use Unleash Edge — a lightweight proxy that caches flags in memory. Edge can be placed in each Kubernetes namespace so SDKs connect locally. At 1,000,000 evaluates per hour, Edge reduces server load by 10x and guarantees latency <1ms.
What's included in turnkey Unleash setup
| Component | Result |
|---|---|
| Server deployment | Working Unleash in your cluster with PostgreSQL |
| SDK integration | Connection of one or more applications |
| Strategy configuration | Creation of custom strategies for canary, A/B, kill switch |
| Unleash Edge | Installation and configuration of Edge for low latency |
| Monitoring | Grafana dashboards and alerts on critical metrics |
How we ensure deployment reliability?
We use GitOps with ArgoCD, cover configuration with tests, and provide runbooks for incidents. Experience from 30+ projects helps avoid typical mistakes in RBAC, NetworkPolicy, and scaling. We guarantee stable operation: SLO 99.9% for the Unleash server.
Implementation timeline and how to order
Server deployment + basic SDK integration — from 1 day. Strategy configuration, Edge proxy, import of existing flags — from 1 to 2 days. Cost is calculated individually after an infrastructure audit.
Contact us for an audit of your project. Get a consultation on the optimal Unleash configuration. Order feature flag setup to speed up your release cycle. Write to us, we are always available.







