The most intuitive evolution of a monolithic, unscaled application is moving right along the X axis, which is simple, most of the time inexpensive (in terms of development cost), and highly effective. The principle behind this technique is elementary—that is, cloning the same application n times and letting each instance handle 1/nth of the workload. Scaling along the Y axis means decomposing the application based on its functionalities, services, or use cases. In this instance, decomposing means creating different, standalone applications, each with its own codebase, sometimes with its own
...more