From: | Cordie O'Conner [cordie.conner@example.com] |
To: | john.doe@example.com |
Date: | 15 Oct 2021, 13:43 |
Subject: | How to build microservices |
Hey John,
Say your application is built on one code and is quite large and monolithic. It worked well until it didn’t. You wish it could evolve and become more resilient, scalable, and independently deployable. To do so, you need to rethink the structure of the application on a granular, microservices level.
Microservices have grown in popularity as applications become more distributed and complex. The guiding principle of microservices is to build an application by splitting its business components into small services that can be deployed and operated independently from each other. The separation of concerns between services is defined as “service boundaries”.
Service boundaries are closely tied to business demands and organizational hierarchy boundaries. Individual services may be tied to separate teams, budgets, and roadmaps. Some example service boundaries might be “payment processing” and “user authentication” services. Microservices differ from legacy software development practices in which all components were bundled together.
This document will reference an imaginary pizza startup called “Pizzup” to illustrate the application of microservices to a modern software business.