What Are Microservices?
Microservices have become an increasingly popular architecture choice over the past five years. This report distills the essence of microservice architecture, highlighting the core concepts that make them work. I also highlight some of the challenges associated with these distributed systems and help give some degree of clarity as to whether they are something you, as a more experienced developer, architect, or chief technology/information officer (CTO/CIO) might want to explore.
At a Glance
Microservices are independently releasable services that are modelled around a business domain. A service encapsulates functionality and makes it accessible to other services via networks—you construct a more complex system from these building blocks. One service might represent inventory, another order management, and yet another shipping, but together they might constitute an entire ecommerce system. Microservices are an architecture choice that is focused on giving you many options for solving the problems you might face.
They are a type of service-oriented architecture, albeit one that is opinionated about how service boundaries should be drawn, and one in which independent deployability is key. They are technology agnostic, which is one of the advantages they offer.
From the outside, a single microservice is treated as a black box. It hosts business functionality on one or more network endpoints (for example, a queue or a REST API, as shown in Figure 1, over ...
Get What Are Microservices?, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.