HLD (distributed system)

The HLD (high-level diagram) in a distributed system is a high-level visualization of the underlying components that needs to be connected with first-party and third-party systems in order to make the distributed system operational.

High-level design is not too specific like a low-level design, to develop HLD, solution architects work with system designers to develop systems based on the client-provided functional requirements.

Business Requirement Documents, system requirements specification documents, and technical requirements specifications documents are analyzed by the project managers, solution architects, and system designers to render High-level designs which needs to be baselined by the project Manager and the project sponsors to move further.

The HLD is a vital part of SDLC and baselining HLD during the requirements analysis and design phase is mandatory, if the HLD is not baselined then the project may have a loose structure, and design integration issues will arise.

 It is very important to complete the requirements analysis phase and sign it off before moving to the design phase as the client may raise concerns regarding the designs and that will cost money, so it is better to deeply understand the documentation of the requirement analysis phase and then move to the design phase, as cost of designing can be at par with the cost of development.

In system design, HLD has a lot of components that need to be integrated and all of these components have a certain set of costs associated with it that needs to be calculated beforehand via a process called capacity planning.

Capacity planning is a process in which the whole system is planned and then based on the system resources utilization and capacity requirement, Capacity planning is done to ensure the cost, microservices listing, read-to-write ratio, load data, API details, and server provisioning to develop a scalable, robust, and secure distributed system.

HLD of a major software will include the following set of components, these components will be connected via 3rd party APIs, servers, and micro services, both the 1 St party connection and the 3 Rd party connection need to be laid out clearly in the HLD so that solution architect, project manager, development team, design team, testing team, project sponsors have a clear idea of high-level implementation of the software project.

HLD’s major components are :

All the above-mentioned components will be required if you are developing an infra like Facebook, Google, etc because all these components are the core components of high-level design for a scalable distributed systems.

The article above is rendered by integrating outputs of 1 HUMAN AGENT & 3 AI AGENTS, an amalgamation of HGI and AI to serve technology education globally.

(Article By : Himanshu N)