In this article we will assume we are the owner of an website which is deployed on a server. It currently has no end users. We will gradually scale it up to serve the millions of users.
Big picture: what “scale” means
Scaling = keeping the system usable as load (users, requests, data) grows.
That means:
- Performance (latency stays low)
- Throughput (system handles more requests/sec)
- Availability (uptime & resilience)
- Cost-efficiency (don't spend forever)
- Maintainability (you can change it safely)
We will manage these by making architecture choices and operational investments over time.
Single Server Setup
Initially everything runs on a single server. Journey of a thousand miles begins with a single step.
Let's understand the request flow in the single server setup:
As you can see from the diagram above:
- User enters the website name, such as the
www.example.com, The request goes to the Domain Name System (DNS) Server, which is a 3rd party server. It is known as the phonebook of the internet and has the mapping of thedomainnames and their corresponding serverIPaddress. - DNS Server returns the
IPaddress of the entereddomainname. For our case it return202.20.77. - Now we have the
IPaddress of the server. Then HTTP request are sent directly to the web server. - The web server handles the request and returns either HTML pages or JSON response.
Learn more about HTTP Request over here:
Leave a comment
Your email address will not be published. Required fields are marked *
