Building Large Scale Microservice Applications

Поделиться
HTML-код
  • Опубликовано: 26 ноя 2024

Комментарии • 112

  • @Kxneki2433
    @Kxneki2433 Год назад +5

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

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

  • @chinmayanand896
    @chinmayanand896 Год назад +5

    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.

  • @zaouiamine6475
    @zaouiamine6475 Год назад +2

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

  • @anvui95
    @anvui95 Год назад +2

    best youtube channel to learn

  • @andrewcathcart
    @andrewcathcart Год назад +3

    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

  • @rodolphobravo298
    @rodolphobravo298 Год назад +1

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

  • @renbangbprd7236
    @renbangbprd7236 8 дней назад

    Please make implementation series from this architecture

  • @Jezzabeanz
    @Jezzabeanz Год назад +3

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

  • @jonathankewe9415
    @jonathankewe9415 Год назад +1

    Hey Tom, thanks, really appreciate. Cheers!

  • @abhijeetkumar8044
    @abhijeetkumar8044 Год назад +2

    Great video, please create more videos like this.

  • @grrlgd3835
    @grrlgd3835 9 месяцев назад +1

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

  • @uchchhash-dev
    @uchchhash-dev 2 месяца назад

    Found what I was looking for in this video after going through a lot of videos. Thanks man! you earned my subscription

  • @PattySpicy
    @PattySpicy Год назад +4

    This is what I am looking for thanks alot !

  • @MUcciMax
    @MUcciMax 10 месяцев назад +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! :)

  • @TeezyTiddo9245
    @TeezyTiddo9245 2 месяца назад

    I like the video but i dont see can we do one including load balancing , as well as gateway usage

  • @shailajaj9671
    @shailajaj9671 Месяц назад

    Thanks for the video! What is the name of the white board tool you have used here?

  • @vukasinigic7949
    @vukasinigic7949 Год назад

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

  • @alexenax1109
    @alexenax1109 Год назад

    Great video! Please add more!

  • @bilkisuismail6096
    @bilkisuismail6096 Год назад

    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.

  • @hosseinnajafi2181
    @hosseinnajafi2181 11 месяцев назад

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

  • @harshayyy9
    @harshayyy9 2 месяца назад

    this is from the starting or it is just casual project not us to build??

  • @mrrajib
    @mrrajib Год назад

    would love to see actual implementation

  • @fernandovideira7655
    @fernandovideira7655 8 месяцев назад

    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)

  • @somaticHuman
    @somaticHuman 3 месяца назад

    why user service should send message to products service?
    if application must get information about products of the user, where and how this relationsheep will be processed? where the user-products many to many relationsheeps is being?

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

  • @danielayota26
    @danielayota26 Год назад

    what is the softwere use to design this large microservice

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

  • @vazsa7387
    @vazsa7387 26 дней назад

    shouldn't the request go through the web server and then through an API gateway that sends the request to other microservices?

    • @vazsa7387
      @vazsa7387 26 дней назад

      also the frontend can also retrieve the data from the gateway so we don't need multiple BFFs, am i right?

  • @tlourammala
    @tlourammala Год назад

    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.

  • @babacarkane1027
    @babacarkane1027 Год назад +1

    Awesome video

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

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

  • @RyanJones26
    @RyanJones26 11 месяцев назад

    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

  • @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 :)

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

  • @akash-kumar737
    @akash-kumar737 8 месяцев назад

    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 6 месяцев назад

      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.

  • @manee427
    @manee427 Год назад +1

    Nice video. what did you use for diagram? ?

  • @zameerahmed1775
    @zameerahmed1775 Месяц назад

    ur too very awesome .......... in 10 minutes u made ms design simple

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

  • @Sammysapphira
    @Sammysapphira Год назад

    What is that website you use for making these charts?

  • @CricketDilseHitWicket
    @CricketDilseHitWicket 7 месяцев назад

    Nice explanation,Are you from Australia??

    • @TomDoesTech
      @TomDoesTech  7 месяцев назад

      Yes

    • @CricketDilseHitWicket
      @CricketDilseHitWicket 6 месяцев назад

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

  • @nickxox2257
    @nickxox2257 Год назад

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

  • @kennethcarvalho3684
    @kennethcarvalho3684 5 месяцев назад

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

  • @abhirb12
    @abhirb12 9 месяцев назад

    What's the tool you are using?

    • @TomDoesTech
      @TomDoesTech  9 месяцев назад +1

      Erasor.io

    • @abhirb12
      @abhirb12 9 месяцев назад

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

  • @codewithnws3544
    @codewithnws3544 3 месяца назад

    is this the short video or we do game the implementation code as well or video?

    • @TomDoesTech
      @TomDoesTech  3 месяца назад

      huh?

    • @codewithnws3544
      @codewithnws3544 3 месяца назад

      ​​@@TomDoesTech i got the typo, I mean do you have long practical examples of this architecture or github repo for the code?

  • @vidalalvarez
    @vidalalvarez 6 месяцев назад

    Excellent!!!!

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

  • @opentech1252
    @opentech1252 4 месяца назад +1

    good content

  • @Sanan-v9v
    @Sanan-v9v 23 дня назад

    hello sir, i watch all your videos i learn a lot. would you please make application based on the above technologies that you discuss above .it will be very beneficial for us

  • @anandhukraju9382
    @anandhukraju9382 Год назад

    Separate databases?👀

  • @subhransudas890
    @subhransudas890 Год назад

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

    • @TomDoesTech
      @TomDoesTech  Год назад

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

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

  • @paulreilly5987
    @paulreilly5987 4 месяца назад

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

  • @ozgurNY
    @ozgurNY Год назад +5

    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 4 месяца назад +1

      What architecture would you recommend in this case?

    • @judevector
      @judevector 2 месяца назад +3

      You just make a lot of noise without telling us which one people should go for

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

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