Designing Zoom | System Design (original) (raw)

Last Updated : 9 Apr, 2026

Creating an app like Zoom may seem simple to users, but it involves complex system design and large-scale engineering efforts. It requires careful planning to deliver seamless and reliable video conferencing services globally.

1. System Requirements

Identify all user needs and system expectations to design a reliable video calling platform.

1. Functional Requirements

Define the core features that users can interact with during calls.

2. Non-Functional Requirements

Define system qualities like performance, reliability, and user experience.

2. Capacity Estimation

Let's assume we have 1 billion users. Assuming 1 billion users with 100 million group video calls daily, the Zoom App needs to handle approximately 58,000 requests per second to provide a scalable backend.

3. High-Level Design

At the heart of Zoom’s success is its robust infrastructure, which includes key features like Zoom clients, distributed data centers, web infrastructure, and new technologies like HTTP tunnels Let’s explore how each feature has contributed to Zoom’s impressive growth and we have overcome the challenges.

high_level_design_of_zoom_system_design

HLD

Zoom Client

The Zoom client acts as a gateway for users to access virtual sessions. Its ease of use and easy integration across devices has made it a favorite of millions of users around the world. With the rise of remote work the Zoom client played a key role in ensuring seamless communication even in bandwidth restricted environments.

Distributed data centers

Zoom's distributed data centers form the backbone of its business, handling the processing and storage of large volumes of conference data This decentralized approach not only ensures scalability but drives reliability higher by the risk of termination. As demand increased, Zoom rapidly scaled its data center infrastructure to accommodate users, thus maintaining optimal performance.

Web design

The Zoom web design supports its client application, providing users with a consistent experience across browsers. This allows participants to seamlessly participate in sessions without having to download additional software. Due to increased demand, Zoom beefed up its network infrastructure to handle the increased traffic, providing unfettered access to its users worldwide .

HTTP Tunnel

To handle firewall and proxy restrictions, Zoom uses the HTTP tunneling mechanism, which binds Zoom traffic in HTTP requests and responses. This allows users to interact with Zoom sessions even in a limited web environment.

1. Data Flow in the zoom client happens

Explain how audio, video, and control data are captured, transmitted, processed, and rendered between users in real time.

data_flow_in_zoom_application

Data Flow

TCP

In TCP, everything is in the form of packets. Information packets are sent from client to server.

Here in our case, TCP is bad suggestion for Zoom.

why

Then, the other best option we have is UDP

UDP

UDP is also a Transport Layer Protocol like TCP. They run at the same layer but they are functionally different. It is an lossy protocol.

user_datagram_protocol

UDP

**Working

Imagine we have a client and it want to send information to server. UDP keeps on sending irrespective to the payload of whether the server is receiving it or not.

**Example:

we have packets P1, P2, P3 to send. The client sent P1 and the server received it. Client sends P2, suppose server has not received P2 due to congestion or packet loss or anything, the client doesn't send P2 again it moves to P3 and suppose server got P3.

TCP Vs UDP

Understand the trade-offs between reliability and speed when choosing protocols for system design.

Drawbacks of UDP

Explain the limitations of UDP when reliability is required in data transmission.

**Note: We will be using TCP for all the communication between a client and a server which does not involve video transfer. Only the video transferring happens then that would happen on UDP.

4. Low-Level Design

Let us now discuss about the low-level design of zoom system design.

6

LLD

The explanation of the above low-level design image:

When a user, let's say U1, wants to start a call with another user, U2, the process involves several backend components working together seamlessly.

1. WebSocket Handler

Handles real-time communication by maintaining persistent connections with clients.

2. WebSocket Manager

Manages mapping and routing between users and WebSocket handler instances.

3. Signalling Service

Coordinates call setup, control, and communication between users.

4. User Service

Manages user data, authentication, and access control.

5. Connector (STUN Server)

Helps users discover public IPs and establish peer-to-peer connections.

6. Handshake for Connection Details

Exchanges connection parameters between users before establishing a call.

7. Establishing Peer-to-Peer Connection

Creates a direct connection between users for real-time communication.

8. Fallback to TURN Server

Provides a backup mechanism when peer-to-peer connection fails.

9. Handling Bandwidth Changes

Manages dynamic network conditions during ongoing calls.

Important Scenarios

Highlight key real-world scenarios to ensure the system handles different use cases efficiently and at scale.

**Group Conversations:
Explain how the system adapts communication strategies based on group size and network conditions.

**Recording:
Describe how call data is captured, stored, and made accessible to users.

**Live Video:
Explain how real-time audio/video streaming is processed and delivered efficiently.

5. Microservices used

Zoom's structure has user management service, meeting scheduler service, video streaming services, chat services, record management services, notification services and so on. Some of them are mentioned below:

6. API Design

Define clear and efficient endpoints for communication between clients and services, ensuring scalability, security, and ease of integration.

api_design_of_zoom_system_design

API Design

Zoom API provides these set of endpoints:

7. Database Design

Define how data is structured, stored, and accessed efficiently to support scalability, consistency, and high performance.

dim_month

Database Design

Zoom uses public clouds like AWS o host metadata of meetings, web applications and other services. It uses AWS for real-time traffic. For educational users zoom expands to Oracle Cloud.

In this Design:

8. Handling Scalability

Design the system to efficiently support growing users, traffic, and data without degrading performance.