Essential Terminology for System Design Interviews: 20 Key Concepts Explained

Essential Terminology for System Design Interviews: 20 Key Concepts Explained

Table of contents

No heading

No headings in the article.

  1. Scalability: The ability of a system to handle increasing amounts of workload or user traffic by adding more resources or nodes.

  2. Availability: The measure of how accessible and operational a system is, typically expressed as a percentage of uptime.

  3. Reliability: The ability of a system to consistently perform its intended functions without failures or errors.

  4. Latency: The time delay between initiating a request and receiving a response, often used to measure the responsiveness of a system.

  5. Throughput: The rate at which a system can process and handle a certain amount of workload or data within a given timeframe.

  6. Load balancing: Distributing incoming network traffic across multiple servers or resources to optimize resource utilization and improve performance.

  7. Caching: Storing frequently accessed data in a temporary storage location (cache) to reduce the response time and improve system performance.

  8. Sharding: Splitting a large database or dataset into smaller, more manageable parts (shards) to distribute the workload and improve scalability.

  9. Database replication: Creating multiple copies (replicas) of a database to ensure high availability, fault tolerance, and read scalability.

  10. Partitioning: Dividing a database or dataset based on specific criteria, such as ranges of values or hash values, to enable efficient data retrieval and storage.

  11. Consistency: Ensuring that all copies of data in a distributed system are in sync and up-to-date, often achieved through techniques like eventual consistency or strong consistency.

  12. Message queue: A component or system that enables asynchronous communication and decouples the sender and receiver by storing messages until they are processed.

  13. Microservices: An architectural style that structures an application as a collection of small, loosely coupled, and independently deployable services.

  14. API (Application Programming Interface): A set of rules and protocols that allows different software applications to communicate and interact with each other.

  15. Fault tolerance: The ability of a system to continue functioning properly even in the presence of faults, failures, or errors.

  16. Horizontal scaling: Adding more machines or nodes to distribute the workload across multiple servers, often achieved by using load balancers.

  17. Vertical scaling: Increasing the resources (e.g., CPU, RAM) of a single machine to handle the increased workload or user traffic.

  18. CAP theorem: Stating that in a distributed system, it is impossible to simultaneously guarantee consistency, availability, and partition tolerance.

  19. CDN (Content Delivery Network): A network of geographically distributed servers that cache and deliver content to users based on their location, reducing latency and improving performance.

  20. Disaster recovery: Planning and implementing strategies to recover a system or data after a catastrophic event or failure.

TermAzure ServiceAWS Service
ScalabilityAzure AutoscaleAWS Auto Scaling
AvailabilityAzure Availability ZonesAWS Availability Zones
ReliabilityAzure Service Level Agreements (SLAs)AWS Service Level Agreements (SLAs)
LatencyAzure Traffic ManagerAWS Global Accelerator
ThroughputAzure Load BalancerAWS Elastic Load Balancer
Load balancingAzure Traffic ManagerAWS Elastic Load Balancer
CachingAzure Redis CacheAWS ElastiCache
ShardingAzure Cosmos DBAWS DynamoDB
Database replicationAzure Cosmos DBAWS RDS Multi-AZ
PartitioningAzure Cosmos DBAWS DynamoDB
ConsistencyAzure Cosmos DBAWS DynamoDB
Message queueAzure Service BusAWS Simple Queue Service (SQS)
MicroservicesAzure Service FabricAWS Elastic Beanstalk
APIAzure API ManagementAWS API Gateway
Fault toleranceAzure Availability SetsAWS Auto Scaling Groups
Horizontal scalingAzure Virtual Machine Scale SetsAWS Auto Scaling Groups
Vertical scalingAzure Virtual MachinesAWS Elastic Compute Cloud (EC2)
CAP theoremAzure Cosmos DBAWS DynamoDB
CDNAzure Content Delivery Network (CDN)AWS CloudFront
Disaster recoveryAzure Site RecoveryAWS Disaster Recovery

Please note that this table provides a general mapping between the terms and the respective services in Azure and AWS. It's important to refer to the official documentation of each cloud provider for detailed information on these services and their capabilities.