Building Domain Driven Microservices
I think that many people look at Microservices from a purely technical standpoint. How much compute power do I get per dollar spent. What about the monitoring complexities and the logging problems?Microservices are actually often driven by business requirements. According to the Myhtical Man Month communication channels follow  n(n − 1) / 2. So a team of 4 developers has 6 possible communication channels, a team of 5 already 10. This eincreases sharply as team sizes increase and is one of the reasons big enterprise projects suffer compare to startups.The business benefit of Microservices (done right) is that you build islands of communication, that communicate using only one outside channel. Now communication increases less sharply as teams are separated by their boundaries.According to the guardian the team size and structure is one of the secret for Amazons success.  https://www.theguardian.com/technology/2018/apr/24/the-two-p...For smaller teams the communication benefit will often not outweigh the additional complexity.