There are a lot of talk, article and book around design and discussion on what is microservice architecture, why we need them, how to break down monolith etc. But when developers started developing microservice, I have seen they often forget most obvious scenario that happen in microservice communication and thus fail terribly when they deploy service in production.
Instead of discussing the theory and architecture of microservice (which can be found in abundance on internet), this talk will mainly focus on applying solutions for common and obvious issues that usually arise when microservices go live. From practical experience, I observed, when developing microservice based application, most developers are solely focused on developing business logic and treat development in the same way as monolith application. And once development is complete or close to complete, they start figuring out common issues or problems that come naturally in distributed system environment where multiple services works by communicating with each other. But this could be avoided simply by having proper approaches and tools in place at the start of development.