Adoption Will Change The reasons why MSA became popular are not the same reasons why it will become ubiquitous Source: Crossing the Chasm – Geoffrey A. Moore
of service interfaces is every bit as toxic as the code one, and can render entire architecture useless. Hypermedia design, with its high degree of interface de-coupling can be of huge help here.
= Capabilities. “In your organization, you should be thinking not in terms of data that is shared, but about the capabilities those contexts provide the rest of the domain.” – Sam Newman, Building Microservices
Business teams actually don't favor small bounded contexts (due to diff. ubiquitous language). For tech: continuous Integration is easier with smaller teams and codebases.
is all about storing facts and any time you have "state" (structural models) – they are first-level derivative off of your facts. And they are transient." - Greg Young
Query Responsibility Segregation (CQRS) Segregate operations that read data from operations that update data by using separate interfaces. This pattern can maximize performance, scalability, and security; support evolution of the system over time through higher flexibility; and prevent update commands from causing merge conflicts at the domain level. https://msdn.microsoft.com/en-us/library/dn568103.aspx
Microservice Visit Message Queue Facts Store (e.g. Cassandra) "List Patient Visits by a Doctor" Microservice Query Index Store (e.g. ElasticSearch) Validation
Overuse ES or CQRS! You should only use Event Sourcing and CQRS when necessary. It is not an architecture for your entire system, but a tool to be used sparingly.