system-design

Tools of the Trade

A quick-reference map of the real technologies behind the abstract building blocks in this repo. When a case study says “use a cache” or “use a message queue,” these are the actual tools people reach for. Knowing the names — and roughly when to pick each — makes your designs concrete and your interviews credible.

Time to read: ~10 minutes; a reference to return to


Why know the tools

🚨 You design with abstractions (“a cache,” “a queue”), but naming real tools shows you know the landscape“I’d use Redis for the cache and Kafka for the event log” is more credible than staying purely abstract. Caveat: don’t name-drop tools you can’t discuss. Know roughly what each is and when you’d choose it; depth beats breadth. This is a map, not a memorization task.


The landscape, by building block

Databases (relational / SQL)

NoSQL

Caching

Message queues / streaming

Object storage & CDN

Stream / batch processing

Time-series & metrics

Coordination / config

Load balancing / gateway / proxy

Containers, orchestration, infra

Observability


A cheat-map: “when a case study says X, reach for…”

Abstraction Common real tools
Cache Redis, Memcached
Relational DB PostgreSQL, MySQL, Aurora
Scalable NoSQL Cassandra, DynamoDB, MongoDB
Message queue / log Kafka, RabbitMQ, SQS, Pub/Sub
Full-text search Elasticsearch, Algolia
Object storage S3, GCS
CDN Cloudflare, CloudFront
Stream processing Flink, Spark, Kafka Streams
Coordination ZooKeeper, etcd
Metrics / dashboards Prometheus, Grafana
Orchestration Kubernetes, Docker

🚨 A caution on tools


🛠️ Try it

1. Fill the cheat-map from memory. Cover the right column and name two real tools for each abstraction. The gaps are what to read up on.

2. Justify one tool per building block. For Redis, Kafka, Postgres, S3, and Elasticsearch, write one sentence on when you’d choose it and why. That justification is what interviews want.

3. Get hands-on with one. Spin up Redis or Postgres locally (or Kafka via Docker) and use it in a build-it project. Using a tool once beats reading about it ten times.


Further reading