System Design Components Cheatsheet

This is a table of system design components and their corresponding example technologies. This table comes in handy during interviews and team discussions.

Here are some example technologies for system design components. These tables come in handy during interviews and team discussions.

You can decide among these tools based on tradeoffs:

  1. Free solutions are great to start with, but not very customizable.
  2. Paid solutions are usually more reliable and powerful than free ones.
  3. Managed tools are pay-as-you-go, but require dev effort to integrate.
  4. Open-source solutions are highly customizable but require significant dev effort.

Choose as per your requirements!

Databases

No.TypeFree SolutionPaid SolutionManaged ToolOpen Source
1.SQL database-Oracle, SnowflakeRDSPostgres, MySQL
2.NoSQL databaseGoogle FirestoreSnowflake, CouchbaseDynamoDBMongoDB, Cassandra
3.Cache-RedisElastiCacheRedis, Memcached
4.Time Series Database-Timestream-InfluxDB
5.Distributed File SystemGoogle DriveS3-Ceph, GlusterFS
6.Text Search EngineGoogle SearchCouchbaseOpenSearchElasticSearch, Postgres
7.Graph Databases--NeptuneNeo4j

Request Flow

Infrastructure

No.TypePaid SolutionManaged ToolOpen Source
1.Cluster ManagementServerlessEC2 Container ServiceZookeeper, Kubernetes
2.Workflow ManagementServiceNow, ZohoSimple Workflow ServiceAirflow
3.Service MeshApp Mesh-Istio, Envoy
4.Distributed Transactions-DynamoDBZookeeper

Email and SMS

No.TypePaid SolutionManaged ToolOpen Source
1.Emailing EngineZoho, MailchimpSimple Email ServiceListMonk
2.SMS and Phone CallsTwilioSimple Notification Service-

Data Analytics

No.TypeFree SolutionPaid SolutionManaged ToolOpen Source
1.Database Replication-Oracle GoldenGateDatabase Migration ServiceDebezium, Liquibase
2.Media ProcessingYouTubeVimeoAWS ThinkboxFFMPEG
3.Data Processing (Batch)-DatabricksElastic Map Reduce, AthenaSpark
4.Data Processing (Real-Time)-DatabricksKinesisStorm, Spark
5.Machine Learning EngineDataBricksSageMaker
6.Business DashboardsGoogle Looker StudioPowerBI, Tableau-Grafana

Developer Tools

No.TypeFree SolutionPaid SolutionManaged ToolOpen Source
1.Testing Tools-BrowserStackDevice FarmCypress
2.Code ReviewsGithubSonarCloudAWS CodeguruSonarQube
3.Inter-Service ContractsThrift--gRPC

Misc

  1. UDP, TCP, HTTP, Websockets or SSE?
  2. REST or GraphQL?
  3. SQL or NoSQL?.
  4. Monoliths or Microservices?.
  5. Migrating from monoliths to microservices.

I have made this table to come in handy when designing a new system (where engineers make one of many technology choices), and during interviews (where a choice is made and subsequently justified). All the best!

Start Preparing for your Dream Job today!

The most comprehensive Interview prep platform ever built

Start Prep