Hide sidebar

System Design

Buidling your system design toolbox is key to mastering system design interviews and real-world distributed systems. This page provides an overview of essential technologies and tools used in system design, categorized by their primary functions. DeepSWE reccomends you learn at least one technology from each category with deep understanding to use in interviews, and have a broad understanding of the rest.

System Design Toolbox Overview

Load Balancing
Envoy Proxy
Envoy Proxy
Envoy Proxy
Modern, high-performance edge and service proxy designed for cloud-native applications.
NGINX
NGINX
NGINX
High-performance web server and reverse proxy that can act as a load balancer.
AWS Application Load Balancer
AWS Application Load Balancer
AWS Application Load Balancer
Layer 7 load balancer that makes routing decisions at the application layer.
AWS Elastic Load Balancer
AWS Elastic Load Balancer
AWS Elastic Load Balancer
Classic Layer 4 load balancer that operates at the transport layer.
Kubernetes
Kubernetes
Kubernetes
Container orchestration platform with built-in load balancing through Services.
Networking
HTTP/HTTPS
HTTP/HTTPS
HTTP/HTTPS
The foundational protocol of the web, supporting request-response communication.
gRPC
gRPC
gRPC
High-performance RPC framework using Protocol Buffers for microservice architectures.
GraphQL
GraphQL
GraphQL
Query language and runtime for APIs that allows clients to request exactly the data they need.
WebRTC
WebRTC
WebRTC
Real-time communication technology enabling peer-to-peer audio, video, and data sharing.
Content Delivery Networks
Cloudflare
Cloudflare
Cloudflare
Global cloud platform that provides CDN, DNS, DDoS protection, and security services.
AWS CloudFront
AWS CloudFront
AWS CloudFront
Amazon's global content delivery network service that securely delivers data with low latency.
Akamai
Akamai
Akamai
One of the world's largest CDN providers, delivering 15-30% of all web traffic.
Caching
Redis
Redis
Redis
In-memory data structure store used as a database, cache, and message broker.
Memcached
Memcached
Memcached
High-performance, distributed memory object caching system for dynamic web applications.
Message Queues
Apache Kafka
Apache Kafka
Apache Kafka
Distributed event streaming platform for high-throughput data pipelines and streaming analytics.
RabbitMQ
RabbitMQ
RabbitMQ
Open source message broker that implements AMQP protocol, providing reliable messaging.
Amazon SNS
Amazon SNS
Amazon SNS
Fully managed pub/sub messaging service for application integration and fan-out scenarios.
Streaming
Apache Spark
Apache Spark
Apache Spark
Unified analytics engine for large-scale data processing with built-in streaming modules.
Apache Flink
Apache Flink
Apache Flink
Framework for stateful computations over data streams, designed for true real-time processing.
Google BigQuery
Google BigQuery
Google BigQuery
Serverless, highly scalable data warehouse with built-in machine learning and real-time analytics.
Client Technologies
iOS
iOS
iOS
Apple's mobile operating system for iPhones and iPads.
Android
Android
Android
Google's mobile operating system for a wide range of devices.
Web
Web
Web
Accessed through a web browser on desktop or mobile devices.
SQL Databases
MySQL
MySQL
MySQL
Popular open-source relational database management system.
PostgreSQL
PostgreSQL
PostgreSQL
Advanced open-source relational database with strong standards compliance.
SQLite
SQLite
SQLite
Lightweight, file-based SQL database engine perfect for embedded applications.
NoSQL Databases
Apache Cassandra
Apache Cassandra
Apache Cassandra
Distributed NoSQL database designed for handling large amounts of data across many servers.
DynamoDB
DynamoDB
DynamoDB
Amazon's fully managed NoSQL database service with seamless scalability.
MongoDB
MongoDB
MongoDB
Document-oriented NoSQL database that stores data in flexible, JSON-like documents.
Elasticsearch
Elasticsearch
Elasticsearch
Distributed search and analytics engine built on Apache Lucene.
Blob Storage
Amazon S3
Amazon S3
Amazon S3
Object storage service offering industry-leading scalability, data availability, and security.
Azure Blob Storage
Azure Blob Storage
Azure Blob Storage
Microsoft's object storage solution for the cloud, optimized for storing massive amounts of unstructured data.
Google Cloud Storage
Google Cloud Storage
Google Cloud Storage
Unified object storage for developers and enterprises with worldwide edge caching.
API Gateway
AWS API Gateway
AWS API Gateway
AWS API Gateway
Fully managed service for creating, publishing, maintaining, monitoring, and securing APIs at scale.

Getting Started

Each category above represents a fundamental building block in system design. Click on any of the individual technology pages in the sidebar to dive deeper into specific tools, their use cases, and implementation details.

The technologies shown here are commonly used in production systems at scale and are frequently discussed in system design interviews. Understanding when and how to use each tool is crucial for designing robust, scalable distributed systems.