Service-oriented architectures
You might be asking yourself, “Isn’t this the same as SOA?” Not exactly, you could say microservices achieve what SOA promised in the first place.
An SOA is a style of software design where services are exposed to other components through a language-agnostic, communication protocol over a computer network.
The basic principle of SOA is to be independent of vendors, products, and technologies.
The definition of a service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement online.
Although similar, SOA and microservices are still different types of architectures.
A typical SOA is often implemented inside deployment monoliths and is more platform driven, while microservices can be independently deployable and, therefore, offer more flexibility in all dimensions.
The key difference, of course, is the size; the word micro...