Building Better Software: An Introduction to System Design
Before diving into the world of SYSTEM DESIGN, let us first understand:
What is a System?
What is Design?
A System is an architecture or combination of different architechtures that is built for a certain set of people in order to fulfill certain set of requirements.
While, Designing a system is a process of choosing right set of components by understanding the needs and requirements of the user. It is a way through which we can make our system more effective and sustainable.
And the whole process of understanding the need of the user and deciding what should be the right components for fulfilling those requirements is called as SYSTEM DESIGN.
For Example - We use components like brick, cement and sand etc in order to build a building regardless of whether that building is a skyscrapper or duplex. Here these components are the basic building block of any building.
Similarly, In the software world, we use servers, databases, frameworks and tech stacks in order to build a software. And theser are the basic components which we use to make a software whether It be a simple one page static website build for developer portfolio or a streamling website like Netflix.