After the success of service-oriented architecture (SOA), the term microservice has been in the enterprise software development for quite a while now and is popular and useful to many experts in building up decomposed services and domain models in many huge applications. Either to be used for small or huge enterprise software development, the purpose of microservice architecture is to break down monolithic software prototypes into independent and granulized service boxes, each having an independent set of objectives and tasks that can be pulled to decorate a needed requirement. Unlike in distributed architecture where each submodule does not necessarily interact with the other at runtime, in microservice design there is always a gray area where these service boxes communicate depending on the modes and approaches of inter-process communication.
But this chapter...