The Scale Cube and MSA

Seungyeon Anna Baek
2 min readDec 10, 2022

--

Over time, new functions of applications are continuously developed and number of service users increase. To deal with these expansion of an application, developers and architects offer several solutions.

previous post: Monolithic Architecture

The Scale Cube

In the book <The Art of Scalability>, written by Michael T. Fisher and Martin L. Abbott, they suggest applications can be expanded by following 3-dimensional scale cube model.

Expansion in the x, y, z-axis direction

X-axis: load balancing to multiple instances

By adding load balancer to distribute incoming requests to duplicated instances, we can improve the capacity of an application. Monolithic applications can be expanded in this way.

Z-axis: routing by an attribute of the requests

The incoming requests are routed to an instance that matches the attribute of the request. Duplicated instances behind the router, then, process the subset of the entire client requests that they received from the router. This type of expansion helps an application to handle large volume of transaction and data.

Y-axis: decomposing to micro services by the function of an application

The two types of expansion above improve the capacity of applications, but still they suffer from the complexity. By decomposing monolithic application to the set of micro services that have focused/cohesive responsibility of a single function, we can ensure modularity of an application.

Micro Service Architecture (MSA)

MSA uses a service as a unit of modularity. Each services have their own database and protect their internal class with APIs. These micro services then, can be used as the building blocks of an application, build, tested and expanded independently.

SOA(Service Oriented Architecture) uses SOAP and global modeling database to design large monolithic application. Compared to SOA, MSA uses message broker or lighter protocols like gRPC and consists of individual database models of a small services.

Reference

Microservices Patterns by Chris Richardson

--

--

Seungyeon Anna Baek
Seungyeon Anna Baek

Written by Seungyeon Anna Baek

Yonsei University dept. of Computer Science

No responses yet