Chapter 4. Microservices Architecture
While a Cloud-Native Architecture structures an application to incorporate cloud computing practices, a Microservices Architecture refines that further to modularize the application and distribute the cloud-native modules across the cloud infrastructure.
Back in the day, all applications were monolithic applications. Developers didn’t need to specify that what they were producing were monoliths; they were just applications. Then with the advent of client/server computing, developers started designing applications with Distributed Architecture, structuring a single application as coordinated parts that could run on different computers. Service-oriented architecture (SOA) evolved to structure the distributed parts as services that could invoke one another to perform functionality. This is when monolithic architecture became one of multiple possibilities: an application could be a monolith or distributed.
With the advent of cloud computing, developers started creating Cloud-Native Applications (Chapter 3). Likewise, developers designed the services in service-oriented architecture to run on the cloud by incorporating Cloud-Native Architecture into services, evolving services into miniature applications that became known as microservices.
Introduction to Microservices Architecture
This chapter explains how to build applications that work the way cloud does: composed of a constellation of small components that can be replicated easily and distributed ...