Ramlal’s Problem — Understanding System Design

Let’s take an example of a cloth shop.

Suppose Ramlal, has a small cloth shop, named, Ramlal and Daughters.

In his shop, Ramlal sells shirts, pants, sarees and so much more.

Ramlal is alone and handles all the workload by himself.

So, basically, Ramlal gets the orders from the different warehouses and publications, arranges them in the shop, advertises his business, attends to the customers, displays his products to the customer, on a successful sale, he also manages and keeps track of transactions.

One day Ramlal fell sick and didn’t go to his shop. The customers were lining up, but Ramlal couldn’t open the shop. This acted as a single point of failure, and the business wasn’t fault tolerant.

Ramlal was then advised, that he needed help, and in this way, his health and business would both suffer.

So Ramlal decided to take help from Aman. Aman took it upon himself, to solve Ramlal’s problems.

Let’s see, how Aman solved Ramlal’s problem:

No Automation or App Existed for Ramlal’s Shop
So, the first thing that Aman suggested was to create an application for Ramlal’s shop. The application would make it possible for Ramlal to reach out to a wider range of audiences, and cater to more than the local audience. It would also for faster and more secure processing, tracking, and execution of orders.

Features in the new App
The new app had an admin mode and a user mode. In the admin mode, the user could track the supply and the stock of his clothes, the demand, the footfall of the audience, how many orders were executed, how many customers were satisfied, employee profiles, partner shops and warehouses, all of this at a singular truth.
In the user (customer mode), the user could see their profile, browse through the clothes catalog, drop cloths in the cart, view their previous purchases, generate a new order, track an existing order, cancel an existing order, and so on and so forth.

Introducing Managers
Now with the introduction of the app, Ramlal’s shop became a hit, and there were a lot of orders, it was becoming increasingly difficult for Ramlal to manage everything by himself, even at full capacity.
So he decided to call his daughters, Eena, Meena, and Deeka, and designated certain responsibilities to each one of them.
Eena was to handle finance, Meena was to handle operations and Deeka was to manage customer support.

In this way, Ramlal could overlook other activities, and he managed to effectively play on each of the daughter’s strengths and distribute the workload, to get a greater throughput.
Aman took over the IT support for the app.

Decoupling of services
The services are now decoupled and being managed based on effective communications and centralized repositories. The response time has increased, the number of orders being executed has shot up, and the newer audience has been engaged. The system has become more fault-tolerant.

All the stocking and re-stocking of the godown is being done in non-peak hours, with enough backup to last a month or two, in case of strikes, calamities, transaction issues, etc.

Distributing the load and Minimum Cost to Change

With the business booming, Ramlal has garnered great praise and success. He has given employment to a lot of people and now has 50 people under him, organized into different domains.
So now, when he has to engage say, 3 new designer warehouses into the supply chain logistics, he has to reach out to Meena, and that will cascade to the entire team. If Ramlal, wants to introduce a Diwali Bumper sale, he will reach out to Eena, and then the rest will get cascaded over.
This ensures a minimum cost to change, meaning every time he doesn’t have to tell each person their work while introducing a change, he cascades it to the nearest port, and then it goes down getting distributed in the hierarchical order, to bring about this change.

Tracking, Logging, Monitoring, and Analysis

Aman advises Ramlal to move one step ahead, and with all the data being generated, and garnered.
They implement checkpoints, logging, and monitoring of their services, and run ML algorithms to analyze, and take intelligent business decisions.

And just like that, we have converted Ramlal’s small shop into effective machinery, that works smoothly, and is able to handle the workload, and churn profit.

Systems design is the process of defining elements of a system like modules, architecture, components and their interfaces and data for a system based on the specified requirements.

It is used to get the best out of your system, based on the requirements, budget, and resources.

That’s all for now.

See you soon and till then, Happy Learning! 😊

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store