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

SdĂ­let
VloĆŸit
  • čas pƙidĂĄn 15. 05. 2024
  • 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

Komentáƙe • 532

  • @gkcs
    @gkcs  Pƙed 2 lety +47

    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 Pƙed rokem

      6 - the system was already distributed, this step is actually making it geographically distributed.

  • @ashfaqrahman2795
    @ashfaqrahman2795 Pƙed 4 lety +410

    So this is how you feel when you actually love what you do.

  • @atulanand3291
    @atulanand3291 Pƙed 3 lety +197

    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 Pƙed 4 lety +300

    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  Pƙed 4 lety +48

      Hahaha. The other smart guy is me 😎

    • @kuldeepyadav-br8kr
      @kuldeepyadav-br8kr Pƙed 4 lety +2

      Akshay Saini ???

    • @PankajKumar-kq1cd
      @PankajKumar-kq1cd Pƙed 4 lety

      Hi Gaurav, does the educative invoice have GSTIN in their invoice??

    • @kuroashisanji4660
      @kuroashisanji4660 Pƙed 3 lety

      Wow, that is Akshay Saini from Namaste Javascript. Are you two collegues?

  • @mihirbhatawadekar4753
    @mihirbhatawadekar4753 Pƙed 3 lety +63

    How soothing is to watch a good teacher who is interesting and as a student we are interested to learn. Thank you man ❀

  • @CarlosOrtiz-ht6rn
    @CarlosOrtiz-ht6rn Pƙed 3 lety +66

    I love the analogies you use to explain these usually hard to grasp concepts. Thank you! 🙏

  • @MegaValture
    @MegaValture Pƙed 4 lety +1

    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.

  • @naasim
    @naasim Pƙed 2 lety +10

    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 Pƙed 2 lety +1

    This guy has gotten better and better and better every time I blink my eye and come back. Respect.

  • @prathameshmahankal4180
    @prathameshmahankal4180 Pƙed 2 lety

    One of the best explanations of Distributed Systems I have ever seen!

  • @panditsaket
    @panditsaket Pƙed 2 lety +1

    This is by far the simplest explanation for a distributed system design. Hats off..

  • @soap4890
    @soap4890 Pƙed 3 měsĂ­ci

    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.

  • @fahdciwan8709
    @fahdciwan8709 Pƙed 4 lety +28

    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.

  • @sakshichoudhary436
    @sakshichoudhary436 Pƙed rokem +4

    Feels like listening to a friend explain a concept. â€đŸ™Œ

  • @jodufan8754
    @jodufan8754 Pƙed 3 lety +11

    Wenn you go crazy you rent a Server in another universe cause our Universe could have energy problems! Great Work man

  • @rajdeep2544
    @rajdeep2544 Pƙed 4 lety

    I have been watching a lot of your videos, but this is an out of the world video. Thanks for making this one.

  • @yanndetaf5725
    @yanndetaf5725 Pƙed 3 měsĂ­ci +1

    I really like the fact you are using analogies with real-life scenarios as a way to make complex technical concepts understandable.
    Great job
    👍

  • @Rishi_Khandelwal
    @Rishi_Khandelwal Pƙed rokem

    The way you explained with the real world example really gives me understandig of designing the system with it's terminologies.
    Thanks Gaurav!

  • @mrscarnegie
    @mrscarnegie Pƙed 2 lety +2

    You said something so important: figure out all the elements, then sign technical names. Such a beautiful insight.

  • @BruceWayne-mf6ps
    @BruceWayne-mf6ps Pƙed 3 lety +54

    6:00 Reheating the food ≈ Caching ? đŸ˜‚đŸ€”

  • @shadowbandit20
    @shadowbandit20 Pƙed rokem

    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!

  • @neelindap
    @neelindap Pƙed 2 lety

    By far, the best explanation available.
    Thank you for the ELI5!

  • @robertsuttles9846
    @robertsuttles9846 Pƙed 2 lety +6

    Your content is spectacular! You provide such succinct yet fully encompassing examples. Please keep producing the great content!

  • @kewalkothari6504
    @kewalkothari6504 Pƙed 4 lety

    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.

  • @gloriaodipo459
    @gloriaodipo459 Pƙed 3 lety +1

    This is impressive, you made the concepts so intuitive and easy to graspđŸ‘đŸŸ

  • @NohandleReqd
    @NohandleReqd Pƙed 3 lety +1

    Just started out with system design. And I knew your videos would be the goto place for my doubts!

  • @manassricharanvarri
    @manassricharanvarri Pƙed 3 lety

    I've been looking for this the whole internet. Thank you very much

  • @shreyanshsingh2627
    @shreyanshsingh2627 Pƙed 4 lety +2

    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?

  • @vinayaka1234
    @vinayaka1234 Pƙed 4 lety +75

    System design explained in simple terms - As usual the signature style of Gaurav Sen

    • @gkcs
      @gkcs  Pƙed 4 lety +2

      Thank you 😁

    • @deathrider4897
      @deathrider4897 Pƙed měsĂ­cem

      @@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

  • @AA-wz1nj
    @AA-wz1nj Pƙed 3 lety +1

    don't find tech things that much amusing, but never found myself lost while watching this!!!

  • @1991deeps
    @1991deeps Pƙed 4 lety

    Man, You are a prodigy. I am blown.
    Keep up the good work :)
    Cheers!

  • @alejandraporras8075
    @alejandraporras8075 Pƙed 4 lety +1

    Thank you for your time and efforts on this video. You rock it!!

  • @ayushjain6604
    @ayushjain6604 Pƙed 2 lety

    Very well explained with the help of the example. That went straight into my head. Thank you!

  • @aliyarysbek
    @aliyarysbek Pƙed 4 lety +7

    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!

  • @jpggvilaca
    @jpggvilaca Pƙed rokem +2

    Absolutely amazing content. The passion is contagious and the content is top notch. Not a single second wasted explaining! Thanks a lot Gaurav!!

  • @samyakjain7300
    @samyakjain7300 Pƙed 2 lety +6

    Mind blown by what this guy has just explained in less than 10 mins!!

  • @nandangoel5432
    @nandangoel5432 Pƙed 4 lety

    Glad, I stumbled upon your channel when you just started posting.

  • @pranjalgupta2072
    @pranjalgupta2072 Pƙed 4 lety +1

    That transition to sponser was smooth :D

  • @asankasiriwardena3383
    @asankasiriwardena3383 Pƙed 2 lety

    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

  • @kumarabhishek9986
    @kumarabhishek9986 Pƙed 2 lety +1

    Fantastic video.. and great explanation... Shows how much you are passionate about teaching these complex concepts in simpler analogies.
    Subscribed!!

  • @jitx2797
    @jitx2797 Pƙed 2 lety

    You are absolute genius. You made it so simple...

  • @seemaprajapati964
    @seemaprajapati964 Pƙed 3 lety

    You are just best in every concept, taking the great real time scenerios....

  • @shashimsc
    @shashimsc Pƙed 2 lety

    Awesome , explained in detail with real time example.. any one can understand this easily. Thanks gaurav.

  • @kavitachauhan5818
    @kavitachauhan5818 Pƙed 3 lety +10

    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  Pƙed 3 lety

      Thank you 😁

  • @davejfranco
    @davejfranco Pƙed 4 lety

    awesome video, this is by far the best explanation of distributed systems.

  • @tanayakarmakar2407
    @tanayakarmakar2407 Pƙed 4 lety +3

    I wish I would have known about your channel during my college days (well thats a prehistoric era :D)

  • @luis96xd
    @luis96xd Pƙed 3 lety +2

    WOW! This was an AMAZING video! Nice explanations! Thanks 😄👍

  • @LillyCode
    @LillyCode Pƙed 3 lety +2

    Your videos are great, really GREAT! Loving them thank you

  • @divyanshu30gupta
    @divyanshu30gupta Pƙed 3 lety +17

    I can only imagine the amount of time you put in to just edit the video, let alone all the other things combined.

  • @sunnyshekhar862
    @sunnyshekhar862 Pƙed 4 lety +6

    Loved the way you explained with relatable analogies. 🙌👌👏
    Would love to see a series on how app connects with docker and k8s 😃

    • @gkcs
      @gkcs  Pƙed 4 lety +3

      Thanks Sunny!
      I'll get on this soon. It's a hot topic 😁

  • @nikhilhosamane7155
    @nikhilhosamane7155 Pƙed 2 lety

    You make learning so enjoyable, thank you!

  • @nayaksrigovind
    @nayaksrigovind Pƙed 4 lety +2

    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  Pƙed 4 lety

      😁

  • @sawankumardas7384
    @sawankumardas7384 Pƙed 18 dny

    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.👌👏👏👏

  • @abinashpanda393
    @abinashpanda393 Pƙed 4 lety +317

    Legend says gaurav is better than college professors.

    • @gkcs
      @gkcs  Pƙed 4 lety +51

      I am one to believe in legends 😛

    • @doumkatekz
      @doumkatekz Pƙed 4 lety +4

      Abinash speaks the truth.

    • @ismailarifm5041
      @ismailarifm5041 Pƙed 3 lety +7

      @@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 Pƙed 3 lety

      Absolutely correct.

    • @mayankjha7444
      @mayankjha7444 Pƙed 2 lety

      Thankyou for recognising me as a legend

  • @spiritual5750
    @spiritual5750 Pƙed 4 lety

    Thank you for uploading this ! Much love.

    • @gkcs
      @gkcs  Pƙed 4 lety

      Thank you!

  • @KomalSingh-bh8zr
    @KomalSingh-bh8zr Pƙed 4 lety +3

    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  Pƙed 4 lety

      Thanks Komal!

  • @ksh5u81
    @ksh5u81 Pƙed 4 lety

    Simply fantastic video on complex technical topics.

  • @nataliaromankevich2351
    @nataliaromankevich2351 Pƙed 3 lety

    Great explanation so far! Thank you!

  • @starlord9220
    @starlord9220 Pƙed 4 lety

    Thanks for making this playlist , u r awesome gaurav :)

  • @blendjams
    @blendjams Pƙed 3 lety +2

    This man dominating the system design field in youtube. Great work . Thanks for the great explanation :)

    • @gkcs
      @gkcs  Pƙed 3 lety +1

      Thanks!

  • @vidhinagda
    @vidhinagda Pƙed 2 měsĂ­ci

    Wow. I knew most of the concepts but loved the analogy you used to explain. It was so seamless and well explained.

    • @gkcs
      @gkcs  Pƙed měsĂ­cem

      Thank you!

  • @sankalparora9374
    @sankalparora9374 Pƙed rokem

    Amazing explanation. Thanks!

  • @adityakanoi8703
    @adityakanoi8703 Pƙed 4 měsĂ­ci +1

    Lecture - 2
    Pizza Shop Business Design Understanding
    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 ( Separating Delivery or 3rd Party applications with the system )
    9: Logging ( For Logging , Understanding the Previous Trends , Analytics and Machine Learning )
    10: extensible ( Scalable - Like Today only Pizza but maybe tomorrow Burger and fries )

  • @wizleaf
    @wizleaf Pƙed 3 lety +27

    Watching this at midnight. In my head only have Pizza and garlic bread

  • @otifelix
    @otifelix Pƙed 3 lety

    You explain things so excellently. Thanks alot

  • @x12624
    @x12624 Pƙed 3 lety

    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.

  • @nagalakshmichithambaranath1147

    Wow, you are better than any college engineer. Very smart!!

  • @prasannamuppidi8822
    @prasannamuppidi8822 Pƙed 4 lety +2

    Where have you been all these days? This is a great explanation. I’m not skipping the ads anymore.

    • @gkcs
      @gkcs  Pƙed 4 lety

      I will try to be more regular with the videos. Work manages to creep in though 😛

  • @sahers6300
    @sahers6300 Pƙed 3 lety

    Gaurav , thank you so much for these videos . I have watched all your videos and learnt a lot. I must say - Crush updated !! PhewđŸ˜đŸ„Ž

  • @makenakong
    @makenakong Pƙed 3 lety +30

    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  Pƙed 3 lety +1

      Thank you 😁

    • @petergriffin422
      @petergriffin422 Pƙed 3 měsĂ­ci

      +1 I rewatched it just to understand the terminologies better. Super duper useful

  • @reethikavanaparthy6984
    @reethikavanaparthy6984 Pƙed rokem

    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  Pƙed rokem

      Thank you!

  • @shanashinigami
    @shanashinigami Pƙed 2 měsĂ­ci

    That was a great introduction, you're very engaging!

  • @doumkatekz
    @doumkatekz Pƙed 4 lety

    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.

  • @harjos78
    @harjos78 Pƙed 4 lety +1

    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  Pƙed 4 lety

      Thanks Harsha!

  • @vulturebeast
    @vulturebeast Pƙed 4 lety +67

    This is by far the best video.. 🙌 hands down 😂😂 laughing all the way .. interesting 🙌😂

    • @gkcs
      @gkcs  Pƙed 4 lety +3

      Thank you! 😁

  • @koreannerd3945
    @koreannerd3945 Pƙed rokem

    Really good videos. I really get a lot of helps from your videos.Thank you!

  • @hannahm9259
    @hannahm9259 Pƙed 3 lety

    Nice video. Educational and fun. love the emojies. I had to watch it on 3/4 speed to take notes

  • @lutfaralif5880
    @lutfaralif5880 Pƙed rokem

    Omg man....best explanation ever!...really easy to understand..

  • @ljka
    @ljka Pƙed 3 lety

    . Thank you for sharig your knowledge. To help Gaurav, dont skip commercial videos.

  • @Robert-lu3wc
    @Robert-lu3wc Pƙed 4 lety +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  Pƙed 4 lety +2

      Thanks Robert!

  • @kayalskettle4063
    @kayalskettle4063 Pƙed rokem

    I know these concepts but am just watching your videos for entertainment .... ! Addicted to your channel...

  • @mrfrog20110607
    @mrfrog20110607 Pƙed 4 lety

    Great explanation of distributed system! So intuitive and easy to understand! Thanks for your great video!

    • @gkcs
      @gkcs  Pƙed 4 lety

      Thank you!

  • @sihoonkim1502
    @sihoonkim1502 Pƙed 4 lety +2

    Great video! Would be great if u could make videos about analytics, auditing, reporting and machine learning

  • @mayankgupta2543
    @mayankgupta2543 Pƙed 4 lety +2

    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  Pƙed 4 lety

      Thanks Mayank!

  • @RahulPrajapati-in3xk
    @RahulPrajapati-in3xk Pƙed měsĂ­cem

    Best Explanation Hats off

  • @ivailotenevv
    @ivailotenevv Pƙed 4 lety

    Very well explained. Please create more videos like this one :)

  • @arjungupta3348
    @arjungupta3348 Pƙed 2 lety

    Loved the explanation for system design and memes through out the videos. I was laughing all the way 😂😂

  • @sivanageswararaothota7279
    @sivanageswararaothota7279 Pƙed 4 lety +9

    That tee shirt quote was jus awesome..!! "Unfollow make your own track". â˜ș😀😎✋

    • @gkcs
      @gkcs  Pƙed 4 lety +1

      😁

    • @nikitamann6366
      @nikitamann6366 Pƙed 4 lety

      @@gkcs Where can i get that t shirt please?

  • @simranthadani8769
    @simranthadani8769 Pƙed 3 lety

    AYO THIS IS SO HELPFUL. THANK YOU

  • @addykulkarni
    @addykulkarni Pƙed 4 lety

    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  Pƙed 4 lety +1

      Thanks Aditya! That was the goal I had while shooting the video 😁

  • @doruwyl
    @doruwyl Pƙed 4 lety +3

    Enjoyed a system design video where everything is explained in the most simple and explanatory way possible.
    Well done!

    • @gkcs
      @gkcs  Pƙed 4 lety

      Thanks 😁

  • @SauravDaruka
    @SauravDaruka Pƙed 4 lety +8

    Excellent explanation Gaurav.
    You made it so simple that even a non-techie person can understand.
    Hatsoff! (Y)

    • @gkcs
      @gkcs  Pƙed 4 lety

      Thanks Saurav!

  • @Sushil2874
    @Sushil2874 Pƙed 4 lety

    You explain so nicely and precisely....
    Hats off...!!

    • @gkcs
      @gkcs  Pƙed 4 lety +1

      Thanks Sushil!

  • @29rohitkumar01
    @29rohitkumar01 Pƙed 2 lety

    Amazing analogy. đŸ‘šâ€đŸ’»đŸ‘

  • @AbhishekKumar210607
    @AbhishekKumar210607 Pƙed 4 lety

    Checked two times if video playback speed is normal or not... It was normal. :P Best Content

  • @shrvd497
    @shrvd497 Pƙed 4 lety +6

    As a budding product manager from a non-technical background, I cannot appreciate your videos enough. Keep the great content coming!

  • @rashigupta19
    @rashigupta19 Pƙed 2 lety

    wonderfully xplained

  • @dimpleshah6538
    @dimpleshah6538 Pƙed 3 lety

    Very intelligently explained.

  • @kez99
    @kez99 Pƙed 3 lety

    so glad i found this channel

  • @jagritbhupal5836
    @jagritbhupal5836 Pƙed 4 měsĂ­ci

    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!