Components of System Design | System Design Tutorials | Part 2 | 2020

preview_player
Показать описание
This is the second video in the series of System Design Primer Course. We talk about the components of System Design. We want software engineers and aspiring software engineers to develop basics and get ready ready for the world of interviews as well as excelling as a Software Engineer. :)

Disclaimer: The terms logical entities and tangible entities are coined by myself as how do I understand components of systems. These are not industry or academic taxonomy. :)

More on the topic:

------------------------------------------------------------------
Recommendations
------------------------------------------------------------------
Our full courses on youtube:

Some paid courses that we recommend:

------------------------------------------------------------------
About Us
------------------------------------------------------------------
Created and Instructed by:
Yogita Sharma

Post-production(editing, thumbnail etc) managed by:
CiKi

Colors and design by:
Naini Todi

Both Arpit and Yogita are software engineers and want to help other software engineers become better by providing high quality and well researched content by adding their creativity and teaching twist.

------------------------------------------------------------------
Join Us
------------------------------------------------------------------
Hangout with sudoCode:

For business:

Quiz for this video.
What are the components that are absolutely necessary to build any kind of system no matter the requirement or the scale or the users. Comment your answers below along with any queries that you may have.
Рекомендации по теме
Комментарии
Автор

My answer for the Quiz

For a very basic system, we need the following components for sure.

Database - Persistence is something that is required for every backend application. So, A Database is utmost necessary
Server - For any system that needs to scale, we need to have a server, so that we can have an API driven architecture so that if the frontend changes, the new frontend can easily consume the existing API's.
Network - We need a Network as a component for the communication between the client and the server and between the server and the database.


Not necessary


Components like a frontend are not necessary because even a console will work or even a curl command will work.
Stuff like Load Balancers, Caches are there for efficient and highly scalable systems, they are not required for basic applications.

raghavddps
Автор

the way you started with data and databases is just wow. I am watching your videos like I watch FRIENDS. The analogy of buildings with the architecture is awesome. Thank you very much mam. Kudos to your work.

KundanSingh-mmpd
Автор

Hi, the course is really good for anyone new to system design, an advice, if you are going to use pre-drawn HLD and LLD of systems, please put effort in presenting it like handwriting. It will look neat to end user. No issues with current one too. Happy learning and teaching.

rishabgoyal
Автор

Hi Yogita, first of all I would like to appreciate your efforts for making the videos on highly useful topic nowadays i.e. system design. There are very few channels where you will find system design concepts being covered in deep.

Quiz : As per me, only important component in any system design are Database, Server, Network (Business logic along with authentication) because UI is not necessary console application can do the thing. Network, Caching, LB, Message Queue can be used as per need of application but it's not mandatory for any simple application like management systems.

One feedback: Can you start from empty board and move on drawing individual component as and when you speak, it would give users initiation point idea and would help in understanding how to start and move ahead. Though, current method is really intuitive.

manishamulchandani
Автор

My answer for the quiz:

Components that are absolutely necessary:
1. Database: Data is the most important part of any application, it needs to be stored efficiently.
2. Application / service layer: Inorder to interact with the data stored, there has to be some kind of business entity which can be provided by Application/service layer.
3. Network: For a proper interaction between the database and application layer, there has to be an efficient networking system.
4. Infrastructure: All the above 3 components needs to be setup somewhere, so there has to be somekind of an infrastructure, like cloud.

rohankulkarni
Автор

feels like i am listening a story, you made it so simple. Thank you so much 🙏

obsessiveDreamer
Автор

Hi Yogita, you are a blessing for all the engineering students and working professionals in climbing up the ladder to their dream job. Thanks a lot for taking the initiative to share the learnings of your experience with the student community. I wish educators like you grow more and more!!!

kartiksuman
Автор

My answer for the Quiz
A static/ frontend application is the simplest possible application I could think of :
For a static / frontend oriented application :
We don't need any database, loadbalancers, network, message queues, security configurations etc..

All we need would be a Deployment service with 1 server .

Feel free to correct me, if I am wrong ....

tvbuff
Автор

Hey Yogita! Being a final year student I wanted to learn system design. Thanks that you started this series, it's helping me a lot to brush up the concept.
Just one request I feel you explain a bit fast, I would request you to please take a pause and then explain.
Still thanks for the content! 🌈

PujaKumari-ntdq
Автор

Great job Yogita 👍, looking forward for upcoming videos!

siddharthgaur
Автор

The best part is the video speed is rightly set, Ofcourse people won't get bored for a longer time.

disgustingme
Автор

I am too learning from it.
Although I am not a computer science student or a software or system developer.
But I still like to see and learn.

varshamishra
Автор

I really like that this quality of content which is highly structured is freely available on the internet on System designs. #50k

abhinavjain
Автор

Awesome. Once completed I hope this becomes one of the greatest Sysdesign course, that too free of cost!

rghosh
Автор

Last Sunday & this Sunday I am inspired by you. Just wondering about the earpods though.

amitshrestha
Автор

Your explanations are clear, concise, and excellent!

tedfitzpatrickyt
Автор

Any system is built on data, so database is utmost important. There has to a communication among different components. So, a network layer (HTTP/TCP..) And all these happens on computers, so a server and a dummy client.

AyushKumar-fklm
Автор

The building example was awesome, the explanation makes sense completely, thank you !

hmsolaiman
Автор

Thanks for this amazing playlist🙂
my answer for the quiz: database, application, hardware, network

muskangupta
Автор

Concise, clear and connected... great teaching....you explained it so well... thanks for all the efforts you are putting.... it's going to be interesting learning.... waiting for another one...👍

niteshtiwary