Back to Thinking Lab
ArchitectureScale

Introduction to System Design

Secondframe Team2 min read

System design is the process of defining the architecture, interfaces, and data for a system that satisfies specific requirements. When designing systems at scale, we must move away from single-server setups and address scalability, availability, and reliability.

1. Vertical vs. Horizontal Scaling

When traffic grows, we have two primary options for scaling our infrastructure:

  • Vertical Scaling (Scale Up): Adding more power (CPU, RAM, disk space) to an existing server. While simple to implement, it has a hard hardware ceiling and does not solve the Single Point of Failure (SPOF) problem.
  • Horizontal Scaling (Scale Out): Adding more servers to our pool of resources. This is highly scalable and fault-tolerant but requires distributed system management and database consistency controls.

2. Load Balancing

To distribute client traffic across multiple horizontal servers, we introduce a Load Balancer.

Load balancers distribute user requests among a pool of application servers using routing algorithms:

  1. Round Robin: Sequentially routes requests (Server A -> Server B -> Server C).
  2. Least Connections: Routes to the server handling the fewest active connections.
  3. IP Hash: Hashes the client's IP to assign them to a specific server (useful for session stickiness).

3. Eliminating Single Points of Failure (SPOF)

A Single Point of Failure is any part of a system that, if it fails, will stop the entire system from working. We eliminate SPOFs by introducing Redundancy:

  • Running multiple active servers behind a load balancer.
  • Implementing Database Replication (Primary-Replica setups) to prevent data loss.
  • Using failover systems to automatically promote a standby resource if the active resource crashes.

Secondframe Team

Systems Engineering Research

Building the future of technical hiring. We design interactive sandbox environments that evaluate engineering judgment, systems thinking, and operational blast radius under pressure.