One of the key requirements that gave birth to microservices is support for a polyglot architecture. Various business capabilities need different treatment. The principle of "one rule applies everywhere" doesn't work anymore. Different technologies, architectures, and approaches are needed to handle all business and technological capabilities. When we are scoping microservices, this is another key factor to take care of. For example, in our shopping microservice system, a product search microservice doesn't need relational databases, but adding to the cart and the payment service need ACID compliance, as handling transactions there is a very niche requirement.