Chapter 9. Microservices
Let everyone sweep in front of his own door, and the whole world will be clean.
– Goethe
As software has grown more complex, it has become impossible for any one person, or even a single team, to maintain total awareness of an entire architecture. The rise of the internet promoted the concepts of frontend (a browser on one computer processing JavaScript, CSS, HTML) and backend (another computer running a database and an HTTP server) unified on a single server to deliver one product—the web page. A user might click on a button, a call is made to a server, that server might check a database, and will ultimately deliver an HTML page.
The pace has picked up. The modern user expects powerful and highly-interactive mobile apps to entertain them or drive their business, at a low cost, with regular updates. Now, one person can create an app that gains millions of users within months. To scale from one person to a company supporting millions of concurrent users in a few months...