Member-only story

Building blocks of a Software System Design

Prateek Nima
5 min readFeb 27, 2023

--

Photo by Alvaro Reyes on Unsplash

Nowadays, to build a good distributed system, it is necessary to utilize multiple services which combined together help us to deploy software that can be accessed over the network. It is necessary to choose the correct building blocks and this primarily depends on the requirements which are mainly categorized into functional and non-functional requirements. The overall process of combining the building blocks is known as System Design in the world of software development and helps us to design a system that enables us to handle millions of user requests.

The following are the building blocks of a system design:

Domain Name System(DNS):

As per Wikipedia,

The Domain Name System is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol networks. It associates various information with domain names assigned to each of the associated entities.

This building block focuses on how to design hierarchical and distributed DNS for the computers connected over the internet.

Databases:

--

--

Prateek Nima
Prateek Nima

No responses yet