Problem statement
Design a platform service that lets product and engineering teams toggle features and push runtime configuration to a large fleet of applications without a redeploy. A flag can be a simple on/off, a percentage rollout, or a targeted rule ("on for internal accounts and users in the EU beta"). Client applications ask the service, in effect, "for this evaluation context, what value should flag X have right now?" — and the answer must arrive fast and stay fresh as operators change rules.
Operating context. Roughly 20,000 application instances (backend services, mobile apps, and browser SDKs) each evaluate flags on nearly every request, so evaluation demand is on the order of 500,000 evaluations/sec globally at peak, spread across regions. The authoring side is tiny by comparison: a few hundred operators making at most a few writes/sec, but a single edit — especially a kill-switch that disables a broken feature — must reach the whole fleet within a couple of seconds. There are ~50,000 distinct flags across ~2,000 projects; the full ruleset a client needs is a few MB. Reads dominate writes by roughly 100,000:1.
Out of scope. The authoring web UI and its form validation, the experimentation/A-B statistics engine that decides whether a rollout "won", per-flag billing and quota metering, and the identity system that authenticates operators. Assume separate teams own those.
What to produce. A high-level architecture covering: the components and the request paths for authoring a flag/rule and for a client evaluating flags; the flag/rule data model and how you partition it; where evaluation actually happens (thick client SDK holding a local ruleset vs. a thin call to an edge/evaluation tier) and the latency trade-off; how percentage rollouts stay stable for a given user (so the same user doesn't flip between requests); how a change — especially a kill-switch — streams out to 20,000 clients within seconds; the consistency model you promise (and what a client sees during a change); and the audit trail for who changed what. Sketch the major components and the flow between them; we probe specifics in checkpoints.
Requirements
This assessment is a Premium feature.
The statement above is free to read. The functional and non-functional requirements, and the graded canvas that scores your design against them, come with Premium.
Topics
- System Design HLD
- Scaling Read-Heavy
- Consistency Eventual
- Realtime Websocket
- Data Cache