ConfigCat Feature Flags for Safe Zero-Downtime Deployment
You roll out a new feature, and it breaks production — a rollback via deployment takes 10-15 minutes, metrics drop, MTTR increases. Toggles solve this: disable the function with one switch in the UI. ConfigCat stands out because no flag request goes to the server during runtime — the SDK downloads the entire config and evaluates rules locally. This gives predictable latency (sub-millisecond) and independence from network issues. According to ConfigCat documentation, flag evaluation times are under 1 ms in 99.9% of cases.
In one project, we cut infrastructure costs by $14k–20k per year by disabling unused features. Developer time savings amounted to 400 person-hours per quarter, equivalent to $5.4k–7.8k. Aggregated across multiple services, the total savings can reach $18k–26k per year. It's an essential DevOps tool for feature management.
How the SDK works under the hood
import * as configcat from "configcat-node";
const client = configcat.getClient(
"YOUR_SDK_KEY",
configcat.PollingMode.AutoPoll,
{
pollIntervalSeconds: 60,
maxInitWaitTimeSeconds: 5,
}
);
const userObject = new configcat.User(
user.id,
user.email,
user.country,
{
plan: user.plan,
}
);
const isEnabled = await client.getValueAsync(
"new_onboarding_flow",
false,
userObject
);Thanks to local evaluation, even if the CDN is unavailable, the app continues working with the last cached config. Evaluation is a synchronous in-memory operation, no blocking. Flags update without restarting the app: AutoPoll mode polls the server every 60 seconds and swaps the config in the background. We use this approach in all integrations — it allows updating feature toggles without restarts, maintaining zero downtime.
What problems do we solve with ConfigCat?
Canary deployment without duplicating infrastructure. Roll out a new service version, enabling the flag for 10% of users. If metrics drop by more than 5%, disable the flag in under 5 minutes; no deployment needed. The platform paired with Prometheus/Grafana lets you automate rollback based on SLOs.
Feature blocking by region. For example, GDPR restrictions: disable a feature for EU users without touching code. One rule in the UI: Country IS DE → FALSE.
In-team testing. Enable a feature only for company employees by email domain — you get real production data without risk to users.
How ConfigCat integrates with GitOps
With GitOps (ArgoCD, Flux), flags are configured via a Kubernetes operator: you create a CustomResource with rules, the operator syncs them with the service. This gives versioning in Git, code review, and automated rollout — everything you expect from GitOps. Unlike LaunchDarkly, it doesn't require a constant connection to the server for flag evaluation, simplifying the architecture. GitOps toggles allow managing flags via Git, fitting perfectly into pipelines.
Comparison: ConfigCat vs Self-Made
Self-made flags mean an endpoint, database, cache, monitoring, and documentation. The platform provides 99.9% uptime (SLA), a UI for management, SDKs for 10+ programming languages, and built-in audit changes with 90-day trail. Time savings on development and maintenance: at least 40 hours per quarter, plus infrastructure cost reduction of up to 30%.
| Criterion | ConfigCat (SaaS) | Self-Made Solution |
|---|---|---|
| Time to launch | 1 day | 2–4 weeks |
| Evaluate latency | <1 ms (local) | Depends on DB/cache |
| Audit of changes | Built-in | Must be built |
| SLA | 99.9% | Your responsibility |
| Team training | 2–3 hours | 1–2 weeks |
ConfigCat deploys 5× faster than a self-made solution and ensures zero downtime when toggling flags. Zero-downtime migration is guaranteed: no flag goes to production without prior testing.
How to choose a rollout strategy
| Strategy | When to Use | ConfigCat Support |
|---|---|---|
| Percentage rollout | A/B tests, gradual rollouts | Deterministic by User ID |
| Targeting by attributes | Regional features, beta testers | Rules based on email, country, plan |
| Forced on/off | Emergency rollback, features for everyone | Instant change without code |
Example code for percentage rollout
const isEnabled = await client.getValueAsync( "new_onboarding_flow", false, new configcat.User(user.id) ); User ID is used for deterministic distribution: the same user always sees the same state.
What is GitOps with Feature Flags and how does it work?
GitOps applies Git principles to infrastructure and configuration management. With ConfigCat, you store flag definitions in YAML manifests; an operator syncs them with the cloud service. This gives a full audit trail and rollback capability via git revert. We successfully implemented this approach for a client with 20 microservices: rollout time went from 30 minutes down to 5.
Implementation process
- Analytics and design. Determine flags, targeting rules, user attribute schema.
- SDK setup. Integrate ConfigCat into microservices (Node.js, Go, Python, etc.) using AutoPoll mode.
- Configuration development. Create flagged implementations, cover critical path with tests.
- Testing. Verify behavior when toggling flags, load testing with CDN disabled.
- Deployment and monitoring. Roll out in canary, monitor SLOs (latency, error budget).
Our experience: 7+ years in DevOps, 50+ projects implementing feature flags and GitOps. Get a consultation — we will assess your project in one day and propose the optimal architecture.
Timelines and what's included
Setup for one service: 1 to 2 days. Full project (3–5 microservices with custom rules): 5 to 10 business days.
Deliverables:
- Working SDK code with fallback and error handling
- Documentation for all flags and rules
- Grafana dashboards for flag usage monitoring
- Team training (2–3 hours)
- Support during the first release with flags
Order ConfigCat integration: contact us to discuss details. ConfigCat is ideal for teams that need simple, reliable feature flags without operational overhead.







