DEV Community

Bhavya Kaushik
Bhavya Kaushik

Posted on

Single Server Setup: Basics of System Design

Designing a system can look very daunting at first.

But it all starts with a small step.

So, while designing a system, we start off with a very simple approach where the system has only one server. Hence, called Single Server Setup.

A single server setup involves running your entire application stack (web server, database, application logic, etc.) on a single physical or virtual machine. It's straightforward, cost-effective, and perfect for startups or small projects where simplicity and budget are key.

Understanding the diagram

Client Server Architecture

  1. Let's say you are a user, who wants to extract some examples of pet animals from www.example.com.
  2. When you access this website through domain name (www.example.com), the web hosting company who is providing Domain Name System (DNS) service to this website will give you an IP address (e.g., 69.89.31.226).
  3. As the IP address is provided, an HTTP (HyperText Transfer Protocol) request is sent to the web server.
  4. The web server will process the request and send the desired output in the form of HTML page or JSON response to your browser. That response is rendered by your web browser and you will be able to see the examples of pet animals.

Like you, many users must be accessing this website. So there are two main sources of traffic that can come to the server:

  • Web application: This is accessed through a desktop device. Web application combines server-side logic (handling business processes and database communication) with client-side rendering (displaying content in browsers using HTML, CSS, and JavaScript). Together, they create interactive experiences accessible via web browsers.
  • Mobile application: This is accessed through a mobile device. Mobile apps communicate with the web server through HTTP protocol. As JSON is a very lightweight API response format, it is used to send data from the server.

To conclude, there are many components that we are going to discuss in the system design that will extend this architecture.

Top comments (0)