The origins of service-oriented architecture
There is no official standard for microservices, so it is helpful to look at a bit of the history in this area of software design. When discussing microservices, Service-Oriented Architecture (SOA) is often used as a starting point. SOA is a way of thinking about software architecture that encourages reusable software components that provide well-defined interfaces. This allows those components to be reused and applied to new situations.
Each unit in the preceding definition is a self-contained service that implements one facet of a business and provides its feature through some interface.
While SOA clearly states that services should be standalone processes, it does not enforce what protocols should be used for those processes to interact with each other and is quite vague about how you deploy and organize your application.
If you read the SOA Manifesto (http://www.soa-manifesto.org), first published on the web circa...