System Design Primer ⭐️: How to start with distributed systems?

  Переглядів 759,602

Gaurav Sen

Gaurav Sen

День тому

Systems design is the use of computer engineering principles to build large scale distributed systems. It involves converting business problems and requirements into technical solutions. Senior engineers use system design patterns to make reliable, scalable and maintainable systems.
We mention 10 tips/terms used by engineers when designing systems:
00:00 Intro
00:38 Vertical scaling
01:07 Preprocessing using cron jobs
01:31 Backup servers
02:12 Horizontal scaling
02:37 Microservices
04:00 Distributed Systems
05:24 Load Balancing
06:39 Decoupling
07:15 Logging and metrics calculation
07:45 Extensibility
08:38 Low-level system design
Looking to ace your next interview? Try this System Design video course! 🔥
interviewready.io
Course chapters:
1) Design an email service like Gmail
2) Design a rate limiter
3) Design an audio search engine
4) Design a calling app like WhatsApp
5) Design and code a payment tracking app like Splitwise
6) Machine coding a cache
7) Low-level design of an event bus
The chapters have architectural diagrams and capacity estimates, along with subtitled videos. Use the coupon code of 'HELLOWORLD' to get a 20% discount!
References:
Scalability Basics: • System Design BASICS: ...
Load Balancing: • What is LOAD BALANCING...
Microservices: • What is a MICROSERVICE...
Single Point of Failure: • How to avoid a single ...
Backups: • Distributed Consensus ...
Health checks: • Service discovery and ...
Designing Data-Intensive Applications - amzn.to/2yQIrxH
System Design Playlist: • System Design for Begi...
You can follow me on:
LinkedIn: / gaurav-sen-56b6a941
Facebook: / gkcs0
Quora: www.quora.com/profile/Gaurav-...
Twitter: / gkcs_
#DistributedSystems #SystemDesign #Microservices

КОМЕНТАРІ: 529
@gkcs
@gkcs 2 роки тому
Design scalable systems is an important part of software engineering. Wishing you all the best! If you want to know more about system design, try get.interviewready.io
@ianrust3785
@ianrust3785 Рік тому
6 - the system was already distributed, this step is actually making it geographically distributed.
@ashfaqrahman2795
@ashfaqrahman2795 4 роки тому
So this is how you feel when you actually love what you do.
@gkcs
@gkcs 4 роки тому
Yup 😁
@RitikKumar-cz8rb
@RitikKumar-cz8rb 4 роки тому
maybe its the other way around !!
@thomas16252
@thomas16252 2 роки тому
@@RitikKumar-cz8rb yeah 😁
@atulanand3291
@atulanand3291 3 роки тому
1: vertical scaling: optimise precision and increase through put with the same resources 2: preprossing (e.g cron job) : prepare before hand during non pick hours 3: Backups: keep backups and avoid single point of failure 4: horizontal scaling: get more resources 5: micro service architecture 6: distributed system (partioning) 7: load distribution 8: Decoupling 9: Logging 10: extensible
@akshaymarch7
@akshaymarch7 4 роки тому
Demystifying System Design Jargons in the form of a story. Very well wrapped in 10 minutes! 👏 BTW, who's that other smart guy at 09:49 ? 🤔
@gkcs
@gkcs 4 роки тому
Hahaha. The other smart guy is me 😎
@kuldeepyadav-br8kr
@kuldeepyadav-br8kr 4 роки тому
Akshay Saini ???
@PankajKumar-kq1cd
@PankajKumar-kq1cd 4 роки тому
Hi Gaurav, does the educative invoice have GSTIN in their invoice??
@kuroashisanji4660
@kuroashisanji4660 3 роки тому
Wow, that is Akshay Saini from Namaste Javascript. Are you two collegues?
@CarlosOrtiz-ht6rn
@CarlosOrtiz-ht6rn 3 роки тому
I love the analogies you use to explain these usually hard to grasp concepts. Thank you! 🙏
@mihirbhatawadekar4753
@mihirbhatawadekar4753 3 роки тому
How soothing is to watch a good teacher who is interesting and as a student we are interested to learn. Thank you man ❤️
@naasim
@naasim 2 роки тому
I don't think anybody could explain this in a better way. Taking a real world scenario and explaining it the right way!!! Kudos to you. Its my first time here, and subscribed already 👍
@pb25193
@pb25193 2 роки тому
This guy has gotten better and better and better every time I blink my eye and come back. Respect.
@MegaValture
@MegaValture 4 роки тому
Beautifully explained. I just started getting a slight grip on java and I will be taking more advanced classes next year. Thank you for making this easy to understand.
@panditsaket
@panditsaket 2 роки тому
This is by far the simplest explanation for a distributed system design. Hats off..
@soap4890
@soap4890 3 місяці тому
there's some next level joy in learning from a person who actually is excited to teach, plus a student as well (atleast i think you are a student). Kudos.
@vinayaka1234
@vinayaka1234 4 роки тому
System design explained in simple terms - As usual the signature style of Gaurav Sen
@gkcs
@gkcs 4 роки тому
Thank you 😁
@deathrider4897
@deathrider4897 Місяць тому
@@gkcs to be honest i am confused because i was trying to relate it with system servers etc and you are explaining with pizza shop
@yanndetaf5725
@yanndetaf5725 3 місяці тому
I really like the fact you are using analogies with real-life scenarios as a way to make complex technical concepts understandable. Great job 👍
@mrscarnegie
@mrscarnegie 2 роки тому
You said something so important: figure out all the elements, then sign technical names. Such a beautiful insight.
@shadowbandit20
@shadowbandit20 Рік тому
Your explanation and simple real-world analogy reminds me of my favorite CS professor who did the same thing. So clear and easy to follow, thank you!
@rajdeep2544
@rajdeep2544 4 роки тому
I have been watching a lot of your videos, but this is an out of the world video. Thanks for making this one.
@fahdciwan8709
@fahdciwan8709 4 роки тому
Thanks Gaurav !! for a person with a finance background planning a tech startup, this video was really helpful. its really important for all entrepreneurs to know what happens behind the scenes of their business.
@Rishi_Khandelwal
@Rishi_Khandelwal Рік тому
The way you explained with the real world example really gives me understandig of designing the system with it's terminologies. Thanks Gaurav!
@prathameshmahankal4180
@prathameshmahankal4180 2 роки тому
One of the best explanations of Distributed Systems I have ever seen!
@NohandleReqd
@NohandleReqd 3 роки тому
Just started out with system design. And I knew your videos would be the goto place for my doubts!
@AA-wz1nj
@AA-wz1nj 3 роки тому
don't find tech things that much amusing, but never found myself lost while watching this!!!
@robertsuttles9846
@robertsuttles9846 2 роки тому
Your content is spectacular! You provide such succinct yet fully encompassing examples. Please keep producing the great content!
@kewalkothari6504
@kewalkothari6504 4 роки тому
This is clearly a Fab video. What a way to explain these complex terminologies. Amazing. Keep up the good work. Thanks for videos like this.
@neelindap
@neelindap 2 роки тому
By far, the best explanation available. Thank you for the ELI5!
@sakshichoudhary436
@sakshichoudhary436 Рік тому
Feels like listening to a friend explain a concept. ❤🙌
@manassricharanvarri
@manassricharanvarri 3 роки тому
I've been looking for this the whole internet. Thank you very much
@gloriaodipo459
@gloriaodipo459 3 роки тому
This is impressive, you made the concepts so intuitive and easy to grasp👏🏾
@shreyanshsingh2627
@shreyanshsingh2627 4 роки тому
Really looking forward to watching a video where you explain how to build a distributed scalable system from scratch and how to scale it. Maybe just a simple HTTP Server?
@ayushjain6604
@ayushjain6604 2 роки тому
Very well explained with the help of the example. That went straight into my head. Thank you!
@BruceWayne-mf6ps
@BruceWayne-mf6ps 3 роки тому
6:00 Reheating the food ≈ Caching ? 😂🤔
@1991deeps
@1991deeps 4 роки тому
Man, You are a prodigy. I am blown. Keep up the good work :) Cheers!
@jodufan8754
@jodufan8754 3 роки тому
Wenn you go crazy you rent a Server in another universe cause our Universe could have energy problems! Great Work man
@alejandraporras8075
@alejandraporras8075 4 роки тому
Thank you for your time and efforts on this video. You rock it!!
@asankasiriwardena3383
@asankasiriwardena3383 2 роки тому
Hi Gaurav, I just found your channel by chance. Thanks a lot for the generosity of sharing your invaluable expertise with the community, I wish you all the success
@nandangoel5432
@nandangoel5432 4 роки тому
Glad, I stumbled upon your channel when you just started posting.
@jpggvilaca
@jpggvilaca Рік тому
Absolutely amazing content. The passion is contagious and the content is top notch. Not a single second wasted explaining! Thanks a lot Gaurav!!
@aliyarysbek
@aliyarysbek 4 роки тому
Just found your video series by smb's recommendations. The video edit is so well done, especially those meme-like transitions :D Subscribed and waiting for new episodes, thank you!
@shashimsc
@shashimsc 2 роки тому
Awesome , explained in detail with real time example.. any one can understand this easily. Thanks gaurav.
@pranjalgupta2072
@pranjalgupta2072 4 роки тому
That transition to sponser was smooth :D
@tanayakarmakar2407
@tanayakarmakar2407 4 роки тому
I wish I would have known about your channel during my college days (well thats a prehistoric era :D)
@seemaprajapati964
@seemaprajapati964 3 роки тому
You are just best in every concept, taking the great real time scenerios....
@kumarabhishek9986
@kumarabhishek9986 2 роки тому
Fantastic video.. and great explanation... Shows how much you are passionate about teaching these complex concepts in simpler analogies. Subscribed!!
@vidhinagda
@vidhinagda Місяць тому
Wow. I knew most of the concepts but loved the analogy you used to explain. It was so seamless and well explained.
@gkcs
@gkcs Місяць тому
Thank you!
@makenakong
@makenakong 3 роки тому
Amazing. I've never understood such a complex concept so easily. I watched it a second time, not because you didn't explain things perfectly the first time, but because I liked the way you explained it so much.
@gkcs
@gkcs 3 роки тому
Thank you 😁
@petergriffin422
@petergriffin422 3 місяці тому
+1 I rewatched it just to understand the terminologies better. Super duper useful
@kavitachauhan5818
@kavitachauhan5818 3 роки тому
Exactly what I was looking for! Amazing intro to System Design concepts. Thank you for posting this Video Gaurav. Love to see how passionate you are about these topics. This video has definitely increased my interest in system design.
@gkcs
@gkcs 3 роки тому
Thank you 😁
@davejfranco
@davejfranco 4 роки тому
awesome video, this is by far the best explanation of distributed systems.
@jitx2797
@jitx2797 2 роки тому
You are absolute genius. You made it so simple...
@blendjams
@blendjams 3 роки тому
This man dominating the system design field in youtube. Great work . Thanks for the great explanation :)
@gkcs
@gkcs 3 роки тому
Thanks!
@nayaksrigovind
@nayaksrigovind 4 роки тому
Wow 🤙🏻 this is absolute gold. As a beginner I wanted to get my head around what distributed systems are and this video just clarified most of my doubts. 😁😁
@gkcs
@gkcs 4 роки тому
😁
@prasannamuppidi8822
@prasannamuppidi8822 4 роки тому
Where have you been all these days? This is a great explanation. I’m not skipping the ads anymore.
@gkcs
@gkcs 4 роки тому
I will try to be more regular with the videos. Work manages to creep in though 😛
@sunnyshekhar862
@sunnyshekhar862 4 роки тому
Loved the way you explained with relatable analogies. 🙌👌👏 Would love to see a series on how app connects with docker and k8s 😃
@gkcs
@gkcs 4 роки тому
Thanks Sunny! I'll get on this soon. It's a hot topic 😁
@luis96xd
@luis96xd 3 роки тому
WOW! This was an AMAZING video! Nice explanations! Thanks 😄👍
@nikhilhosamane7155
@nikhilhosamane7155 2 роки тому
You make learning so enjoyable, thank you!
@samyakjain7300
@samyakjain7300 2 роки тому
Mind blown by what this guy has just explained in less than 10 mins!!
@KomalSingh-bh8zr
@KomalSingh-bh8zr 4 роки тому
As usual, very informative and interesting video but I loved the simplicity of it all. Eagerly waiting to learn the next topic you cover!
@gkcs
@gkcs 4 роки тому
Thanks Komal!
@x12624
@x12624 3 роки тому
Talk about making the subject interesting and easier. This is how you teach, I learnt the technical concepts just by learning the pizza system lol.. simply Amazing, Gaurav.
@ljka
@ljka 3 роки тому
. Thank you for sharig your knowledge. To help Gaurav, dont skip commercial videos.
@LillyCode
@LillyCode 3 роки тому
Your videos are great, really GREAT! Loving them thank you
@sawankumardas7384
@sawankumardas7384 7 днів тому
Ohhkaayyy....Now I get it, before coming to last phase of this video, I found a pattern how Akshay teaches in Nameste JS series. Good Friends and Great teachers...Kudos to the both of guyzzz.👌👏👏👏
@mayankgupta2543
@mayankgupta2543 4 роки тому
This video should get lots of like because its explanation level is brought down, to make it understandable to large audience. Loved it..
@gkcs
@gkcs 4 роки тому
Thanks Mayank!
@nagalakshmichithambaranath1147
@nagalakshmichithambaranath1147 4 роки тому
Wow, you are better than any college engineer. Very smart!!
@otifelix
@otifelix 3 роки тому
You explain things so excellently. Thanks alot
@reethikavanaparthy6984
@reethikavanaparthy6984 Рік тому
Thank you for posting such a good content.I have followed ur content for my college placements and now following for my senior dev role.Your content is very easily understandable and informative.Please continue the good work.
@gkcs
@gkcs Рік тому
Thank you!
@hannahm9259
@hannahm9259 3 роки тому
Nice video. Educational and fun. love the emojies. I had to watch it on 3/4 speed to take notes
@starlord9220
@starlord9220 4 роки тому
Thanks for making this playlist , u r awesome gaurav :)
@kayalskettle4063
@kayalskettle4063 Рік тому
I know these concepts but am just watching your videos for entertainment .... ! Addicted to your channel...
@spiritual5750
@spiritual5750 4 роки тому
Thank you for uploading this ! Much love.
@gkcs
@gkcs 4 роки тому
Thank you!
@nataliaromankevich2351
@nataliaromankevich2351 3 роки тому
Great explanation so far! Thank you!
@mrfrog20110607
@mrfrog20110607 4 роки тому
Great explanation of distributed system! So intuitive and easy to understand! Thanks for your great video!
@gkcs
@gkcs 4 роки тому
Thank you!
@palvipwar101
@palvipwar101 4 роки тому
The reason why I watch his video is here 🙌 . We want more such videos from you.
@gkcs
@gkcs 4 роки тому
Thanks Pallavi!
@ksh5u81
@ksh5u81 4 роки тому
Simply fantastic video on complex technical topics.
@sankalparora9374
@sankalparora9374 Рік тому
Amazing explanation. Thanks!
@shanashinigami
@shanashinigami Місяць тому
That was a great introduction, you're very engaging!
@addykulkarni
@addykulkarni 4 роки тому
Honestly, all the terms which i came across in this video were completely new for me, but the pizza shop example made it really easy to understand. Thanks for this awesome video !!
@gkcs
@gkcs 4 роки тому
Thanks Aditya! That was the goal I had while shooting the video 😁
@sahers6300
@sahers6300 3 роки тому
Gaurav , thank you so much for these videos . I have watched all your videos and learnt a lot. I must say - Crush updated !! Phew😍🥴
@harjos78
@harjos78 4 роки тому
Awesome tutorials gaurav!. Highly appreciate your work.. Your energy and passion when you are explaining is infectious!. Keep up the good work buddy!. i am a fan of your talks
@gkcs
@gkcs 4 роки тому
Thanks Harsha!
@sihoonkim1502
@sihoonkim1502 4 роки тому
Great video! Would be great if u could make videos about analytics, auditing, reporting and machine learning
@wizleaf
@wizleaf 3 роки тому
Watching this at midnight. In my head only have Pizza and garlic bread
@SauravDaruka
@SauravDaruka 4 роки тому
Excellent explanation Gaurav. You made it so simple that even a non-techie person can understand. Hatsoff! (Y)
@gkcs
@gkcs 4 роки тому
Thanks Saurav!
@ivailotenevv
@ivailotenevv 4 роки тому
Very well explained. Please create more videos like this one :)
@abinashpanda393
@abinashpanda393 4 роки тому
Legend says gaurav is better than college professors.
@gkcs
@gkcs 4 роки тому
I am one to believe in legends 😛
@doumkatekz
@doumkatekz 4 роки тому
Abinash speaks the truth.
@ismailarifm5041
@ismailarifm5041 3 роки тому
@@gkcs No you are more than that bcoz you can make money out of it but you are sharing your knowledge for free. It is a service to the coding/dev/students community. Hats Off ! Thanks a lot. I am learning from your videos a lot.
@indikakularatne5339
@indikakularatne5339 3 роки тому
Absolutely correct.
@mayankjha7444
@mayankjha7444 2 роки тому
Thankyou for recognising me as a legend
@lutfaralif5880
@lutfaralif5880 Рік тому
Omg man....best explanation ever!...really easy to understand..
@AbhishekKumar210607
@AbhishekKumar210607 4 роки тому
Checked two times if video playback speed is normal or not... It was normal. :P Best Content
@koreannerd3945
@koreannerd3945 11 місяців тому
Really good videos. I really get a lot of helps from your videos.Thank you!
@Robert-lu3wc
@Robert-lu3wc 4 роки тому
I love all these videos man, it's right up my alley. After taking a class on Distributed Systems at my University in the US, I fell in love with it.The programming assignments such as building a distributed file system or building a batch processing system were probably the most challenging I ever had at school. Watching your videos makes me want to get more into learning system design and distributed systems, maybe by going for a Masters in the near future where I can learn about it more in depth and hopefully be able to apply the concepts to real world applications.
@gkcs
@gkcs 4 роки тому
Thanks Robert!
@Rahul-sg4ww
@Rahul-sg4ww 3 роки тому
You are such a great GURU. I will always be thankful to you :)
@gkcs
@gkcs 3 роки тому
Thank you!
@vulturebeast
@vulturebeast 4 роки тому
This is by far the best video.. 🙌 hands down 😂😂 laughing all the way .. interesting 🙌😂
@gkcs
@gkcs 4 роки тому
Thank you! 😁
@dp2120
@dp2120 9 місяців тому
This is such a genius analogy. Well done.
@gkcs
@gkcs 9 місяців тому
Thank you 😁
@alakeshbora6443
@alakeshbora6443 Рік тому
Apart from system design, I'm getting business classes as well. Win-win!
@shrvd497
@shrvd497 4 роки тому
As a budding product manager from a non-technical background, I cannot appreciate your videos enough. Keep the great content coming!
@iluvcakes19
@iluvcakes19 3 роки тому
Same
@doumkatekz
@doumkatekz 4 роки тому
Looking through your videos, you have *all* the good stuff, and done very well and easy to understand. Awesome thank you for existing and doing this.
@RahulPrajapati-in3xk
@RahulPrajapati-in3xk 29 днів тому
Best Explanation Hats off
@satyabatigoswami1735
@satyabatigoswami1735 Місяць тому
Thank you so much. Starting to learn system design from you😇
@gkcs
@gkcs Місяць тому
All the best!
@sivanageswararaothota7279
@sivanageswararaothota7279 4 роки тому
That tee shirt quote was jus awesome..!! "Unfollow make your own track". ☺😀😎✋
@gkcs
@gkcs 4 роки тому
😁
@nikitamann6366
@nikitamann6366 4 роки тому
@@gkcs Where can i get that t shirt please?
@divyanshu30gupta
@divyanshu30gupta 3 роки тому
I can only imagine the amount of time you put in to just edit the video, let alone all the other things combined.
@Sushil2874
@Sushil2874 4 роки тому
You explain so nicely and precisely.... Hats off...!!
@gkcs
@gkcs 4 роки тому
Thanks Sushil!
@29rohitkumar01
@29rohitkumar01 2 роки тому
Amazing analogy. 👨‍💻👍
@dimpleshah6538
@dimpleshah6538 3 роки тому
Very intelligently explained.
@kez99
@kez99 3 роки тому
so glad i found this channel
@jagritbhupal5836
@jagritbhupal5836 4 місяці тому
Amazing Video! For a moment I thought you are going to teach sitting in that lobby but you nailed. It's like watching a Netflix series. I have tried multiple courses on Udemy but nothing like this video so far!
What is LOAD BALANCING? ⚖️
13:50
Gaurav Sen
Переглядів 902 тис.
System Design BASICS: Horizontal vs. Vertical Scaling
7:56
Gaurav Sen
Переглядів 1,4 млн
host ALL your AI locally
24:20
NetworkChuck
Переглядів 156 тис.
System Design: TINDER as a microservice architecture
36:41
Gaurav Sen
Переглядів 1,2 млн
Big Tech AI Is A Lie
16:56
Tina Huang
Переглядів 56 тис.
What Makes Avalanches So Deadly
25:04
Veritasium
Переглядів 1,2 млн
Top 7 Most-Used Distributed System Patterns
6:14
ByteByteGo
Переглядів 222 тис.
Google system design interview: Design Spotify (with ex-Google EM)
42:13
IGotAnOffer: Engineering
Переглядів 936 тис.
What is CONSISTENT HASHING and Where is it used?
10:50
Gaurav Sen
Переглядів 743 тис.
20 System Design Concepts Explained in 10 Minutes
11:41
NeetCode
Переглядів 819 тис.
System Design Interview: TikTok architecture with @sudocode
45:35
Gaurav Sen
Переглядів 804 тис.