Hi guys, I want to share my colleague's guide on splitting monolith into microservices. He is a solution architect and shares his expertise on what to look out for and how to overcome some known challenges when working on microservices.
https://mobidev.biz/blog/monolith-to-microservices-migration-guide-challenges-and-best-practices
As a developer in a company that's going through this process right now I can say only one thing - don't. Most likely you're about to introduce some insane complexity for absolutely no reason at all.
Instead - identify large isolated domains within your system that really require separate development practices and a separate team to run them and split those domains out.
Another advice I can give - prepare your infrastructure before even starting. You want to have proper queues, messaging, logging, exception tracking, analytics, monitoring, CI/CD setup before jumping into micro/macro-services. And while you're thinking about it - weight the pros and cons again.