Really well presented with clarity. Never seen any other video explain this much clearly the defining factors of what a Microservice is. And all the practical key points all through the video are very useful - For instance, deciding the method of communication pattern between Microservices based on the expected response time of the service.
Very well explained. Thank you so much for sharing your learning and thoughts. Could you please clarify on the following questions. 1. Can we use containers for heavy traffic sites? 2. If yes, how we can scale out / up containers?
@Saravana Kumar, hi, thanks for watching the video. 1. Yes, you can use containers for any applications. 2. Yes, a container can take all the resources of a machine, but in that case, the machine will probably have only one container. That kind of defeats the purpose of using containers in the first place. If your application need scaling up, I would suggest reconsidering the design. Scaling out is a much better strategy then scaling up, as there is always a limit to how much you can scale up. Whereas there is no limit to scaling out. I hope it makes sense. Thanks!
One of the main reason moving to Micro Services is the advantage independent scalability. And from my experience end to end testing is much harder with Micro Services and most tend to rely on efficient unit testing within each service.
Unit testing is another topic, though. 100% unit testing should be the norm for any professional team. If this is difficult to do, it's possible that you're not splitting to the correct interfaces. Integration testing should be done by experienced programmers. Most other services that do not belong to this domain can be mocked. Usually companies should have their own integration test framework to make it easier. CI/CD teams can be more easily complete full end-to-end testing automatically and should have a way to let you to do the test in certain UI in certain environment for your new tag. I can't think of any obvious major downside, other than the cost of communication between microservices.
Hi , its my worth to watch video. very descriptive content amongst all the video I had watched. Thanks for such awesome contents and the way you explained everything. I would be thankful to you if you have any training martial or video from the scratch how to build the microservice and containerized them with the data base and how to deploy them. Thanks Again.
@Sachin Kumar, thanks for watching! I don't have any video on that yet, but I think it is something worth considering. I will add it to my calendar for a future date.
Your videos are worth watching, Always waits for your videos, Hope you'll do complete ASP Net Project or Any live session that covers complete ASP NET Core API project.
Can you elaborate on Data Stream? Is it radially available set of tables? Or your custom tables which updates summary information internally? Nice explanation.
See, first, a fall people need to understand is that microservices are not a solution to every problem. Monoliths are still great and there are a number of the application right now in production which is built on it. The services which are now microservices were monolith at some time in the past. One of the biggest hurdles in building microservices is the inter-communication between microservices and maintaining transactions which span across different bounded contexts (different services), once the team found a solution to this problem by adhering to their project requirement, of course, microservices then are easy to build. What I do personally is like I start with a monolith (by keeping separation of concern, but in single solution), once I fill like, now it's time to divide it in a separate solution of simpler microservice, then I tend to start to do it, this way you can learn and it easily separable if you already followed the separation of concern principle while building the same. Then I focus on solving those 2 above major problems. Greate video btw! :) Please make a video on using MassTransit with rabbitmq. That will be very helpful. Edit - I write this comment at 10:00, seems like you are talking the same thing that I wrote here. 😁😁
Thanks for the great content ! I actually had a question, for instance if I have a microservice that needs table A only and another microservice that needs table A and B because of join operations. Does it make sense to keep the 2 microservices or should I just have 1 microservice that will sometimes not use table B ? Thanks :)
@MrDonald911, it might make sense to keep only one, but it depends on what their intersection of domain responsibilities. If they do not intersect at-all, it will not make sense to bring them together.
@Gopi HB, I already have a video for Kafka, it should not be any different for a microservice. Kafka is a streaming service, so its all about if your microservice is going to be a producer or consumer. I am not 100% sure what is your expectation for a microservice with Kafka. If you could elaborate it more, I can definitely look into it. And also regarding swagger, I have a video on Swagger and ASP.NET Core. That should be true for any HTTP microservice you are building. Please let me know if this is what you had in mind. Thanks!
@@DotNetCoreCentral thanks for ur rly. I'm beginner for micro service architecture. I have some questions. 1.Definitely use bus service for microservice architecture..? 2.what u preferred bus service for microservice architecture..? 3.which is better building own API gateway or ocelot..? 4. I choose kafka bus service because its open source what about ur suggestion..? Last one request can u pls put videos for bus services
@@gopalakrishnanm9349 For question no 1., it depends on what problem you are trying to solve. In some cases plain old database will be the only thing needed. Some cases streaming service like Kafka is better. In some cases, a queue like RabbitMQ is better. It completely depends on your situation. 2. I prefer Kafka for streaming and RabbitMQ for queue 3. I would prefer Ocelot as it comes with all features 4. Yeah that makes sense
You mean data stream is like separate report server which will contain data from all micro services. right ? i yes how data is replicated to the report server.
Hi, u video is very useful ! I have a question is if I use efcore orm to create database, how to build migration to generate database with two microservices E.g produce Microservices , order Microservices . what is structure for Microservices modeldata use efcore
@All Virus, your both microservices should own their databases, or at-least table set. In that case your migration for each service will be inside of the service itself and should not cause any conflict. Thanks!
@@DotNetCoreCentral Is it weak association? if I get order info and the order has produce info,it is means i get request to order and the order microservices call produce microservices get produce info, or two requset send, one call to order .another call produce ? how association between two microservices? thanks for you answer~
@@allvirus4262 Ideally the order should keep a common minimum information of produce in the context of order at the point in time when order was made, for example, produce id, name, price and quantity. As it belongs to order context. And that should be in the POST contract of the order. Now if the caller needs produce information, which is beyond the context of the order, in that case, the caller should make two calls asking produce for the data associated with the produce ids. Does this answer your question? Thanks!
@Pedro Ferreira, Thanks for watching the video. I am planning to do a video on breaking out a monolithic application written in .Net Core to microservices, is this what you are looking for?
Really well presented with clarity. Never seen any other video explain this much clearly the defining factors of what a Microservice is. And all the practical key points all through the video are very useful - For instance, deciding the method of communication pattern between Microservices based on the expected response time of the service.
@Solomon Prabhakaran, thanks for watching!
very great presentation.. down to earth. easy to digest
@choirul amri, thanks for watching!
Thanks for this amazing content and resources,I'm gonna go through all the series! Keep going
Glad you like them!
This is awesome..it's helps me lot.. please post videos like that would help many folks like me...
@Rajesh Selvam, thanks for watching!
I am speechless! god job. you are going to be among the best.
@javad ghamari, thanks for watching!
Very clear and concise. Thank you for creating such a helpful video!
Thanks for watching!
Very well explained.
Thank you so much for sharing your learning and thoughts.
Could you please clarify on the following questions.
1. Can we use containers for heavy traffic sites?
2. If yes, how we can scale out / up containers?
@Saravana Kumar, hi, thanks for watching the video.
1. Yes, you can use containers for any applications.
2. Yes, a container can take all the resources of a machine, but in that case, the machine will probably have only one container. That kind of defeats the purpose of using containers in the first place.
If your application need scaling up, I would suggest reconsidering the design. Scaling out is a much better strategy then scaling up, as there is always a limit to how much you can scale up. Whereas there is no limit to scaling out. I hope it makes sense. Thanks!
@@DotNetCoreCentral Thank you.😊
@@SaravanaKumar-bt5xn glad I could help! Thanks again for watching!
Hi.. Great video. Eagerly waiting for next part of microservices. If you possible please share the upcoming video topics..
@Mahendran Chinnaiah, thanks for watching. I will start posting on my channel and get feedback for future videos. Thanks for the suggestion.
One of the main reason moving to Micro Services is the advantage independent scalability. And from my experience end to end testing is much harder with Micro Services and most tend to rely on efficient unit testing within each service.
Well said... Extremely hard for New developers coming after design when you have no proper documentation of your microservices communications/pattern
Unit testing is another topic, though. 100% unit testing should be the norm for any professional team. If this is difficult to do, it's possible that you're not splitting to the correct interfaces. Integration testing should be done by experienced programmers. Most other services that do not belong to this domain can be mocked. Usually companies should have their own integration test framework to make it easier. CI/CD teams can be more easily complete full end-to-end testing automatically and should have a way to let you to do the test in certain UI in certain environment for your new tag. I can't think of any obvious major downside, other than the cost of communication between microservices.
Hi , its my worth to watch video. very descriptive content amongst all the video I had watched. Thanks for such awesome contents and the way you explained everything. I would be thankful to you if you have any training martial or video from the scratch how to build the microservice and containerized them with the data base and how to deploy them. Thanks Again.
@Sachin Kumar, thanks for watching! I don't have any video on that yet, but I think it is something worth considering. I will add it to my calendar for a future date.
Your videos are worth watching, Always waits for your videos, Hope you'll do complete ASP Net Project or Any live session that covers complete ASP NET Core API project.
@RAM, thanks for watching the video. I will definitely do a video on your request.
Good explanation and experience share. Thanks.
@KoScosss thanks for watching!
Thanks for great videos and for keeping them to the exact point.
Glad you like them!
You have answered my questions in one video thanks bro
@Eng Hazymeh, thanks for watching!
Thanks for sharing your knowleadge with us!
@Tony Alcast, thanks for watching!
Great video! It is an informative one and worth watching every minute of your speech.
@Jayaraman Kumar, thanks for your appreciation!
Thanks for your awesome channel.
please correct the order of videos in your microsevice playlist
@Sajad Jalilian, thanks for watching! I will correct the order.
Thanks, well explained and crystal!
can you share us using Docker and Docker-compose
@Birendra Sahu, thanks for watching! I will definitely create a video on Docker in the future.
Very nice explaination
Thanks and welcome
Very underrated tutorials, keep up your good work.
@srinivas Reddy Yella, thanks for watching!
Can you elaborate on Data Stream? Is it radially available set of tables? Or your custom tables which updates summary information internally? Nice explanation.
Seems like a data warehouse to me.
Could you please cover Abstract factory and Factory Design pattern.
@Dilip Gautam, sure I can do that.
Very good video. Thank you.
Glad you liked it!
Do a serie turning a monolith application with the concepts of microservices.
@Manuel Guerrero, thanks for watching the video. I am not sure I understood your request, can you please elaborate. Thanks
See, first, a fall people need to understand is that microservices are not a solution to every problem. Monoliths are still great and there are a number of the application right now in production which is built on it. The services which are now microservices were monolith at some time in the past.
One of the biggest hurdles in building microservices is the inter-communication between microservices and maintaining transactions which span across different bounded contexts (different services), once the team found a solution to this problem by adhering to their project requirement, of course, microservices then are easy to build. What I do personally is like I start with a monolith (by keeping separation of concern, but in single solution), once I fill like, now it's time to divide it in a separate solution of simpler microservice, then I tend to start to do it, this way you can learn and it easily separable if you already followed the separation of concern principle while building the same. Then I focus on solving those 2 above major problems.
Greate video btw! :)
Please make a video on using MassTransit with rabbitmq. That will be very helpful.
Edit - I write this comment at 10:00, seems like you are talking the same thing that I wrote here. 😁😁
@Shreyas Jejurkar, thanks for providing your valuable inputs, and thanks for watching the video.
@@DotNetCoreCentral Please make a video on using MassTransit!
@@shreyasjejurkar1233 sure, will add it to my TODO list, thanks!
Excellent !!! thank you very much
Thanks for sharing man! Really helped me! God bless!
@Full Stack Indie, thanks for watching!
Good explained
Thanks for liking
Dude, great content
Appreciate it!
Thanks for the great content ! I actually had a question, for instance if I have a microservice that needs table A only and another microservice that needs table A and B because of join operations. Does it make sense to keep the 2 microservices or should I just have 1 microservice that will sometimes not use table B ? Thanks :)
@MrDonald911, it might make sense to keep only one, but it depends on what their intersection of domain responsibilities. If they do not intersect at-all, it will not make sense to bring them together.
Thanks alot to you
@Ramya Bantaram, thanks for watching!
Well made
Thanks
Great video.
@Naufil Shaikh, thanks for watching!
Great video
@Manuel Guerrero, thanks for watching!
Could you please share slides for this video, that will definitely help.
How Web API is difference than micro services? how can be microservices intergrated with main application?
Microservice is a architectural pattern which can be implemented through Web API
can please put video for micro service with kafka...? and how to document the micro services example swagger
@Gopi HB, I already have a video for Kafka, it should not be any different for a microservice. Kafka is a streaming service, so its all about if your microservice is going to be a producer or consumer. I am not 100% sure what is your expectation for a microservice with Kafka. If you could elaborate it more, I can definitely look into it. And also regarding swagger, I have a video on Swagger and ASP.NET Core. That should be true for any HTTP microservice you are building. Please let me know if this is what you had in mind. Thanks!
@@DotNetCoreCentral thanks for ur rly. I'm beginner for micro service architecture. I have some questions. 1.Definitely use bus service for microservice architecture..?
2.what u preferred bus service for microservice architecture..?
3.which is better building own API gateway or ocelot..?
4. I choose kafka bus service because its open source what about ur suggestion..?
Last one request can u pls put videos for bus services
@@gopalakrishnanm9349 For question no 1., it depends on what problem you are trying to solve. In some cases plain old database will be the only thing needed. Some cases streaming service like Kafka is better. In some cases, a queue like RabbitMQ is better. It completely depends on your situation.
2. I prefer Kafka for streaming and RabbitMQ for queue
3. I would prefer Ocelot as it comes with all features
4. Yeah that makes sense
Is this course still valid in 2022? Do you have any plan to release a dedicated series on Microservice?
To my knowledge, this is still valid as far as microservices are concerned.
You mean data stream is like separate report server which will contain data from all micro services. right ? i yes how data is replicated to the report server.
@Atul Srivastava, thanks for watching. Though I could not understand your comment, can you please clarify? Thanks!
Hi, u video is very useful ! I have a question is if I use efcore orm to create database, how to build migration to generate database with two microservices E.g produce Microservices , order Microservices . what is structure for
Microservices modeldata use efcore
@All Virus, your both microservices should own their databases, or at-least table set. In that case your migration for each service will be inside of the service itself and should not cause any conflict. Thanks!
@@DotNetCoreCentral Is it weak association? if I get order info and the order has produce info,it is means i get request to order and the order microservices call produce microservices get produce info, or two requset send, one call to order .another call produce ? how association between two microservices? thanks for you answer~
@@allvirus4262 Ideally the order should keep a common minimum information of produce in the context of order at the point in time when order was made, for example, produce id, name, price and quantity. As it belongs to order context. And that should be in the POST contract of the order. Now if the caller needs produce information, which is beyond the context of the order, in that case, the caller should make two calls asking produce for the data associated with the produce ids. Does this answer your question? Thanks!
@@DotNetCoreCentral Tanks! I understand!
Tutorial using microservice in dotnet?
@Pedro Ferreira, Thanks for watching the video. I am planning to do a video on breaking out a monolithic application written in .Net Core to microservices, is this what you are looking for?
@@DotNetCoreCentral yes, thx you so much! Love the content.
Video is too good
Thanks for watching!
Linux SUCKS !!!
Very clear and concise. Thank you for creating such a helpful video!
Glad you enjoyed it!
Very good video.
@amit rajput, thanks for watching!