Building Large Scale Microservice Applications

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ก.ค. 2023
  • 🌎 Follow me here:
    Discord: / discord
    Twitter: / tomdoes_tech
    Facebook: / tomdoestech​
    Instagram: / tomdoestech​
    TikTok: / tomdoes_tech
    ☕ Buy me a coffee: www.buymeacoffee.com/tomn
  • บันเทิง

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

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

    Man, Absolutely brillaint. really looking for more videos like this.
    also. if you can create a project starting from this high level system design until deployment it would be massive

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

      that would be so valuable

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

      I would definitely buy it

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

      for sure, i'd buy it too@@tonskreee6213

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

    At this point you should have a separate playlist on system design, great content man!

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

    I went in blind into microservices and i learned alot
    I used docker and kubernetes and nginx for routing and loadbalancing

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

    Probably would have been worth going over data exchange between services a bit more - yes it is guaranteed delivery but, most likely, it's at least once delivery, so the services need to be able to handle duplicate events. Also probably worth discussing the web server and e.g. loadbalancing

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

      I think that's a whole other video tbh. I just wanted to mention that the component would exist in the architecture

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

    Why don't we have full-fledge microservices course for building a real life microserivces using NestJS / Nodejs, Kafka, SQL databases and all other required tech stuff.
    I am sure this will rock. You can consider this as a request from my side.

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

    It was soooooooooooooo good, thank you so much, please make more contents about this kind of things (System Design, Infrastructure, etc)

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

    Great video, please create more videos like this.

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

    This is what I am looking for thanks alot !

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

    Great video! Please add more!

  • @rodolphobravo298
    @rodolphobravo298 11 หลายเดือนก่อน +1

    What's your opinion on microservices vs. the modular monolithic architecture?

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

    Hey Tom, thanks, really appreciate. Cheers!

  • @grrlgd3835
    @grrlgd3835 5 หลายเดือนก่อน +1

    more, more, more ! this is really cool. can you recommend any good resources for exactly this ?

  • @MUcciMax
    @MUcciMax 6 หลายเดือนก่อน +1

    Thanks, Tom

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

    This was awesome, if it is not too much to ask would it be possible to create a small application where you show us how we can configure all these together?
    Thank you

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

      Yeah, that would be cool. Could also include Terraform and Docker

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

      Thank you

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

      @@TomDoesTech That would be great, Tom! Thank you.

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

      Would love to see this, man! :)

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

    best youtube channel to learn

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

    would love to see actual implementation

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

    Thanks Tom!
    Could I ask what software you're using to map all of this out? Looks handy for planning.

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

    Awesome video

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

    what is the softwere use to design this large microservice

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

    Are you not essentially enhancing coupling and fault tolerance with BFF interface servers?

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

    Massive thanks for sharing your knowledge and delivering it in your beautifully unique way!
    Quick question: What drawing tool are you using in this video? Anyone who knows is welcome to answer incase I missed it somewhere.

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

      app.eraser.io

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

    Tim is a veteran in passing knowledge. Thank you for your service. It would be great if you do a playlist or course on how these tools work together.

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

      Who's Tim?

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

      @@TomDoesTech sorry typo error, Tom

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

    Excellent!!!!

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

    Nice video Tom! I did have some questions: You mention having a single load balancer for all services but I have usually seen it done with multiple load balancers allowing for ssl termination at each and thus zero trust. Is there a reason to go with a single LB other then reduced complexity? Also, why not use a daemon to export metrics and logs such as a data dog agent? I feel like having to setup metrics endpoints itsa lot of work, what are the benefits over the daemon?

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

      I've never seen it done with a daemon, but the endpoint are super simple to setup. You install a module and expose it's data to an endpoint.

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

    Hey Tom was looking for much more... Very short video

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

    Sorry for the stupid question but, in this case the VPC would be a docker swarm cluster or a kubernetes cluster, or am I misunderstanding it? (keep in mind I'm going kinda blind into this and have been working with monolithic apps for 2y in school without putting much in practice)

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

    any chance you can resurrect your expressjs tutorial from a couple of years ago and apply it to this? also what diagramming app is that? it's super cool

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

    which draw tool are you using? I need to document my microservices but never find with nice icons like these

  • @amancca
    @amancca 11 หลายเดือนก่อน +1

    Wooow, that's great video I watched today 😮

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

    Do you have any plan to implement the architecture, at least in a bare minimum level? Please do plan. Would be very helpful.

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

    This design requires lots of CPUs and RAMs. It will cost a lot of money. This is a nice summary of microservices but most of them can be handled without any of this. Nevertheless, I liked your content. Thanks.

    • @amansagar4948
      @amansagar4948 9 วันที่ผ่านมา

      What architecture would you recommend in this case?

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

    Im a little bit confuse on the connection between the BFF and the Webserver. When request comes in does the BFF calls the Web Server and for the response I assume the services like Product service will directly call the BFF for the response?

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

      The BFF will make requests to the downstream services. All requests to those services go through the web server. All requests from the UI to the BFF also go through the web server because it's just a service like the others and it's the only way you can reach it from the internet

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

    A caching layer is missing (Maybe more import than a BFF?) and from the scheme it's really hard to understand how horizontal scaling comes into play, but I love the video

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

      I didn't add a caching layer because caches should only be used to solve a specific problem. I don't think it's a good idea to be shoving caches in just because they exist. But yeh, most implementations would have a cache somewhere

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

      @@TomDoesTech I see your point but I have a hard time to share it, caching, in a way or another (it can happen on so many levels of your infrastructure sometimes you don’t even know it’s there), is always required in ‘Large Scale Applications’: it brings down costs so badly you can’t afford not to have it

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

      Either way, we both know there is no right or wrong way of doing things here, so take it with a pinch of salt :)

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

    What is that website you use for making these charts?

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

    Why does the BFF communicate directly with the services and not via web server?

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

      Yeah, it would go through the web server. I was just showing where the request would end up

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

    Why wouldn't you just log (info, err, debug etc) in the services, and hook up something like prometheus to cloudwatch logs? Feels weird having a /metrics endpoint in each service?

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

      You're also logging a bunch of other stuff, so would be difficult for prometheus to know what it should ingest and what to ignore. The metrics endpoint is much easier and cheaper.

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

    Nice video. what did you use for diagram? ?

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

      Eraser.io

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

      @@TomDoesTech thanks

  • @akash-kumar737
    @akash-kumar737 4 หลายเดือนก่อน

    BFF part was a bit over the top. It make sense but find it hard to understand probably need a working example to understand it.

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

      Better terminology for the BFF is API Gateway, "API Gateway" will be aware of where each service is located and automatically route requests to the service/server and back to the User Interface. I hope this is clear.

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

    I have a question: How would authentication and authorization work here? Would this be the job of the BFF?
    And also how do you test the Microservices/ How can you run them locally, if the have dependencies of let's say to an Auth and Permission Service and also to Kafka for sending and receiving events?

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

      Auth would be handled by one of the microservices, in this case, probably the user api.
      There's different strategies for developing locally and testing. Mostly you develop on one service at a time and connect to the other services that are running in a staging/dev environment.
      You can also run services like Kafka locally, it's easy with Docker.

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

      @@TomDoesTech That makes so much sense, thank you

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

    what is that website your using to draw this out? how were you able to search for ec2 img

  • @opentech1252
    @opentech1252 9 วันที่ผ่านมา +1

    good content

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

    What's the tool you are using?

    • @TomDoesTech
      @TomDoesTech  5 หลายเดือนก่อน +1

      Erasor.io

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

      @@TomDoesTech : In the interviews i attend, I often get questions like, what are the tools you have used for HLD & LLD. Can you please help me with the answer for this?

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

    Nice explanation,Are you from Australia??

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

      Yes

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

      @@TomDoesTech Thanks mate!!! ,finally I am getting to know English accents of different regions. :)

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

    I don't understand why you didn't go over, the so-called , which servers a for all requests coming from to -service? Thanks

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

      Sorry I don't understand your question

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

      @@TomDoesTech Why isn't BFF service hidden behind gateway/load balancer (you named it webserver)?

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

      @@VLADICA94KG It would be behind the web server, I was just explaining the flow between the UI and the BFF

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

      @@TomDoesTech To be honest, it was a bit hard to predict that as you didn't mention it at all.
      I do really appreciate your work, but those missing points can lead to someone implementing architecture in the wrong way.
      Thanks for your great work!

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

    Create full practical videos on large scale system micro-services using python would be better.

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

      I've written about 4 lines of python in my life so I can guarantee it wouldn't be better

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

    Hey Tom and everyone,
    I'm new to microservice system design, and I'm wondering, we've accounted for a request which will hit our web server and will load balance/route our traffic to the necessary service,
    So, why do we need BFFs and why do they go from the user interfaces direct to the services and not as requests or considered requests?
    Also, if possible, recommend for me a resource i can use to understand this concepts better. Thanks

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

      The BFF makes the UI simpler to develop. The BFF request do go through the web server, all requests going to the services, including the BFF go through the web server

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

      @@TomDoesTech alright, thank you for the clarification

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

    if all frontend is handled by BFF then who is calling the APIs. given that each interface have their own BFF

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

      The BFF calls the APIs

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

      @@TomDoesTech are they calling directly or through web server ?

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

      @@AmansLab through the web server

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

      @@TomDoesTech oh thanks i was confused

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

    Separate databases?👀

  • @paulreilly5987
    @paulreilly5987 11 วันที่ผ่านมา

    yes, products service goes down and you can still have orders 😂 … and whats this “go down” issue? … what junk hardware and o/s is this running on 😂😂

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

    You could shorted these videos by 90% if you just used the final pic from the start. The thumbnail already says everything.

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

      Right, but then people would be complaining that I should have started from the beginning.

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

    Tom knows how to build large scale application, but doesn't know how to use button delete instead of backspace 😂 (editing "products API" label)