Diagonal Scaling

Overview

Scalability is a major benefit of cloud server architecture. However, not all scaling is performed in the same way and there are some significant differences between the different scaling mechanisms.

Vertical Scaling consists of bolstering the computing power of a single server, by increasing the number of CPU cores, main memory and disk storage. However, even in the case of a virtual server, these hardware resources are not limitless. Additionally, the server may reach a point where increasing the power of one or more components does not increase its overall output.

Horizontal scaling is the placement of several similar machines in parallel.

Diagonal scaling is the combination of vertical and horizontal server scaling, which constitutes upgrading and adding components to a single server up to the critical point of cost-effectiveness, or having reached full server specification, and then replicating the server in its current configuration. This offers the most effective scaling mechanism, both in terms of price and performance.



How it Works

Diagonal scaling is the combination of vertical and horizontal server scaling, which constitutes upgrading and adding components to a single server up to a critical point and then replicating the server in its current configuration. This offers the most effective scaling mechanism, both in terms of price and performance.

In practice, the computing power of a single server is fortified by increasing the number of CPU cores, main memory and disk storage. Once the server’s computing power has reached its peak, or it is no longer cost-effective to add components to it, similar servers are added to the structure to increase it horizontally.

This is a highly effective mechanism for increasing throughput and maximizing on performance indefinitely. The underlying infrastructure used by Kamatera is suitably designed for diagonal scaling, ensuring a smooth path from a server with very little load (such as a development machine) to a server setup that can handle high-usage from many simultaneous requests.