Complexity

Distributed systems are inherently complex. Although the individual services themselves remain small and generally simple, the communication between the services and the management of the services becomes much more complex.

Keeping a monolithic application running on a small cluster can be a full time job in itself. In a microservices architecture, instead of one deployment, we are now deploying tens or hundreds of services, all of which need to be built, tested, and deployed, and that need to work seamlessly together. We need to ensure that all the services are up and running, have sufficient disk space and other resources, and remain performant. These services can even be implemented in multiple languages. All the services generally ...

Get Microservices with Docker on Microsoft Azure™ (includes Content Update Program) 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.