How to Scale an Application? | System Design

Sdílet
Vložit
  • čas přidán 27. 07. 2024
  • Building an application that is just going to be used by a 100 users is different from an application that is going to be used by 100k users. In this lesson, we learn about the basics of System Design and we learn how to build scalable applications. We take an example of a hypothetical application that won't scale and gradually scale it to support high traffic while learning all the intricacies along the way.
    0:00 Introduction
    01:04 Lack of backups
    02:18 Logging issues
    03:07 Autorestart processes
    03:35 Defaults are not always the best
    03:57 Connection pooling
    04:43 Integrating CDN to fix slowness
    05:49 Dynamic content caching
    06:08 Implement logrotation
    06:37 Separate database and application servers
    07:05 Split reads and writes
    08:08 Handling load with Load balancer
    08:48 ELK for the logs
    Thank you for watching. Feel free to leave your feedback, questions, and comments in the section below and I will see you in the next lesson!
    Channel website:
    - roadmap.sh
    Discord Community:
    - / discord
    Find us on the internet:
    - / roadmapsh
    - github.com/kamranahmedse/deve...
    - / roadmapsh

Komentáře • 87

  • @GAURAVMAKHECHA
    @GAURAVMAKHECHA Před 4 lety +32

    Points covered:
    - 01:03 Database backups to AWS S3
    - 02:22 Logging
    - 03:06 Auto restart processes
    - 03:34 Revisit database configuration
    - 04:44 Using CDN
    - 05:50 Caching dynamic content
    - 06:08 Implement logrotation
    - 06:36 Separate servers for application and database
    - 07:06 Database replication
    - 08:08 Multiple application servers + Load balancer
    - 08:50 Implementing ELK: Elastic Search, Logstash, Kibana

  • @fullcyber
    @fullcyber Před rokem

    this went from an image file to one of the best educational resources concerning software development and computer science

  • @gokuls9929
    @gokuls9929 Před 2 lety +10

    This is lit 🔥. Evolving from a baby (single server/db) to a fully grown adult (distributed system). You have not just shown the intermediate stages of evolution for every component but have also stitched a story around it. Wow.! This video deserves millions of views.

    • @marcusaureliusregulus2833
      @marcusaureliusregulus2833 Před rokem

      Realistically who would be working on this? Backend application developer? Devops team? Network team? Infrastructure team? DB admins? Team lead? I am New to the industry

    • @ritavdas7570
      @ritavdas7570 Před rokem +1

      @@marcusaureliusregulus2833 Backend and Devops mainly , unsure about maybe network and infra

  • @selvarajant
    @selvarajant Před rokem +1

    Great insights in a single video.. thanks a lot

  • @dovudinomov3107
    @dovudinomov3107 Před 2 lety +1

    Thank you very much! Very well explained on with examples!

  • @shwetapriyadarshani197
    @shwetapriyadarshani197 Před 2 lety +1

    Perfect for beginner, appropriately explained transitioning from basic design to scalable design adding all the other resources gradually

  • @mk-vg3ow
    @mk-vg3ow Před 8 měsíci

    i love this because of the animation , examples and plain english explanation.
    easy to understand and solidify the system design knowledge.
    Keep up the good work

  • @sandeepgopinathan8347
    @sandeepgopinathan8347 Před 2 lety +1

    Crisp to the point.. Amazing content

  • @elias8294
    @elias8294 Před 2 lety

    I can't afford to go back to school right now so these videos are helping me a lot man. Thanks

  • @janstrakos969
    @janstrakos969 Před rokem

    Hmmm. Ok. That was smooth and clear. Exactly what i was looking for. Thank you

  • @MohakNarang07
    @MohakNarang07 Před rokem +1

    This video is very well structured. As someone who is new to system design and scalability (among other things lol), this was very helpful. Thanks a bunch!

  • @SaiyanJin85
    @SaiyanJin85 Před rokem

    This is the best high overview about scaling I’ve ever seen

  • @temitopeowodunni-idowu5400
    @temitopeowodunni-idowu5400 Před 9 měsíci

    Really like the succinct and practical explanation of this video. Very helpful and straighforward

  • @KrasimirKarov
    @KrasimirKarov Před 4 lety +4

    Excellent work! Can't wait for more in-depth videos!

  • @nicoroma5762
    @nicoroma5762 Před rokem

    I haven't liked a video in my life before... until now. Please continue with this excelent work you are doing.

  • @vishnuthamizharasan6192
    @vishnuthamizharasan6192 Před 4 lety +9

    This is amazing, Thanks a ton. please post more system design. I love it.

  • @rajadebnath2268
    @rajadebnath2268 Před rokem +1

    the quality of your information is too amazing , thanks for the hardwork , i will be expecting more of system design

  • @ranjithks7
    @ranjithks7 Před 2 lety

    This is one of the best Video I have ever seen.

  • @ChandraShekhar-by3cd
    @ChandraShekhar-by3cd Před 3 lety

    Best Ever video. Pls upload full system desing on facebook, uber , whatsapp etc.

  • @insanetvshort7076
    @insanetvshort7076 Před 2 lety

    I could not help myself, I had to subscribe immediately... This video is the best system design video I have ever seen on youtube.

  • @RahulPradipPatil
    @RahulPradipPatil Před 4 lety +4

    This is so helpful, thank you so much... please make more advance version.
    I want to learn more on scaling & maintaining system.

  • @rajdeepdubey4625
    @rajdeepdubey4625 Před 2 lety +2

    I watched two videos today. Both of them were very informative. I really liked the approach of explaining based on the problems statements. It helped me to relate with the issues we get into while scaling.

  • @abhinavghosh725
    @abhinavghosh725 Před 3 lety

    loved the approach of incrementally solving the problem.

  • @anandrajkumar4191
    @anandrajkumar4191 Před 4 lety +1

    Video gave me the motivation to check for more details on elastic search, kibana, load balancer, caching etc, previously I had just heard the name, but from here I am eager to spend time understanding this. Looking forward for more from you. Thanks @the roadmap.

  • @dashiellbark-huss6806
    @dashiellbark-huss6806 Před 2 lety +1

    This is an awesome explanation for beginners to scaling thank you!

  • @backendhq
    @backendhq Před 3 lety

    Great video. Best overview for scaling an application. Kudos !

  • @BipinOli90
    @BipinOli90 Před 4 lety +1

    Wow, awesomely paced and information-rich content. Loved it. Thanks for making the video :)

  • @cw5948
    @cw5948 Před 3 lety

    Wow!!! Excellent overview! Enjoying your content!

  • @arpitkumarmishra6220
    @arpitkumarmishra6220 Před 4 lety +1

    This video is awesome. Shared with all of my friends.

  • @vanmoofdiaries4955
    @vanmoofdiaries4955 Před 4 lety

    Excellent!! Thank you so much.

  • @tahatemuri8170
    @tahatemuri8170 Před 3 lety +2

    really concise tutorial , great work one shot all kill!

  • @indiansoftwareengineer4899

    Thanks for explaining lots of things in single video, thanks a lot....

  • @ethandavis5092
    @ethandavis5092 Před 3 lety

    Great video! No time wasted in explanation. Life of a web application from small to large scale.

  • @ahmadabuaysheh
    @ahmadabuaysheh Před 4 lety

    Amazing video and comprehensive. Keep it up and running.

  • @jasper5016
    @jasper5016 Před 2 lety +1

    hahahah that was a roller coaster ride. Going super fast but I understood everything and I really liked the way you explained. Can you please cover more topics on System Design in this same fashion.

  • @Somethingsomethinglol
    @Somethingsomethinglol Před 3 lety +1

    This is what I needed - excellent job on these videos!

  • @shaivaljava401
    @shaivaljava401 Před 2 lety

    to the point and best explanation

  • @gauravsah7780
    @gauravsah7780 Před 2 lety +1

    Amazing video on Application Scaling. Complex technology explained in most simple way. Keep up the good work :)

  • @zameerahmed1775
    @zameerahmed1775 Před 3 lety

    Wonderful buddy ...... U made scaling appear so easy. I thought it was scary .....

  • @apenet-
    @apenet- Před 3 lety

    Thank you! There is lots of good information in this video.

  • @codbix_
    @codbix_ Před 2 lety +1

    Thank you ❣️ This is a fantastic explanation. Hope you will do more.

  • @pranshu_g
    @pranshu_g Před 3 lety

    Thank you so much for such an amazing walkthrough over this complex topic. I now understand how to think in terms of scaling an application. Looking forward to having this lecture continued with advanced topics.. or an in-depth explanation as to how we can achieve the concepts explained in the video.

  • @AhmadAwais
    @AhmadAwais Před 3 lety +1

    Oh wow, this is impressive explanation so simple and easy. Awesome stuff bud.

  • @Praveenyadav-kf9nu
    @Praveenyadav-kf9nu Před 3 lety

    Exactly what i was looking for. thanks a lot

  • @mkalatrash
    @mkalatrash Před 4 lety

    Nice and simple explanation. Thanks Kamran.
    Keep it up 👍

  • @cantcode023
    @cantcode023 Před rokem

    GAIN SO MUCH KNOWLEDGE FROM THIS VIDEO. THANKS SO MUCH :THUMBSUP:

  • @AbdelrahmanRashed
    @AbdelrahmanRashed Před 3 lety

    somehow I got goosebumps from watching this video kinda reminded me about my first job when I used to work 13 hours non-stop to keep fixing the freaking server/database/webapp issues.

  • @stefc4663
    @stefc4663 Před 3 lety +4

    This is an AMAZING high-level explanation. Subscribed! Now I'm waiting for the detailed explanation series 🤞

    • @marcusaureliusregulus2833
      @marcusaureliusregulus2833 Před rokem

      Realistically who would be working on this? Backend application developer? Devops team? Network team? Infrastructure team? DB admins? Team lead? I am New to the industry

  • @indrajitsarkar3169
    @indrajitsarkar3169 Před 4 lety

    This video was great help!

  • @parmeshwarr
    @parmeshwarr Před rokem

    this is what i am expecting 🔥

  • @poonamchauhan1884
    @poonamchauhan1884 Před 2 lety

    Simply amazing!

  • @ileriayoadebiyi
    @ileriayoadebiyi Před 4 lety

    Great explanation!

  • @GulzarAhmed7
    @GulzarAhmed7 Před 3 lety

    Awsome bro! You just made a fan

  • @caiovital325
    @caiovital325 Před 2 lety

    Hey man thanks for the video, I learned so much. It's a little bit hard to follow because you talk really fast but I accomplished to understand. Good channel

  • @sayedrahman3932
    @sayedrahman3932 Před 3 lety

    great one , thanks

  • @paulofernandoee
    @paulofernandoee Před 2 lety

    wonderful video!

  • @AlamKhan-yt9wd
    @AlamKhan-yt9wd Před 2 lety

    Excellent 💥

  • @yqy7527
    @yqy7527 Před 3 lety

    Amazing! Learnt a lot. Would like to know more strategies to scale if app goes further.

  • @cuttingedgesoftwareenginee7202

    Perfect video That I have ever seen good job

  • @zkmak
    @zkmak Před 2 lety

    Very Nice !!!

  • @theurbanessentials
    @theurbanessentials Před 3 lety

    So cool. Subscribed

  • @samiullah6061
    @samiullah6061 Před 2 lety

    Amazing 🤩

  • @diamonddev6557
    @diamonddev6557 Před rokem +1

    Nice

  • @sezanspeaks9515
    @sezanspeaks9515 Před 4 lety

    Wow this is so cool.

  • @vikrambhau_1195
    @vikrambhau_1195 Před 2 lety

    Very nice

  • @vjnvisakh
    @vjnvisakh Před rokem

    awesome video

  • @florianwege7563
    @florianwege7563 Před 2 lety

    To quote Djikstra: "When we had no computers, we had no programming problem either. When we had a few computers, we had a mild programming problem. Confronted with machines a million times as powerful, we are faced with a gigantic programming problem." :-)

  • @codetech6099
    @codetech6099 Před 3 lety

    Amazing video , please make new ones also like this one only , talking a in depth about node js server scaling , and using latest technologies , queues, Docker... Etc

  • @infiniteloop8665
    @infiniteloop8665 Před 2 lety

    JUST WOWW !!!

  • @AnantKumarS
    @AnantKumarS Před 2 lety

    Awesome

  • @tgitechworld
    @tgitechworld Před 3 lety

    Just love.

  • @juxtapos1034
    @juxtapos1034 Před 9 měsíci

    beautiful

  • @shankarsundaram5513
    @shankarsundaram5513 Před 3 lety

    Good Content, add sharding to the picture.

  • @zarimislam1001
    @zarimislam1001 Před 3 lety

    🤩🤩

  • @senhajirhazihamza7718
    @senhajirhazihamza7718 Před 3 lety

    It takes of practices to encounter all theses problems, and more years to explain them as simply and efficiently as you do (what about an Udemy course ?)

  • @shubhamsingh-gb5zh
    @shubhamsingh-gb5zh Před 6 měsíci

    😍😍❤❤

  • @roshanlabh
    @roshanlabh Před 3 lety +1

    F**k, you are holy awesome. You sum up all the backend thoughts in just 10 min video. Great!. I would love to watch more like this. Keep it up bro!!

  • @tarunsoni6971
    @tarunsoni6971 Před rokem

    The content is good and tells us a lot about big applications and their challenges and remediations, however somewhere in between I felt am I watching this video at 1.5x or something?

  • @satishkumarsajjan2132

    how to learn these concepts? any particular roadmap?

  • @manuelnucci_
    @manuelnucci_ Před 4 lety

    Great roadmap! I think the guide here (roadmap.sh/guides/scaling-databases) is wrong, according to the video. Most applications are read-heavy, instead of write-heavy, and therefore the database replication is implemented.

    • @roadmapsh
      @roadmapsh  Před 4 lety +2

      Manuel Nucci ah yeah there is a typo in the guide, it is supposed to say "read-heavy". Thank you for pointing out, I will fix it.

  • @Freezpingui
    @Freezpingui Před 4 lety +1

    i had to turn the speed down to 0.75, this is really helpful but you speak too fast

    • @roadmapsh
      @roadmapsh  Před 4 lety +3

      Thank you for the feedback. I wanted to keep it under 10 minutes and thus the speed. But thanks, I will keep that in mind :)