The Scale Cube

The Scale Cube is a model for defining microservices and scaling technology products.

X axis is scaling achieved by running multiple clone of application behind load balancer.

Y-axis scaling splits the application into multiple, different services. Each service is responsible for one or more closely related functions. Application is decomposed along Y-axis. Noun-based or verb-based decomposition strategies can be used along Y axis. Microservice architecture is an application of Y-axis scaling.

Z-axis scaling consists of each server running the same code but for only a subset (shard) of data. The most common example is split by geography for B2C implementations. This strategy scales transactions well , improve response time and can provide fault isolations.

More details on the Scale Cube can be found here.