Microservices vs. SOA
Posted by Chris on November 11, 2014
Very nice post by Martin Fowler that provides the foundational elements of microservices architecture. From this blog post the following summarized the architectural style:
“In short, the microservice architectural style  is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare mininum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.”
Comparing this to service-oriented architecture the same basic principles hold true however Martin’s description provide very specific details on the communication, deployment and management. Both are technology agnostic however SOA patterns talk to using Policy Centralization or splitting up the services into separate domains with independent infrastructure. Automated deployment and storage technologies are also not articulated with SOA Patterns. What was interesting is the inclusion of an old cloud pattern, design for failure, as being a core component in a microservices architecture.