Open In App

The Scale Cube

In general, applications are built monolithic in the beginning. Monolithic applications are well and good when there are a smaller number of users and the traffic is very low. But, when the traffic increases, the system gets overloaded and slows down which results in poor performance, latency and system crashes also.

According to the AKF Scale cube model, in order to achieve scalability, the application needs to be scaled in 3 dimensions. Namely X, Y and Z. This approach can be used to scale an application infinitely.



The Scale Cube

X Axis Scaling – Replicating and Cloning

It is an application of replicating and cloning. It comprises of running a number of applications doing the same task or cloned databases storing the same data. These copies are run behind a load balancer. The load balancer equally distributes the load amongst all the clone systems. It is a very common and easy to understand approach for scaling an application.



Advantages of X Axis Scaling –

Disadvantages of X Axis Scaling –

Y Axis Scaling – Splitting Different Things

It splits the application into a number of separate services. A service is only responsible for only one function. It can also further be fine grained and loosely coupled when these services are further distributed apart. Microservices architecture is majorly an application of Y-Scaling. There are many approaches to decompose the application. Broadly, there are two: verb based (one service responsible to implement one use case) and noun based (one service responsible to handle all operations and which pertain to a single entity). A good approach is to use a mix of both.

Advantages of Y Axis Scaling –

Disadvantages of Y Axis Scaling –

Z Axis Scaling – Splitting Similar Things

It is quite similar to X- Scaling and hence confused a lot. Here, each replica runs the same copy of code. But each replica is not doing exactly the same thing. The workload is distributed amongst them. One replica only works on a subset of data. A part of the application routes each request to the appropriate server. It can be done on a geographical basis to increase the response speed. It is also done on the basis of customer. For example, a privilege customer of an application will be routed to a faster set of servers. Just like there are a lot of download servers which limit download speed for non-paying customers.

Advantages of Z Scaling –

Disadvantages of Z Scaling –

Article Tags :