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:
- Free solutions are great to start with, but not very customizable.
- Paid solutions are usually more reliable and powerful than free ones.
- Managed tools are pay-as-you-go, but require dev effort to integrate.
- Open-source solutions are highly customizable but require significant dev effort.
Choose as per your requirements!
Databases
| No. | Type | Free Solution | Paid Solution | Managed Tool | Open Source |
|---|---|---|---|---|---|
| 1. | SQL database | - | Oracle, Snowflake | RDS | Postgres, MySQL |
| 2. | NoSQL database | Google Firestore | Snowflake, Couchbase | DynamoDB | MongoDB, Cassandra |
| 3. | Cache | - | Redis | ElastiCache | Redis, Memcached |
| 4. | Time Series Database | - | Timestream | - | InfluxDB |
| 5. | Distributed File System | Google Drive | S3 | - | Ceph, GlusterFS |
| 6. | Text Search Engine | Google Search | Couchbase | OpenSearch | ElasticSearch, Postgres |
| 7. | Graph Databases | - | - | Neptune | Neo4j |
Request Flow
| No. | Type | Free Solution | Paid Solution | Managed Tool | Open Source |
|---|---|---|---|---|---|
| 1. | Content Delivery Network | Google Firebase | Akamai, Cloudflare | CloudFront | - |
| 2. | Load Balancer | - | Cloudflare | Elastic Load Balancer | HAProxy, Nginx |
| 3. | Authorization | Google Firebase | Okta | Cognito | Zanzibar |
| 4. | Message Queue | - | - | Simple Queue Service | Kafka |
| 5. | Logging | - | Datadog | CloudWatch | OpenTelemetry, Logstash |
| 6. | Monitoring | Google Analytics, Clarity | Datadog | Cloudwatch | ElasticSearch, Grafana |
| 7. | Alerting | - | PagerDuty | Cloudwatch | Prometheus |
Infrastructure
| No. | Type | Paid Solution | Managed Tool | Open Source |
|---|---|---|---|---|
| 1. | Cluster Management | Serverless | EC2 Container Service | Zookeeper, Kubernetes |
| 2. | Workflow Management | ServiceNow, Zoho | Simple Workflow Service | Airflow |
| 3. | Service Mesh | App Mesh | - | Istio, Envoy |
| 4. | Distributed Transactions | - | DynamoDB | Zookeeper |
Email and SMS
| No. | Type | Paid Solution | Managed Tool | Open Source |
|---|---|---|---|---|
| 1. | Emailing Engine | Zoho, Mailchimp | Simple Email Service | ListMonk |
| 2. | SMS and Phone Calls | Twilio | Simple Notification Service | - |
Data Analytics
| No. | Type | Free Solution | Paid Solution | Managed Tool | Open Source |
|---|---|---|---|---|---|
| 1. | Database Replication | - | Oracle GoldenGate | Database Migration Service | Debezium, Liquibase |
| 2. | Media Processing | YouTube | Vimeo | AWS Thinkbox | FFMPEG |
| 3. | Data Processing (Batch) | - | Databricks | Elastic Map Reduce, Athena | Spark |
| 4. | Data Processing (Real-Time) | - | Databricks | Kinesis | Storm, Spark |
| 5. | Machine Learning Engine | DataBricks | SageMaker | ||
| 6. | Business Dashboards | Google Looker Studio | PowerBI, Tableau | - | Grafana |
Developer Tools
| No. | Type | Free Solution | Paid Solution | Managed Tool | Open Source |
|---|---|---|---|---|---|
| 1. | Testing Tools | - | BrowserStack | Device Farm | Cypress |
| 2. | Code Reviews | Github | SonarCloud | AWS Codeguru | SonarQube |
| 3. | Inter-Service Contracts | Thrift | - | - | gRPC |
Misc
- UDP, TCP, HTTP, Websockets or SSE?
- REST or GraphQL?
- SQL or NoSQL?.
- Monoliths or Microservices?.
- 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!