.NET Microservices - Full Course

Sdílet
Vložit
  • čas přidán 26. 07. 2024
  • In this step-by-step tutorial I take you through an introduction on building microservices using .NET. As the name suggests we build everything completely from start to finish -with the full scope of the course outlined in the time-stamp section below. However, at a high-level we’ll cover:
    • Building two .NET Microservices using the REST API pattern
    • Working with dedicated persistence layers for both services
    • Deploying our services to Kubernetes cluster
    • Employing the API Gateway pattern to route to our services
    • Building Synchronous messaging between services (HTTP & gRPC)
    • Building Asynchronous messaging between services using an Event Bus (RabbitMQ)
    To accompany this course I have provided free Kubernetes command and Architecture Cheat Sheet which is available for download when you subscribe to my blog at: dotnetplaybook.com/
    🛒 My Store: lesjackson.creator-spring.com/
    📕 My Book: www.apress.com/gp/book/978148...
    🤩 Patreon Site (Exclusive Member Benefits!): / binarythistle
    📕 My other courses: lesjackson.net/
    🔗 GitHub Repo: github.com/binarythistle/S04E...
    🔗 Containerizing a .NET App: docs.docker.com/samples/dotne...
    🔗 Insomnia Download: insomnia.rest/download
    🔗How to edit your hosts file: www.howtogeek.com/howto/27350...
    🔗 Dependency Injection in .NET: docs.microsoft.com/en-us/aspn...
    ⏲️ Time Codes ⏲️
    - 0:00 PART 1 - INTRODUCTION & Theory
    - 2:39 Course Approach
    - 6:11 Course Overview
    - 11:31 Ingredients & Tooling
    - 16:14 What are microservices?
    - 33:40 Overview of our microservices
    - 37:37 Solution Architecture
    - 43:54 Application Architecture
    - 46:47 PART 2 - BUILDING THE FIRST SERVICE
    - 47:33 Scaffolding the service
    - 52:37 Data Layer - Model
    - 57:35 Data Layer - DB Context
    - 1:02:38 Data Layer - Repository
    - 1:16:00 Data Layer - DB Preparation
    - 1:27:31 Data Layer - Data Transfer Objects
    - 1:41:19 Controller and Actions
    2:16:21 PART 3 - DOCKER & KUBERNETES
    - 2:16:21 Review of Docker
    - 2:20:55 Containerizing the Platform Service
    - 2:37:29 Pushing to Docker Hub
    - 2:42:43 Introduction to Kubernetes
    - 2:46:54 Kubernetes Architecture Overview
    - 2:58:40 Deploy the Platform service
    3:25:01 PART 4 - STARTING OUR 2ND SERVICE
    - 3:25:01 Scaffolding the service
    - 3:30:41 Add a Controller and Action
    - 3:41:50 Overview of Synchronous and Asynchronous Messaging
    - 3:55:21 Adding a HTTP Client
    - 4:19:34 Deploying service to Kubernetes
    - 4:44:55 Adding an API Gateway
    5:07:12 PART 5 - STARTING WITH SQL SERVER
    - 5:07:12 Adding a Persistent Volume Claim
    - 5:12:34 Adding a Kubernetes Secret
    - 5:15:12 Deploying SQL Server to Kubernetes
    - 5:30:31 Accessing SQL Server via Management Studio
    - 5:33:06 Updating our Platform Service to use SQL Server
    6:06:02 PART 6 - MULTI-RESOURCE API
    - 6:06:02 End Point Review for Commands Service
    - 6:09:31 Data Layer - Models
    - 6:16:38 Data Layer - DB Context
    - 6:21:37 Data Layer - Repository
    - 6:34:53 Data Layer - Dtos
    - 6:40:49 Data Layer - AutoMapper Profiles
    - 6:45:26 Controller & Actions
    7:20:49 PART 7 - MESSAGE BUS & RABBITMQ
    - 7:20:49 Solution Architecture Overview
    - 7:24:06 RabbitMQ Overview
    - 7:28:55 Deploy RabbitMQ to Kubernetes
    7:43:27 PART 8 - ASYNCHRONOUS MESSAGING
    - 7:44:01 Add a Message Bus Publisher to Platform Service
    - 8:18:07 Testing our Publisher
    - 8:25:19 Command Service ground work
    - 8:36:46 Event Processing
    - 8:59:14 Adding an Event Listener
    - 9:19:29 Testing Locally
    - 9:26:28 Deploying to Kubernetes
    9:39:12 PART 9 - GRPC
    - 9:39:12 Overview of gRPC
    - 9:44:06 Final Kubernetes networking configuration
    - 9:54:32 Adding gRPC Package references
    - 9:56:44 Working with Protocol Buffers
    - 10:03:55 Adding a gRPC Server to Platforms Service
    - 10:20:53 Adding a gRPC Client to Commands Service
    - 10:39:41 Adding a Database prep class to Commands Service
    - 10:48:05 Test Locally
    - 10:51:01 Deploy to Kubernetes
    - 10:58:43 Final thoughts & thanks
    - 11:00:55 Supporter Credits

Komentáře • 1,3K

  • @nickchapsas
    @nickchapsas Před 2 lety +2079

    Releasing such an amazing course for free on CZcams is the absolute power move. Thank you so much for your work.

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

      love your videos

    • @DJosh-cs5vx
      @DJosh-cs5vx Před 2 lety +18

      Thanks for being here too Nick. Big fan.

    • @RebaiMoez
      @RebaiMoez Před 2 lety +7

      @Nick we are waiting for your video :)

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

      Good to see you here Nick 🙂

    • @davidmata3104
      @davidmata3104 Před 2 lety +8

      Hey Nick. I am waiting for your course too

  • @AmirPourpanahi
    @AmirPourpanahi Před 2 měsíci +27

    2:33:19
    For those who have error: "socket hang up" in Postman.
    Starting with .NET 8, default .NET Core port changed from 80 to 8080.
    You can use:
    docker run -p 8000:8080 -d /platformservice

    • @bdharmon92
      @bdharmon92 Před 2 měsíci +3

      You're a hero.

    • @AmirPourpanahi
      @AmirPourpanahi Před 2 měsíci +7

      And use port 8080 in "platforms-np-srv.yaml" file.
      3:21:11
      ports:
      - name: platformservice
      protocol: TCP
      port: 8080
      targetPort: 8080

    • @keithcarrillo8238
      @keithcarrillo8238 Před 2 měsíci

      @@AmirPourpanahi Thanks. Should we change the ports in platforms-depl? Not having much luck.

    • @AmirPourpanahi
      @AmirPourpanahi Před 2 měsíci

      ​@@keithcarrillo8238 No, platforms-depl doesn't have port. You need to change it in platforms-np-srv.yaml when creating NodePort to give access to service running in Kubernetes.

    • @AmirPourpanahi
      @AmirPourpanahi Před 2 měsíci

      ​@@keithcarrillo8238 No, platforms-depl doesn't have port. You need to change it in "platforms-np-srv.yaml" file when creating NodePort to give access to service running in Kubernetes.

  • @DJosh-cs5vx
    @DJosh-cs5vx Před 2 lety +20

    It's the type of you that help me put food on the table for my family. Tim Corey also.
    You are God sent.

  • @supergfb
    @supergfb Před rokem +92

    I got a job because of what I have learned from you. Thank you very much for releasing such an amazing course. You are the best, mate!

  • @thowheedh
    @thowheedh Před 2 lety +133

    My Respect Increased towards CZcams after this video

  • @TheDrComedy
    @TheDrComedy Před 2 lety +240

    This course is pure gold. It would be awesome if it would have a part two where you deploy this Microservices System into Azure. Great work again!

  • @SkrGta
    @SkrGta Před 7 měsíci +3

    The best part about this course on microservices is that it is simply the best out there.
    You are now well versed with the fundamentals of microservices after completing this massive course.
    The worst part about this is that it is still scratching the surface of this microservices topic.

  • @onurozguzel8747
    @onurozguzel8747 Před 2 lety +148

    It' s my 4th day in the course, I' m at 6th hour, this is the first time in a course, I' ve never skipped a second, not bored or not felt sleepy. You' re brilliant. I want to thank you for making & sharing this beautiful class. I didn' t believe that there' ll be a course at this high level, free on CZcams.

    • @granytr6652
      @granytr6652 Před rokem +1

      Gerçekten faydalı mı? İzliyim mi

  • @MrBroccoli007
    @MrBroccoli007 Před rokem +10

    Very well explained! I found it to be very engaging and easy to follow. It's rare that you find a 12-hour programming course that doesn't bore you after the first couple of hours and actually explains every concept as in-depth as this one. Fantastic job!

  • @PASTRAMIKick
    @PASTRAMIKick Před 2 lety +12

    This was a joy to follow, that beer in the end really did it for me, what a great way to end a great course.

  • @jaredhaight
    @jaredhaight Před 2 lety +7

    I'm about a third of the way through this and I can't get over how good this content is. I've taught some courses myself and I know how difficult it is to nail an intermediate course. You've knocked it out of the park here man, thank you so much for releasing this. Can't say enough good things about this course.

  • @domingo4931
    @domingo4931 Před 2 lety +9

    After a month of working a few hours on this course and digging deeper into topics myself, i can say i'm finally finished and oh boy, this is by far the best tutorial on CZcams i have ever seen. I usually don't consider donating or purchasing something from a CZcamsr, but you're definitely worth it. Thank you so much for putting this out in the public!

  • @RupOase
    @RupOase Před 2 lety +53

    Gosh, Les, this is astonishing! I waited soooo much for someone to actually code a bit of microservice shenanigans, and you my friend, just earned yourself a drink, when I get to Melbourne. I can't thank you enough for this and all your other coding courses.

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

      I havent seen the video yet and this comment already has me hyped!!

  • @osempo
    @osempo Před 2 lety +70

    Man this will be 11 very well spent hours! Loving all your content, Les!

  • @bolafahmi
    @bolafahmi Před 2 lety

    A really awesome course, I built a study plan based upon it, I deep-dived a little bit into Kubernetes alongside learning your contents too. Can't describe how thankful I am.

  • @alshafareen
    @alshafareen Před 2 lety +5

    This is a fantastic, informative, and superb course. I am really enjoying it. I really appreciate the time and effort you put in to create this course to help the community. Thank you so much, Les.

  • @robymathai9286
    @robymathai9286 Před 2 lety +17

    Thanks a lot. I was starting to learn microservices, docker and kubernetes.Perfect combination..Thanks a lot again

  • @leefogel5195
    @leefogel5195 Před rokem +6

    Amazing course! You could easily charge $100s for this material. So well thought out, laid out, commented, annotated, explained. A real pleasure to learn from you, Les! Keep up the great work!

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

    This is simply one of the BEST uploads I've ever seen on this particular topic! Perhaps THE best! And I've seen a LOT of similar uploads. This Dude is a Legend!

  • @takatakboy
    @takatakboy Před 11 měsíci

    Would just like to whole heartedly thank you for this massive effort of providing this course to all of us. It's helping me prep for interviews. You're changing lives. Thank you.

  • @jakubszatkowski8072
    @jakubszatkowski8072 Před rokem +3

    Just wow. Incredible staff. I've never seen before such a perfect course and that was for free. Thank you Les.

  • @WolfieVenturi
    @WolfieVenturi Před 2 lety +16

    This is seriously amazing. Thank you very much for your efforts and contributions.

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

    I have learned in the first 3 hours more than in my last job during a full year!! Thank you so much for the effort of putting this fantastic tutorial together for the world

  • @blackcanaryhorcrux7962
    @blackcanaryhorcrux7962 Před rokem +2

    I really like how practical your approach to teaching is. It is so much easier to keep yourself motivated when you are actually building something, and can see your own progress

  • @clyne-vg1rq
    @clyne-vg1rq Před 2 lety +33

    This is GOLD. can learn so much just by watching such an experienced developer building the whole stack from the scratch. Thanks for sharing this incredible content 👍

  • @shahabjoon201
    @shahabjoon201 Před 2 lety +7

    Dear Mr. Jackson,
    I just can say, Thank You.

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

    This is absolute gold Mr. Les Jackson. Thanks for such a great learning experience.

  • @Theundeadsmile
    @Theundeadsmile Před 2 lety

    Exceptional course.
    A long course with no wasted time. I've recommended it to several colleagues and I will definitely watch more of your content.
    Thanks.

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

    Les, if you would be a mentor at an educational institute in my neighborhood, I would definitely come and watch your lessons in real life. The way how you approach things, and bring them over to other folks is truly amazing. I did watch the whole video and followed along, and it was an awesome experience. I am proud that I currently have this system running on my computer. As some in the comments already mentioned, this video is golden. Hope you enjoyed the beer, as you deserved it! Thank you!

  • @toysoldier12
    @toysoldier12 Před 2 lety +26

    This is better than 90% of paid course regarding similar technologies if not more. Thank you so much. Just a side note, if anyone runs into the problem after ingress-nginx part, turn off your local IIS.

    • @MrLostAlex
      @MrLostAlex Před 2 lety

      Thanks for the side note. You helped me :)

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

      Tommy yu are a life saver. I spent several hours trying to solve this and then I stopped for a day to just cool down my brain. Then I started looking in the comments if someone was facing the same issue and I found your comment. Many thanks :)

    • @KefDS505
      @KefDS505 Před rokem

      Other side note: If you cannot use port 80, run kubectl port-forward --namespace=ingress-nginx service/ingress-nginx-controller 8080:80

    • @tdunaj
      @tdunaj Před rokem

      Thank you Tommy, that helped me as well.

    • @SharlyX
      @SharlyX Před rokem

      Thank you for your help :)

  • @arome111
    @arome111 Před 2 lety

    Yay - now made it all the way through and everything is working. Thanks for giving this great course to everyone.

  • @sirdondaniel
    @sirdondaniel Před rokem +1

    Just finished the entire tutorial. I can't thank you enough. God bless you!

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

    Invaluable content! I’m new to dotnet and this tutorial going step by step while also explaining things massively helped. What a legend!

  • @maxim9976
    @maxim9976 Před 2 lety +12

    Это просто праздник какой-то! (It's just like a holiday! Thank you from Russia!)

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

    After gone through complete course really don't have word to express your effort. Speechless!

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

    Haven't watched the course, but I am sure it's been great. I love the layout and the fact that Mr Les Jackson took time to develop this one. Thank you, sir!

  • @Fasteriko
    @Fasteriko Před rokem +4

    I think it's my first time finishing a whole tutorial, not talking about the fact that all of the last tutorials I watched were much much shorter..
    Learned so much.. Took me 10 days of work to finish, took it nice and slowly and learned a lot from my mistakes (and yours XD)
    Cannot say enough, you're a legend

  • @luquinhamm
    @luquinhamm Před rokem +3

    I simply can't thank you enough for this amazing course Les!!!
    pra qualquer BR pensando se vale a pena fazer eu posso afirmar que sim, curso com um projeto basico porém muito bem trabalhado, passsando todas as intruções necessárias. E a didatica do Les também é absurda!

  • @GuitarBoy_NL_
    @GuitarBoy_NL_ Před rokem +1

    This video saved my semester!
    Les Jackson. I came back to this video after I passed my semester to thank you. This video is liquid gold. I can't thank you enough. I owe you so much. Thank you.

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

    I honestly think it's one of the best courses I've seen. Thanks Les!

  • @warrenkeil6623
    @warrenkeil6623 Před 2 lety +37

    Note: Use the "L" and "J" keys to rewind or fast-forward in increments of 10 seconds. Use the left and right arrows keys to rewind and fast-forward in 5-second increments.
    I feel this is necessary when following a tutorial. And it's a little hard to rewind this video using the mouse due to its length.
    Awesome course Les, thanks so much for this!

    • @AKA-077
      @AKA-077 Před 4 dny

      also use "K" for pause because sometimes space tringgers other buttons

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

    Best microservice content I've seen on youtube

  • @codecomposer88
    @codecomposer88 Před 2 lety

    Holy crap. 11 hours of pure gold and also for free. That's just insane. Thank you so much! I was looking for exactly this.

  • @thfsilvab
    @thfsilvab Před 2 lety

    I have just started watching but I gotta thank you before even watching the video, to post a full course like this for free, I can't thank you enough, for me and all others that will learn from this.

  • @elebs_d
    @elebs_d Před rokem +3

    Thank you for releasing such an amazing course. It helped solidify a lot of microservices concepts for me

  • @Shagidelic
    @Shagidelic Před rokem +30

    I have finally finished 11 hours course. Thanks Les Jackson for an awesome end to end, beginning to end course. Hope to see more stuff like this in future too.

    • @superpcstation
      @superpcstation Před 11 měsíci

      How much time did it take?

    • @Shagidelic
      @Shagidelic Před 11 měsíci +2

      @@superpcstation well I keep notes of what I learn. So it took around 2 weeks.

    • @fieryscorpion
      @fieryscorpion Před 11 měsíci

      @@ShagidelicHi, Can you please share your notes? It takes me forever to complete a video course when I take notes, so it’d be immensely helpful if you could share yours. 😊

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

    AMAZING, can't wait to dive in. Thank you so much Les for this, incredible work.

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

    Complex things explained in amazingly simple way. Easy to follow through. THANK YOU, LES !!

  • @nitajaanel2796
    @nitajaanel2796 Před 2 lety +33

    Wow, I was expecting this to be a paid course back when you announced it. Knockout content 🥊🏆

  • @fabioono28
    @fabioono28 Před rokem +15

    @Les Jackson this course is so good that I would like a part 2, where you would evolve these two projects. I believe it would be good implementing some services (instead of leaving the responsibility of calling the methods of repository directly in the controller). As another refactoring, I would suggest the use of a messaging framework (nServiceBus, MassTransit) so we can see the differences. Another thing would be moving this structure to the cloud (AWS, Azure) + creating a CI/CD pipeline for them.

    • @rafaspimenta
      @rafaspimenta Před 8 měsíci

      I'd like to add Redis as a distributed cache to the suggestions list
      😜

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

    Hats off to you. Take a bow for this beautiful course. Just completed 5 hours of the video till now and everything went well.

  • @RohitSharma-vq2gn
    @RohitSharma-vq2gn Před 2 lety +1

    I lost count of concepts that I got cleared with this video. Feeling indebted. Thanks Les. Top notch content 💙

  • @CHITUS
    @CHITUS Před 2 lety +12

    Absolutely amazing course. I'm only half though and very enjoying it so far! Learned a lot. Thank you very much for this tremendous work!
    For everyone who follows along with the course: when we write deployment file for SQL server(~5:19:00) under env (environmental variables) when you specify password the name should be MSSQL_SA_PASSWORD not(!) SA_PASSWORD. It wouldn't work when you try to login with the specified password otherwise.

    • @adamtalleh4187
      @adamtalleh4187 Před 2 lety

      I was stuck almost one hour to figure out what's the problem , thanks so much for your notice !

    • @mazingguitar
      @mazingguitar Před rokem

      still cannot login into db with this tip

    • @shuhaozhang7332
      @shuhaozhang7332 Před rokem +3

      Thanks! I finally connect to sql server after a good one hour... For anyone still stucks: the connection string should be localhost,1433 (COMMA, not dot . nor colon : !!!). If still not works, in sql management studio => connect => options => connection properties => Network protocal => change to tcp/ip.

    • @freddofernandez
      @freddofernandez Před rokem +1

      Also adding TrustServerCertificate=True; in the connection string did the job for me!

    • @maricimarko2458
      @maricimarko2458 Před 10 měsíci

      @CHITUS Maybe its due to sql version for me it is working with SA_PASSWORD, just guessing.
      @shuhaozhang7332 thx man I didn't know that it should be coma it was driving me crazy.

  • @shuhaozhang7332
    @shuhaozhang7332 Před rokem +8

    Thank you very much Jackson for posting a such amazing project! I am now in the midway (sql server) of the project. For anyone who has a hard time connecting to the sql server: the connection string should be localhost,1433 (COMMA, not dot . nor colon : !!!). If still not works, in sql management studio => connect => options => connection properties => Network protocal => change to tcp/ip. Also try to change the environment variable in mssql-plat-depl.yaml from SA_PASSWORD to MSSQL_SA_PASSWORD. It took me a good one hour to connect to sql server

    • @freddofernandez
      @freddofernandez Před rokem

      Also adding TrustServerCertificate=True; in the connection string did the job for me!

    • @adigunoluwadamilolavictori7170
      @adigunoluwadamilolavictori7170 Před rokem

      Thanks, this got me out at the point where I could not access my db. But currently, at the point of migration ~5:50 migration is throwing error.
      ==> "Could not run migrations:A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught)
      Unhandled exception. Microsoft.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught)
      "
      Any help??

    • @jurrebrandsen1936
      @jurrebrandsen1936 Před rokem

      @@adigunoluwadamilolavictori7170 Did you figure this out? I have the same error.

    • @NguyenHuy-et8wy
      @NguyenHuy-et8wy Před 7 měsíci

      @@jurrebrandsen1936 anyone find a fix this to problem? Im having the same issue too :(

  • @karthikpixel8009
    @karthikpixel8009 Před 2 lety

    Now a days no one is ready to share their knowledge with free of cost but you did it. Awesome work thanks for your effort and time. Thank you so much i really enjoy the course.

  • @kylegivler8372
    @kylegivler8372 Před rokem

    Thank you, I have just started watching. I appreciate the hard work you and other youtubers go to to bring full in-depth tutorials for people to learn for free. Thank you :)

  • @SimpMcSimpy
    @SimpMcSimpy Před 2 lety +17

    Guys, don't forget to use microservice approach only if you really need to.
    IMO, for everything else (mostly for small to average projects) good old single container service with multi-tier design is the way to go.
    This was the hard lesson learned. For the past 10 years I've been maintaining all kind of services for several companies. For small businesses where there are 1-2 developers maintaining the code don't design microservices. I saw many examples where it added unnecessary complexity, performance and testing issues which are very difficult to overcome.

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

      for sure, microservices is a way to organize teams over large software projects. Also, I'd seriously suggest using something like MassTransit rather than this barebones way

    • @sdwone
      @sdwone Před 2 lety +5

      Agreed! I'm a senior software engineer at a company who, due to issues with heavy user traffic which was costing them millions, decided to go down the micro services route in an incredibly quick manner.
      However, that quick transition has now created other problems and the platform has become somewhat unstable, to the point that they now plan to rebuild the entire platform from the ground up.
      The choice to go from monolith to micro services was the right one, but the implementation was rushed, due to financial pressures, and now we've accumulated quite a bit of technical debt!
      Still, just so that you can learn this stuff properly, I would advise anyone to take up this material here, because micro services ain't going anywhere anytime soon, and those that are skilled in this area are going to supercede those that don't.

    • @JasonTira
      @JasonTira Před 2 lety

      I would like to dig more into this. The reasoning of why and when to use what is always a complex one and often left unanswered. If you have some resources to point at it would be really helpful. There are always a personal preference aspect, but I would prefer to not have to learn the hard way like you did.

  • @irshadf5462
    @irshadf5462 Před rokem +1

    I can't thank you enough Les for this awesome course. I completed this course in 2 weeks, but never skipped a second of it. I have never seen such great content on CZcams which explains complex things in such a simple way. You have great clarity in content & your thoughts. Thanks again for such amazing video.

  • @ellouzesami5600
    @ellouzesami5600 Před rokem

    wanted to thank you for such an amazing video. although it took me a while to complete this course and I had some rough experiences with errors. but this is by far the most fruitful 11 hours I have had on youtube. This is so worth it. Keep up the great work!!

  • @hachapuri1229
    @hachapuri1229 Před rokem +7

    For those having an issue like this when attempting to connect to the MSSQL: "Could not run migrations: A connection was successfully established with the server, but then an error occurred during the pre-login handshake."
    It's a problem with an untrusted tls certificate. Just Add "TrustServerCertificate=true" to the end of the connection string.

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

    this is one of the best courses omg thank you Les Jackson

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

    And this is the first time I have enabled ads for CZcams - many thanks Les, good to see you're putting lockdown into something super productive.

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

    I was missing see you around CZcams, then BANG!! you release such an amazing course. Miles y miles de gracias.

  • @arjunghimire4616
    @arjunghimire4616 Před 2 lety +20

    for those who got error 04:17:50 the ssl connection could not be establish: solution :
    dotnet dev-certs https --clean
    dotnet dev-certs https --trust

  • @LordNerdzrool
    @LordNerdzrool Před 2 lety +7

    Just a small observation: I believe you can resolve the problems with Visual Studio Code that you identified at around @3:33:00 regarding auto-completion with .Net Core applications involving multiple projects by creating a solution file, adding the PlatformService and CommandsService to the solution, then opening the folder containing the solution file and letting Visual Studio Code (and the C# extension) open the solution file.

  • @dmnt1026
    @dmnt1026 Před 2 lety

    Thank you for releasing this course for free. I had a lot of nerve racking moments in the parts of testing kubernetes. Luckily the error messages in the container logs pointed me in the right directions.

  • @MrLostAlex
    @MrLostAlex Před 2 lety

    Amazing Course! Thank you so much for releasing this free. Worked through it over two weekends and learned so much.

  • @Owainow17
    @Owainow17 Před rokem +3

    In case anyone experiences the same 404 error as me when creating the ingress nginx load balancer you need to include "ingressClassName: nginx" underneath Spec, above rules (inline with rules). This is because without IngressClass specified the ingress service doesn't pickup the default (nginx) and when described shows "none" and as a result the service isnt associated with the load balancer.

    • @onyekachic
      @onyekachic Před 8 měsíci

      Thanks for your feedback, Please can you share sample of the way you adjusted the file because am currently stock on the spot of running the Nginx file.

  • @brenomorais5446
    @brenomorais5446 Před rokem +2

    Apenas para marcar em qual aula parei
    Day 01 - 52:45
    Day 02 - 1:06:00
    Day 03 - 1:16:00
    Day 04 - 1:34:00
    Day 05 - 1:41:24
    Day 06 - 2:28:15
    Day 07 v0.1 - 2:42:00
    Day 07 v0.2 - 3:12:00

  • @BlackBeard_Ale
    @BlackBeard_Ale Před 2 lety

    WOW impossible to believe that such a valuable course is available for free! Thank you so much! It is really impressive job you did here!

  • @cristhiancuevas4422
    @cristhiancuevas4422 Před 2 lety

    I really like this course, I finished part 3 and can't wait to continue with the course. Thank you very much for your contributions

  • @alaaalnajjar1824
    @alaaalnajjar1824 Před rokem +5

    @5:05:57 If it didn't work with error 404, you may have IIS installed, make sure to shutdown/stop Default Website in IIS

    • @HOSTRASOKYRA
      @HOSTRASOKYRA Před rokem

      Thank you very much

    • @johnsuckher3037
      @johnsuckher3037 Před rokem

      tried stopping ,deleting still 404. I guess this is where I put a stop to this guide for now

    • @johnsuckher3037
      @johnsuckher3037 Před rokem

      stopped, deleted iis, restarted pc, still impossible to follow through

    • @esmattmorra4829
      @esmattmorra4829 Před 11 měsíci

      I tried writing https instead of http on postman and it worked, don’t know why

    • @uvieemma3854
      @uvieemma3854 Před 3 měsíci

      @@esmattmorra4829 i just experienced this and used https , it worked. I think its because of app.UseHttpsRedirection(); being allowed in program.cs..

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

    I wish I could find a tutorial like this on Microservices but for Node.js.

  • @elcisco11
    @elcisco11 Před 2 lety

    This is the second video I go through in its entirety. Great content! Clearly described and easy to watch.
    Thanks!

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

    Just absolutely amazing. Thang you so much for this course. It helped me so much to gather all minds about microservices and kubernetes into a single basket.

  • @mazingguitar
    @mazingguitar Před rokem +6

    5:05:55 404s. I'm stuck and dunno what to do. Followed along and checked everything :x
    Update.
    If you face this problem just call the API with https and it's fine. Have no idea why http doesn't work for me.

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

    Hi Les Jackson, Thank you for sharing such an amazing video for free, very generous and nice of you. One question I have regarding the databases. If each service is going to have its own DB, does it mean if we are going to migrate an existing app to a microservice architecture, we have to repeat the same DB for each service with all its objects regardless of its size? Or the DB is going to be broken into smaller parts and each service's DB is going to only have tables and objects related to that service? How does it work? what is the best practice here?

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

      You split the db into pieces where each microservice only has the specific data it needs to run. Then you have the microservice inter call each other to get the info needed when needed. For instance a user microservice may have a lot of info about a user. Another microservice gets called with the user id and only needs the email address and name of the user, so it calls the user service to get info on the user and only stores the id, email address, and name from all the info on the user returned.

    • @Solmead
      @Solmead Před 2 lety

      This is what he used the rabbetmq message bus to handle, so that the data could be up to date on any service needing pieces of the data.

  • @alexandrosKo
    @alexandrosKo Před 2 lety

    Lots of respect for releasing so much knowledge for free. Grateful for sharing mate!

  • @ejazkarimhunzai
    @ejazkarimhunzai Před 2 lety

    I'm a Microservices developer, and YT suggested this course too. I thought, what a fantastic person to share this level of knowledge for absolutely free for the people he never met.

  • @ShamanLightning
    @ShamanLightning Před 2 lety +5

    I have been following along using the .net 6 RC2. I ran into an issue at 5:51:08 and I suspect others will have this same issue if they use .net 6 upon the public release. When you add the migration it is not happy since the program and startup files were combined. You will need to make sure you are using the latest version of all the entity framework tools/packages or it will not allow you to create the migration.

    • @Kaushik-RoyChowdhury
      @Kaushik-RoyChowdhury Před 2 lety

      You may keep the Program file and Startup files in ASP.NET 6.0 exactly the same way as in version 5.0 and use the same code as Les has used. Off course combining the two files into just the Program file uses minimal API model and create issues in migration as you mention. I am working on ASP.NET 6.0 using both Startup and Program classes.

    • @adigunoluwadamilolavictori7170
      @adigunoluwadamilolavictori7170 Před rokem

      I'm using .net 6.0.
      I have migration bugs
      And the EF version is latest
      ==>
      Any help?
      "
      Could not run migrations:A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught)
      Unhandled exception. Microsoft.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught)
      "

    • @NguyenHuy-et8wy
      @NguyenHuy-et8wy Před 7 měsíci

      @@adigunoluwadamilolavictori7170 did you eventually find a fix to this problem? I'm running into the same issue :(

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

    This is like a $5000 course at a university.

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

    As a rule, I never leave comments on web sites, however, I am making an exception because this course is absolutely excellent. I am 3 1/2 hours in and cannot believe how well done this course is. Great work......

  • @timurkhairutdinov
    @timurkhairutdinov Před rokem

    I rarely place a comments on YT, but after finishing this course I would say that this is an outstanding and expectational course. Brilliant for novice, good for experienced who just starting to dive into the microservices area. Like and sub. I'll definitely check the rest courses.

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

    Hi Les.
    I Time = 04:17:50
    I got an error: Could not send synchronously: The SSL connection could not be established, see inner exception.
    Please advise

    • @JohnDoe-xi6df
      @JohnDoe-xi6df Před 2 lety +1

      I have the same error. Have you found the solution?

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

      @@JohnDoe-xi6df not yet. I went to watch other demos. I plan to do this one from the start.

    • @JohnDoe-xi6df
      @JohnDoe-xi6df Před 2 lety +1

      @@guy1407 Let me know when you know the solution. I'll do the same if will solve the problem faster then you. Thanks for the replay.

    • @rossellog
      @rossellog Před 2 lety +6

      dotnet dev-certs https --clean
      dotnet dev-certs https --trust

    • @JohnDoe-xi6df
      @JohnDoe-xi6df Před 2 lety

      @@rossellog It dod not help. I have the same error. Could not send synchonously: The SSL connection could not be established, see inner exception.

  • @xdrtas
    @xdrtas Před 2 lety

    This course was AMAZING.
    The outro was even better with the 70/80's music, fonts and effects :D Awesome.
    Thank you!

  • @giovanniperoni6166
    @giovanniperoni6166 Před rokem

    Les I think it's redundant to say this course is PURE GOLD and is better in terms of content, quality, clarity of like 90% of what one can find PAYING on other platforms.
    Thank you again for these super valuable hours, you gained a subscriber and a follower.
    Regards from Italy!

  • @mybusinessnotyours2051

    The fact you made this 100% free, is reason enough for
    me to show my support by watching as many ads as
    I can stomach. (Short ads I watch to the end, and the longer
    adds I try to watch at least 1 minute. )

  • @prajaram1918
    @prajaram1918 Před 2 lety

    I searched this for couple of weeks... Finally he is uploaded a golden content... Thank you for your efforts and contribution...

  • @Loveumica
    @Loveumica Před 2 lety

    I haven't yet gone through the whole course yet but definitely saving it as a must do thing. This is wonderful effort though. Thanks a lot. 11 hrs is a long time, can't imagine how much time you spent to put together this stuff.

  • @PiryutkoMaxim
    @PiryutkoMaxim Před 9 měsíci +2

    Это было легендарно! Спасибо большое за этот курс, прошел с огромным удовольствием, обязательно куплю ваши уроки для продолжения обучения вместе с вами, шаг за шагом это лучший метод обучения который мне подходит, и благодарю вас за ваш труд! Вы огромный молодец и действительно крутой специалист! Когда нибудь я стану таким же как вы, Спасибо вам еще раз!

  • @sayleelad8542
    @sayleelad8542 Před 2 lety

    I am just loving the stuff. I had no clue what the microservices are, it was just like a buzz word to me. But this content is truly magical. Covering so many concepts in depth with word to word implementation is just ausome.

  • @bahalulkabir
    @bahalulkabir Před rokem

    I learned about Microservice from this video. Used .net6.... step by step everything runs smoothly. Thanks a loooooooooooot man. long live -! Hopefully, you will continue making new videos and we will learn a lot! Once again Thanks.

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

    Thanks for such an amazing course. I really admire the efforts you have put into it.

  • @jackal9393
    @jackal9393 Před rokem

    just finished in two days. it's an amazing course. Thank you for everything. looking forward to see next big microservice course for more real world example as you said in the end. I would enroll asap

  • @ganeshcommn50
    @ganeshcommn50 Před rokem

    At the beginning i did not expect that I would complete watching the full video. its such a wonderful tutorial. thanks a lot

  • @qniken8770
    @qniken8770 Před 2 lety

    I'd like to thank you! You put so much effort in your videos and share so much knowledge with us for free. I highly appreciate your work!

  • @chrisspellman5952
    @chrisspellman5952 Před 2 lety

    I don't think I've ever said "Man, I'm really looking forward to watching an 11 hour video" but here I am. I was actually looking for a video that covers this topic and here I find one that covers everything.

  • @robertsan2654
    @robertsan2654 Před 2 lety

    Thank you, Les! It's unbelievable that you published this material free for everyone. Just like you say... "fantastic"! 🍻

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

    I finally finished this course, thank you so much, I have learned a lot.

  • @nenuravishankar
    @nenuravishankar Před 2 lety

    Hats off to your commitment Les. Take a bow. Thanks a lot for your all your time and efforts.