3.3 Specific Technologies

While principles and patterns are universal, a good system designer is also aware of the concrete tools and platforms used to implement those patterns. For an L5 interview, you're not expected to be an expert in every technology, but you should be able to name relevant services and understand their role. This section gives a high-level overview of common platforms and services.

We'll cover:

  • 3.3.a Cloud Platforms (AWS, GCP, Azure)
  • 3.3.b Message Brokers (Kafka vs. RabbitMQ)

3.3.a Cloud Platforms (AWS, GCP, Azure)

Modern system design is overwhelmingly done on cloud platforms. They provide the fundamental building blocks as managed services, which handles much of the underlying complexity of scaling, reliability, and maintenance. Being familiar with the major services on at least one major cloud provider (AWS is a common one to know) is highly beneficial.

Below is a mapping of common system design components to their managed service equivalents on the three major cloud platforms.

CategoryAWS (Amazon Web Services)GCP (Google Cloud Platform)Azure (Microsoft Azure)
Compute (VMs)EC2 (Elastic Compute Cloud)Compute EngineVirtual Machines
ContainersECS / EKS (Kubernetes)GKE (Kubernetes Engine)AKS (Kubernetes Service)
Serverless ComputeLambdaCloud FunctionsAzure Functions
Object StorageS3 (Simple Storage Service)Cloud StorageBlob Storage
Relational DBRDS (Relational DB Service)Cloud SQLAzure SQL Database
NoSQL (Key-Value)DynamoDBFirestore / BigtableCosmos DB
In-Memory CacheElastiCache (Redis/Memcached)Memorystore (Redis/Memcached)Azure Cache for Redis
Load BalancingELB (ALB, NLB, GWLB)Cloud Load BalancingAzure Load Balancer
Message QueueSQS (Simple Queue Service)Cloud Pub/SubAzure Service Bus
Streaming PlatformKinesisDataflow / Cloud Pub/SubAzure Event Hubs
API GatewayAPI GatewayAPI Gateway / ApigeeAPI Management
CDNCloudFrontCloud CDNAzure CDN
DNSRoute 53Cloud DNSAzure DNS
Identity/AuthIAM / CognitoCloud Identity / IAMAzure Active Directory
Key ManagementKMS (Key Management Service)Cloud KMSAzure Key Vault

Summary for an Interview

  • You don't need to know them all. Pick one platform (AWS is a very common choice) and become comfortable with its core services.
  • Use managed services in your design. Instead of just saying "we'll use a relational database," you can say, "we'll use a managed relational database like AWS RDS. This handles replication, backups, and patching for us, improving our operational posture."
  • Show you understand the value. Mentioning managed services shows that you are thinking about the practical aspects of building and operating a system, not just the abstract design. It demonstrates an awareness of reducing operational complexity, which is a key engineering consideration.
Advertisement