Component catalog
Every box you can drop on the canvas of the System Design Playground has an entry in this catalog: what it is, when to use it and when not to, key numbers, failure modes, how it behaves in the playground, real products on AWS, GCP, Azure and in open source, and a one-liner you can say in the interview. The simulator's "learn more" links land on these entries.
The palette has 49 components in 10 categories. They follow a request from left to right: a client reaches the edge, the edge forwards to compute, compute is packaged and scaled in containers (on a Kubernetes cluster), compute reads and writes storage and publishes to messaging, everything is watched by observability, laid out inside a network, and some requests go to AI components or to external providers.
flowchart LR
CL[Client] --> ED[Traffic & Edge]
ED --> CO[Compute]
CO --> ST[Storage]
CO --> MS[Messaging]
CT[Containers: microservices, Kubernetes] -.runs.-> CO
MS --> CO
CO --> AI[AI & Agents]
CO --> EX[External]
OB[Observability] -.watches.-> ED
OB -.watches.-> CO
OB -.watches.-> ST
NW[Network: VPC, subnets, NAT, VPN, mesh] -.contains.-> CO Categories
| Category | What it answers | Components | Main classes |
|---|---|---|---|
| Client | Who sends the traffic, and how? | 2 | Intro, Edge › Protocols |
| Traffic & Edge | How does a request find us and get in safely? | 6 | Edge |
| Compute | Where does the code run, and how does it scale? | 8 | Compute |
| Containers | How do we package, deploy and scale independent services? | 4 | Cloud-native, Compute › Services |
| Storage | Where does the data live, and how fast can we read it? | 7 | Databases, Caching |
| Messaging | How do services talk without waiting for each other? | 4 | Messaging |
| Observability | How do we know what is happening? | 5 | Observability |
| Network | Who can talk to whom? | 5 | Network & security |
| AI & Agents | How do we put an LLM in production safely? | 5 | AI systems |
| External | How do we depend on services we don't run? | 3 | Compute › Integrations |
All components
| Id | Component | Category | In one line |
|---|---|---|---|
client | Client | Client | A browser or program that sends requests; generates the load |
mobile | Mobile | Client | A mobile app: flaky networks, offline use, slow updates |
dns | DNS | Traffic & Edge | Names to IP addresses; geo, weighted and failover routing |
cdn | CDN | Traffic & Edge | Caches content near users; offloads the origin |
lb | Load Balancer | Traffic & Edge | Spreads requests over healthy replicas (L4/L7) |
waf | WAF | Traffic & Edge | Filters malicious HTTP traffic and bots |
apigw | API Gateway | Traffic & Edge | Front door of the API: auth, rate limiting, routing |
ingress | Ingress | Traffic & Edge | Routes external HTTP traffic into a Kubernetes cluster |
app | App Server | Compute | Stateless service replicas that run the business logic |
worker | Worker | Compute | Background processes that drain queues |
serverless | Serverless | Compute | Functions that scale per request, with cold starts and limits |
auth | Auth Service | Compute | Authenticates users and issues tokens (OIDC/JWT) |
search | Search | Compute | Full-text and faceted search over an inverted index |
scheduler | Scheduler | Compute | Runs jobs on a schedule (cron) exactly when they should |
notifications | Notifications | Compute | Sends email, push and SMS through providers, asynchronously |
analytics | Analytics | Compute | Collects and aggregates events for reports and dashboards |
microservice | Microservice | Containers | One bounded context, deployed and scaled independently, with its own database |
container | Container | Containers | A process packaged in an image; CPU limit and start-up time set its capacity |
k8s | Kubernetes Cluster | Containers | Worker nodes that run services as pods; Pending pods, node failures, cluster autoscaler |
registry | Service Registry | Containers | Service discovery: callers find healthy replicas and drop dead ones in seconds |
sql | SQL Database | Storage | Relational data with transactions; the source of truth |
dbcluster | DB Cluster | Storage | Replicated, optionally sharded database with automatic failover |
nosql | NoSQL DB | Storage | Key-value, document or wide-column stores that partition horizontally |
cache | Cache | Storage | In-memory copies of hot data (Redis); cuts latency and DB load |
objstore | Object Store | Storage | Cheap, durable storage for files and media (S3-like) |
dwh | Data Warehouse | Storage | Columnar store for analytical queries over history |
vectordb | Vector DB | Storage | Nearest-neighbor search over embeddings (RAG) |
queue | Message Queue | Messaging | Each message to one consumer; absorbs spikes |
pubsub | Pub/Sub | Messaging | Each message to every subscriber; fan-out |
stream | Event Stream | Messaging | Ordered, retained, partitioned log of events |
kafka | Kafka | Messaging | The reference event-streaming platform: topics, partitions, consumer groups |
metrics | Metrics | Observability | Numeric time series: RED, USE, SLIs |
logs | Logs | Observability | Structured records of events, linked by trace id |
tracing | Tracing | Observability | One request across services, as a waterfall of spans |
alerting | Alerting | Observability | Pages humans on SLO burn, not on CPU |
healthcheck | Health Check | Observability | Liveness and readiness probes for LBs and orchestrators |
vpc | VPC | Network | Your private, isolated network in a region |
subnet | Subnet | Network | Public or private slice of a VPC in one zone |
nat | NAT Gateway | Network | Outbound internet for private services |
vpn | VPN | Network | Encrypted tunnel between networks |
mesh | Service Mesh | Network | mTLS, retries, timeouts and telemetry between services |
llmgw | LLM Gateway | AI & Agents | One front door to model providers: routing, fallbacks, budgets, caching |
orchestrator | Orchestrator | AI & Agents | Runs the agent loop of model and tool calls |
toolreg | Tool Registry | AI & Agents | Catalog of tools the model may call (MCP), with permissions |
memory | Memory Fabric | AI & Agents | Retrieval (RAG) and conversation memory |
safety | Safety Mesh | AI & Agents | Guardrails on inputs, outputs and tool calls |
thirdparty | 3rd Party API | External | Someone else's API: slow, rate-limited, sometimes down |
payment | Payment | External | Payment provider: idempotency, webhooks, reconciliation |
email | External | Email delivery provider, always behind a queue |
How to read an entry
Use the catalog three ways
- While designing in the playground: click a node, then "learn more" to see its parameters and failure modes.
- Before an interview: read only the In the interview box of each component, out loud; then the quick reference.
- While studying a class: each entry links back to the class pages and to the scenarios where the component matters.
Numbers in the catalog are either well-known published values (with the source named) or clearly marked ≈ illustrative — orders of magnitude to reason with, not benchmarks. Prices are approximate list prices from 2026: always check the providers' calculators. For the full set of numbers, see the numbers cheat sheet; for definitions, the glossary.