What Are Microservices Really All About? (And When Not To Use It)

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 พ.ค. 2024
  • Weekly system design newsletter: bit.ly/3tfAlYD
    Checkout our bestselling System Design Interview books:
    Volume 1: amzn.to/3Ou7gkd
    Volume 2: amzn.to/3HqGozy
    ABOUT US:
    Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.

ความคิดเห็น • 265

  • @khushaltrivedi9829
    @khushaltrivedi9829 ปีที่แล้ว +298

    Generally small and mid size app can be easily developed with monolith with great scale sometime we over engineer things for fashion like microservices

    • @nishithonshorebackup7446
      @nishithonshorebackup7446 ปีที่แล้ว +35

      What is small today may be large tomorrow. What you think as over engineering may be a future proof design. Just a thought 🙂

    • @gritcrit4385
      @gritcrit4385 ปีที่แล้ว +52

      @@nishithonshorebackup7446 Develop your app faster. Find out sooner if it makes money. After that you can hire more people and change the architecture.
      But if you know its scale beforehand and choose microservice architecture then it's not future proofing.

    • @rahil_rehan
      @rahil_rehan ปีที่แล้ว +14

      A good example is stackoverflow, it's a monolith running on on-prem servers

    • @tobidegnon4409
      @tobidegnon4409 ปีที่แล้ว +26

      @@nishithonshorebackup7446 or maybe it is just over engineering and premature optimization because your app may never get the attraction you wanted

    • @piffe
      @piffe ปีที่แล้ว +22

      @@nishithonshorebackup7446 future proofing is an anti pattern, you can not possibly foresee all future problems you will have with your codebase.

  • @CloudA2Z
    @CloudA2Z ปีที่แล้ว +229

    The best point u spoke about was for startups microservices can be expensive but if you start with building each function with well defined interface it will be easy to migrate to microservices easily.. that totally makes sense :)

    • @princezuko7073
      @princezuko7073 ปีที่แล้ว +1

      Sorry but Can you explain this a bit? “Building each function with we defined interface” - what it means? I couldn’t understand.

    • @saikrupacharyarendra850
      @saikrupacharyarendra850 ปีที่แล้ว +5

      @@princezuko7073 if we use interfaces for each of the domains in the example like for cart, billing, users etc. It'll be easier to shift them to a microservice since each one is independently written.

    • @benhook1013
      @benhook1013 ปีที่แล้ว +1

      @@princezuko7073 Interfaces can be used internally between the same system, vs only using them for external communications. Implementing them during initial design means that if you want to swap to microservices, the interfaces already exist and it makes it managable to migrate over (else you would likely be re-writing/refactoring basically the whole app).

    • @scoutiano4441
      @scoutiano4441 ปีที่แล้ว +4

      @@benhook1013 And regardless, having well interfaced functions makes code easier to test using mocking libraries, rather than having highly coupled code which is impossible to properly test

    • @CloudA2Z
      @CloudA2Z ปีที่แล้ว

      @@saikrupacharyarendra850 thanks for explaining it @sai

  • @buddinghero
    @buddinghero ปีที่แล้ว +24

    Thank you for making this video! It’s incredibly clear and concise and I feel it will help my team and my work! Please please keep up the great work, I’ve really appreciated the two videos I’ve stumbled across of yours and I’ll be watching more of your content over the coming days/weeks/months! Brilliant content, you should be proud! ☺️☺️

  • @vladl-us5pf
    @vladl-us5pf หลายเดือนก่อน +1

    what a great explanations and phenomenal graphics - not distracting, clear, direct! gold!

  • @4115steve
    @4115steve 4 หลายเดือนก่อน

    Thank you for making these great videos. They've helped me a lot. You're a great artist and teacher. I look forward to all your media and information.

  • @Tony-dp1rl
    @Tony-dp1rl ปีที่แล้ว +100

    This is a great video, the only thing I would have added is that microservices are most applicable when your teams, and the business, are structured in a way that needs separate development and release timelines. If that isn't the case, the disadvantages outweigh the advantages 9/10 times, as large services perform better, are easier to develop and secure, and cost less .

    • @buddinghero
      @buddinghero ปีที่แล้ว +1

      What about when you move to serverless architectures where you pay for what you use and split your app into long running and short running functions? I ask because we’re doing a transformation and currently we deploy a monolithic app to a kubeneties cluster so we’re paying a constant fee to have resource’s running all the time, I would have thought moving this to lamda for all sub 10-15 minute tasks which is probably 80-90% of all tasks mean we pay fractions of a penny on an event and then any long running we move to step functions where we can or some docker container running on a smaller amount of fixed resources? Just wondering is all because I thought paying for fixed resources is more expensive than paying for time on resources?

    • @fxfighter
      @fxfighter ปีที่แล้ว +4

      @@buddinghero That depends on if you actually can use fewer resources to run the remaining 10-20% of services. If you still need the same number of machines of the same size to run those 10-20% of remaining tasks, then it'd be largely a waste of time to separate out lambda functions, and you now also suffer performance additional deployment pipeline overheads for no/little gain.
      Monoliths are typically quite efficient for resource usage (RAM, CPU, network bandwidth etc.) as you don't have additional overheads of separate running operating systems/process domains. A big downside of Monoliths primarily being you have to deploy the whole unit every time stuff changes and depending on the language the compile time might be a significant overhead too.

    • @sea0920
      @sea0920 ปีที่แล้ว +1

      @@buddinghero If your services are used infrequently, serverless computing makes sense. But serverless is limited. Each cloud provider has their own serverless system so you are locked into a vendor. I normally use AWS. A request has to be processed within 5 seconds default timeout. It also has memory limit. To expose it to web, we have to use AppGateway, which is expensive and has its own way of deployment(dev/qa/prod). Sometimes I want service other than simple request/response like WebSocket, Cron, Subscription to MQ. Although AWS lambda sort of provide those functionality, I feels more natural to just set up a box. There are other obvious issues like cold start, no local state(no keep-alive, no internal cache, no connection pool), price(expensive when directly compared to ec2 or onprem server), deployment(need to deploy each function).

  • @ferlezcano
    @ferlezcano ปีที่แล้ว +50

    I've seen many of your videos and this one made me subscribe to your channel... Extremely clear explanation of such a complex topic. Keep up!

  • @wangfred
    @wangfred ปีที่แล้ว

    I am preparing interview now, this is perfect to sum up the concept! Two thumbs up! Subscribed!

  • @nove1398
    @nove1398 ปีที่แล้ว +2

    This was well put. Short and very helpful.

  • @Brlesskoin
    @Brlesskoin 10 หลายเดือนก่อน +5

    I've watched numerous videos in an attempt to comprehend this architecture, and I've finally come across the absolute best one. Thank you so much for sharing it; it's truly amazing!

    • @soufianemess7681
      @soufianemess7681 9 หลายเดือนก่อน +1

      I second that! Been through a couple of videos and this one is the most comprehensive one!

  • @alamelu85
    @alamelu85 ปีที่แล้ว +4

    As usual, awsome presentation - Wish for more!

  • @imdad111
    @imdad111 7 หลายเดือนก่อน

    This was a wonderful tutorial of micro services vs monolithic architectures! Thank you for paving the way!

  • @sandybeaches
    @sandybeaches ปีที่แล้ว +25

    Your videos are excellent!! Can you do one like this on grpc vs REST APIs?

  • @stefankyriacou7151
    @stefankyriacou7151 ปีที่แล้ว +3

    This is literally the best advice around microservices i've heard!

  • @asmaaadel6553
    @asmaaadel6553 ปีที่แล้ว

    Knowing your channel is my gift today,thank you for your Brilliant content

  • @kadon9506
    @kadon9506 ปีที่แล้ว +2

    Insightful, thanks for breaking this down.

  • @realrobertpopa
    @realrobertpopa ปีที่แล้ว

    Really high quality material, thanks for sharing Alex! 👏

  • @woooz2009
    @woooz2009 ปีที่แล้ว +4

    Great video and clear explanation! Could you make a video on the comparison of spring cloud and kubernetes?

  • @jorikseldeslachts9543
    @jorikseldeslachts9543 ปีที่แล้ว

    This is just amazing! Good job explaining!

  • @junrepasa
    @junrepasa ปีที่แล้ว

    the best video explainer ive seen so far. Thanks

  • @airlanggabhumintaraamitaba8363
    @airlanggabhumintaraamitaba8363 ปีที่แล้ว

    Nice explanation Sir , make me completely understand between monolithic architecture ( I still use these days , since the very small organization - less than 9 people ) , Three tier architecture ( that my clients use these days ) and Microservices architecture ( I never use and still learning ) .

  • @EvordRiccie
    @EvordRiccie 2 หลายเดือนก่อน

    I usually don’t subscribe any youtube channel but this one make my finger to click the button subscribe! Thank you. This is very easy to understand

  • @SeaHorseNSparrow
    @SeaHorseNSparrow ปีที่แล้ว

    Lovely visual illustration, great accompaniment to technicals in the presentation

  • @om1719
    @om1719 ปีที่แล้ว

    The first video I struck by and paused to subscribe the channel, thank you!

  • @TheMediterano
    @TheMediterano ปีที่แล้ว +14

    Independent deployability of microservices is probably their biggest advantage because it leads large organizations to faster time-to-market while limiting the blast radius of new deployments. Besides, independent scalability of microservices over monoliths is a very crucial advantage which helps them adapt easily to the increasing workload.

  • @skx9254
    @skx9254 ปีที่แล้ว

    Clear explanation. Thank you so much for your video. It helped me a lot.

  • @jshoover2199
    @jshoover2199 7 หลายเดือนก่อน

    Outstanding Video! Well explained. Thanks!!!

  • @thameemansari6281
    @thameemansari6281 ปีที่แล้ว

    nice, short and clear. thank you for the video.

  • @osaid56
    @osaid56 ปีที่แล้ว

    very nice and straight to the point video, thx a lot man.

  • @morty_dk
    @morty_dk ปีที่แล้ว +1

    Appreciate the very good explanation and illustration ⭐⭐⭐⭐⭐

  • @merterakdede2547
    @merterakdede2547 ปีที่แล้ว

    In 4 minutes you ve given a ton of heavy info, thank you !

  • @vadebyte
    @vadebyte ปีที่แล้ว +1

    Great video and very clear explanation!
    I would like to suggest a video with more detailed explanations about DDD and how to scale SQL and non-SQL databases.
    Please, what set of tools do you use to build your presentations / videos?

  • @caseyspaulding
    @caseyspaulding ปีที่แล้ว

    These are great thank you! More please!

  • @DarknessGu1deMe
    @DarknessGu1deMe ปีที่แล้ว +6

    Great video! Would the additional communication overhead between more micro-services a downside of this architecture?

  • @deverasjk
    @deverasjk ปีที่แล้ว +2

    I really like your videos!
    cheers!!!!
    If you like the idea, could you make some videos about IT careers? Like the responsabilities of each job and how do they relate in a big size company? (like spotify or amazon)
    tyvm anyway!

  • @vipul1192
    @vipul1192 ปีที่แล้ว

    one of the best explanation available on youtube

  • @ashutoshtripathi3817
    @ashutoshtripathi3817 3 หลายเดือนก่อน

    that was brilliant explaination!
    Thanks alot!

  • @enfieldli9296
    @enfieldli9296 ปีที่แล้ว +1

    Solid good stuff, thank you!

  • @MoshiurRahmanMurad
    @MoshiurRahmanMurad ปีที่แล้ว

    Very good explanation. Well presented. Thanks for sharing this video.

  • @alexnedelin7646
    @alexnedelin7646 ปีที่แล้ว

    short and clear. thanks!

  • @bilza2023
    @bilza2023 ปีที่แล้ว

    "BLAST AREA" great selection of words

  • @thevagabond85yt
    @thevagabond85yt 6 หลายเดือนก่อน

    learnt a lot in those 5 minutes. ud have loved to know more about "blast radius"

  • @AhmedMohamed-sn1rp
    @AhmedMohamed-sn1rp ปีที่แล้ว +1

    Thank you very much for this great content

  • @dayo
    @dayo ปีที่แล้ว +1

    Duuuude, that prez is awesome 🤩

  • @giangduong9623
    @giangduong9623 ปีที่แล้ว +1

    Thank you for making this video! And i have question what software do you use to create tech videos like this? It's really creative in terms of visuals

  • @simeonpopov4172
    @simeonpopov4172 6 หลายเดือนก่อน

    Thanks for the great video. I was also wondering what software did you use when you were creating the visuals for the video because I liked it a lot?

  • @conormcelhearn4538
    @conormcelhearn4538 ปีที่แล้ว

    Great video thank you!

  • @JeremyChone
    @JeremyChone ปีที่แล้ว +6

    Great videos. We like to have a "multi-services" architecture where size is more of a deployment detail, thanks to Kubernetes.
    Also, most important in cloud architecture is to be event-based from the start to avoid Web-Of-Hell service architecture.

  • @sagarshekhar6296
    @sagarshekhar6296 5 หลายเดือนก่อน

    Excellent video and deeply explained

  • @ashishchoudhary1320
    @ashishchoudhary1320 ปีที่แล้ว

    I love the whole video and animation as well. Could you please tell me how you created or what you used for it.

  • @akshaysrivastava4304
    @akshaysrivastava4304 3 หลายเดือนก่อน

    very informative video, thanks!

  • @mohinicoder
    @mohinicoder ปีที่แล้ว

    This channel is treasure!
    Thanks for sharing this info. I have a doubt we have only 1 shared API gateway, what if it goes down?

  • @CTMPAUL
    @CTMPAUL 11 หลายเดือนก่อน

    Great video, thanks !

  • @ricardonascimento8
    @ricardonascimento8 ปีที่แล้ว

    Its help me a lot, thanks!

  • @ahmetcihan8025
    @ahmetcihan8025 3 หลายเดือนก่อน

    Thank you great explanation

  • @LeonardoSeptianDwigantoro
    @LeonardoSeptianDwigantoro ปีที่แล้ว

    this is so good, thank you

  • @larsfagerbakke2140
    @larsfagerbakke2140 ปีที่แล้ว

    This was a very good video explaining microservices!

  • @9unapologeticsanatani
    @9unapologeticsanatani ปีที่แล้ว +6

    Question, if any one can answer :
    Where does the Integration Layer (Eg. connecting to some Core Banking), fit in ? The explaination suits well for previously done web applications and breaking them into MS. How about cases like IIB / Mule / WSO2 Micro Integrators etc, where services are built for transformations etc. Do they also fit-in to this description ?
    Appreciated !

  • @zZw0lfZz
    @zZw0lfZz 6 หลายเดือนก่อน

    i love this chanel, make every thing easy know

  • @dheerajpk5591
    @dheerajpk5591 ปีที่แล้ว

    Thank for awesome explanation. Also if possible add realtime project

  • @sergeymigel4680
    @sergeymigel4680 หลายเดือนก่อน

    Thank you!

  • @serjtubin
    @serjtubin ปีที่แล้ว

    As with all other videos - a great one, thanks!

  • @etcode
    @etcode ปีที่แล้ว +4

    Great videos, I love to see how much have you improved your content. What are you using to create such as amazing animations in those diagrams?

    • @mytj228
      @mytj228 ปีที่แล้ว

      I am also curious to know!!

  • @raymondmichael4987
    @raymondmichael4987 ปีที่แล้ว +3

    Thanks buddy,
    As always I hit like first async watch and rewatch await finally comment

  • @chriszhang8365
    @chriszhang8365 ปีที่แล้ว +2

    Insightful!

  • @Juan-Hdez
    @Juan-Hdez ปีที่แล้ว

    Used. Thank you

  • @ajaypanse4489
    @ajaypanse4489 8 หลายเดือนก่อน

    Hi,
    Your videos are very informative & easy to understand.
    Can you make videos on various design patterns of micro service

  • @onyinyechichukwuma689
    @onyinyechichukwuma689 12 วันที่ผ่านมา

    Perfect as always.

  • @sa-pg6or
    @sa-pg6or ปีที่แล้ว

    thanks for yours pearls of wisdoms

  • @juamsv
    @juamsv ปีที่แล้ว +1

    thank you.

  • @shikharsharma6399
    @shikharsharma6399 ปีที่แล้ว

    Good content!
    To the point.

  • @OPrimoDev
    @OPrimoDev ปีที่แล้ว

    Amazin content! Thanks

  • @sreerajns8002
    @sreerajns8002 ปีที่แล้ว +2

    Can u pls discuss how Authentication and Authorization is implemented in Payment systems?

  • @write2nagaraj
    @write2nagaraj ปีที่แล้ว

    Hi I really like the design diagrams you make in these presentations. What tool do you create these diagrams in?

  • @Spot4friends
    @Spot4friends 14 วันที่ผ่านมา

    your matherial is the best on the internet, keep doing it

  • @bortsimpson4536
    @bortsimpson4536 ปีที่แล้ว

    That was VERY good.

  • @edwinroman30
    @edwinroman30 ปีที่แล้ว

    Great explanation 👌👌!

  • @xavimoya5332
    @xavimoya5332 ปีที่แล้ว

    RPC: It’s like GPRC to provider faster response, but blast radius or impact to other micro-service would be larger when the service was go down.
    Event Streaming: It provides better isolation between services but they take longer to process.
    What about message brokers ?

  • @realrobertpopa
    @realrobertpopa ปีที่แล้ว

    Btw, the illustrations are dope! What software do you use?

  • @KarbilaBarakahHartono
    @KarbilaBarakahHartono ปีที่แล้ว

    Amazing explanation 👍👍

  • @jwbonnett
    @jwbonnett ปีที่แล้ว

    You can keep the foriegn keys, all you need to do is also have that table with only the information that it needs, this can be past from the source of truths service. E.g. if I create a new user, that source of truth service, will store the data and then publish a success message with the same data. This is so that another service can pick it up and store that same data, allowing the foriegn key. So if the users service goes down that other service still has that data, meaning it is fully functional.

  • @bob_factory
    @bob_factory ปีที่แล้ว

    Amazing explanation

  • @eudelavegas
    @eudelavegas ปีที่แล้ว

    fantastic explanation

  • @aldhal202
    @aldhal202 19 วันที่ผ่านมา

    The 2 words micro and services are after some time deceiving.
    People start confusing application with service, component with service, funtion with service.
    Services need model beneath them.
    The moment one moves data integrity into services themselves, then its time you know you exaggerated with adopting the 2 words micro and services into your architecture.
    Thanks for pointing out into the data integrity thing. Well done

  • @edutech786
    @edutech786 8 หลายเดือนก่อน

    Excellent series. Which software you used to make these animated flowgraphs? I am a teacher making course. How you move bits and packets?

  • @mehedihasanshuvo5577
    @mehedihasanshuvo5577 ปีที่แล้ว

    Good explanation.

  • @mhamzarajput
    @mhamzarajput ปีที่แล้ว

    Hi, you and your content is awsome. what tool you are using for animation and art design

  • @atulhimu
    @atulhimu 10 หลายเดือนก่อน

    @ByteByteGo, Sir your designs are really cool. If possible can you please suggest which software you are using to draw these.

  • @shadabbahadara
    @shadabbahadara 10 หลายเดือนก่อน

    Hello Alex,
    which video editing s/w you use to visualizes the architecure in this video ?

  • @usukhbayardorjgotov310
    @usukhbayardorjgotov310 ปีที่แล้ว

    Great video. What software used it ?

  • @RobinHenniges
    @RobinHenniges ปีที่แล้ว

    What tools did u use to create to nice animated charts for the presentation

  • @kamertonaudiophileplayer847
    @kamertonaudiophileplayer847 ปีที่แล้ว +1

    I use microservices since 2000. I am confident - it is a cool technology.

  • @konga8165
    @konga8165 ปีที่แล้ว +6

    Microservices are actually really easy to implement and deploy with something like Railway

  • @KrishnaKrishna-oy3nu
    @KrishnaKrishna-oy3nu 2 หลายเดือนก่อน

    amazing and informative

  • @mehdi-vl5nn
    @mehdi-vl5nn 9 หลายเดือนก่อน

    a video on soa would be greate

  • @amanuelyohannes7151
    @amanuelyohannes7151 4 หลายเดือนก่อน

    Thank you very much for the video. Just a quick question - The communication between microservices using event streaming, does it take long time to process with traditional streaming solution? I was just looking at Kinesis Data Stream and can provide milliseconds.

  • @privatesocialhandle
    @privatesocialhandle ปีที่แล้ว

    Liked, subbed. Love it.

  • @CyberTronics
    @CyberTronics ปีที่แล้ว

    Question: 1:45 when upscaling, is replicating the micro-service VM and copying it into a larger VM the only way? Or are there other ways. ThNks

  • @vijayrangan
    @vijayrangan ปีที่แล้ว +2

    Illustrations / animations are awesome. Great work 👏🏻 May I know which tool you use ?

    • @ByteByteGo
      @ByteByteGo  ปีที่แล้ว +2

      Our talented editors use Adobe Illustrator and Adobe After Effects.

  • @danielmdev
    @danielmdev ปีที่แล้ว

    👍I love this channel!