The rise of Service-Oriented Architectures (SOAs) and microservices
Briefly defined, microservices are chunks of software deployed on computer networks that communicate through network protocols. However, this is not all; they must also obey a set of further constraints.
Before giving a more detailed definition of what a microservices architecture is, we must understand how the idea of microservices evolved and what kind of problems it was called to solve. We will describe the two main steps of this evolution across two separate subsections.
The rise of SOA
The first step in the direction of microservices was taken by the so-called service-oriented architectures, or SOAs, that is, architectures based on networks of communicating processes. Initially, SOAs were implemented as web services similar to the ones you might have already experienced in ASP.NET Core.
In an SOA, different macro-modules that implement different features or roles in software applications are exposed...