Single Server Setup | System Design Part - 1

With the increase in the data-centric world, it is vital in building a scalable system that can handle millions of users, Building such systems require vast knowledge in multiple areas. Any individual who aspired to learn about building scalable systems will be overwhelmed by tons and tons of articles over the internet.

But it is very important to understand or learn in a sequential manner rather than reading those topics in random.

In this SYSTEM DESIGN series, we will discuss each and every topic from the beginning and why those are being used in the first place and what challenges were faced, and how they were replaced by other concepts and tools over the period of time

Let's get started with a Single Server Setup, Even the big giants like Facebook, Amazon started their business with single server setup. 

Single servers are nothing but everything is running on the same server like the web app, database, cache, etc..,




Let's look at the above picture and try to understand the flow of the API calls that happens from the moment you click on a website till you see the page

  1. when we click on a website initially it will go to the Domain Name Service (DNS) which is a paid service provided by a third party and not hosted by the server.
  2. IP[Internet protocol] address is provided back to the web or mobile users, We can see IP address [25.123.56.36] is returned by the DNS 
  3. Once the IP address is obtained HTTP requests are sent directly to the webserver
  4. The webserver returns either HTML page or JSON response to render on the webpage


Now let's see what are the possible ways to get the traffic to the webserver, They are two ways those are either from the web application or mobile application

  • A web application is a combination of server-side languages like python, java used to handle business logic and client-side languages like HTML, JavaScript for displaying the content
  • Mobile applications use the HTTP protocol to communicate with the webserver, JavaScript Object Notation (JSON) is widely used for transferring data to and fro

This is a short glimpse of a single server setup, we will discuss databases and how scaling of web and data tiers are done in the up coming articles, stay tuned.

Comments

Popular posts from this blog

A complete guide to K-means clustering algorithm

What is Exploratory Data Analysis? | Part 1

COMPARABLE VS COMPARATOR