I came across this article from Robert C. Martin (Uncle Bob) about Microservices architecture. In it he argues that any architecture whether microservices or traditional 3-tier or anything in between, needs to be designed to be decoupled from deployment strategy. He argues that the code should be unaware of whether it will eventually be deployed as microservices or DLLs or anything else. And that you shouldn’t bake deployment strategy into your code. Interesting article for sure. You can read the complete article on his site here.