Chapter 1. Introduction

We change a monolithic system only when we have no other choice. Rather than swiftly capture opportunity, we ponder if it’s really worth upsetting the delicate balance of the house of cards we call our enterprise system. Often the opportunity quickly disappears, captured by a faster company, as in Figure 1-1.

In the new world, it is not the big fish which eats the small fish, it’s the fast fish which eats the slow fish.

Klaus Schwab

Slow fish versus fast fish
Figure 1-1. Slow fish versus fast fish

Microservices-Based Architecture is a simple concept: it advocates creating a system from a collection of small, isolated services, each of which owns their data, and is independently isolated, scalable and resilient to failure. Services integrate with other services in order to form a cohesive system that’s far more flexible than the typical enterprise systems we build today.

Traditional enterprise systems are designed as monoliths—all-in-one, all-or-nothing, difficult to scale, difficult to understand and difficult to maintain. Monoliths can quickly turn into nightmares that stifle innovation, progress, and joy. The negative side effects caused by monoliths can be catastrophic for a company—everything from low morale to high employee turnover, from preventing a company from hiring top engineering talent to lost market opportunities, and in extreme cases, even the failure of a company. ...

Get Reactive Microservices Architecture 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.