Horizontal and vertical scaling of IT infrastructure
Sooner or later in the company there comes a time when the existing server at its disposal can no longer cope with the processing of large amounts of data and the overall computing load. At this point, the dilemma arises: add capacity to the existing server or purchase a second one to distribute the load between them. In this material we will consider the pros and cons of both options, and talk about modern approaches to building IT-infrastructure.
What is scaling and when does it apply
Scaling is the process of adding resources aimed at the ability of an information system to cope with increasing volumes of data and their processing. There is no IT infrastructure that stays the same for a long time in a running environment. Even if a company has paused its processes and is not growing or developing, the amount of data will still accumulate and the information systems will become more complex. Computational queries require the server to store large amounts of data and allocate significant resources.
Therefore, one of the priority tasks of IT specialists is to ensure infrastructure scalability, that is, the ability to quickly and cost-effectively expand the scope and performance of IT solutions. Scaling of IT infrastructure can be horizontal or vertical.
Vertical scaling involves increasing capacity by adding resources: processors, memory, disks, etc. Vertical scaling is used when a company has reached the performance limits of a particular infrastructure element or node (CPU, storage, etc.). As the performance requirements of the IT infrastructure grow, the components of the computing system are replaced with more powerful ones. Increasing the performance of each individual component leads to an increase in overall performance.
The main disadvantage of vertical scaling in enterprise tier systems is the limitations. When a system user exceeds the allotted limit, he has to buy the next tier system. After that, it is necessary to move the infrastructure to a system with an extended limit. Sooner or later this happens in every company, because data tends to accumulate. The problematic is supplemented by a new question: “what to do with the old equipment”.
Horizontal scaling is realized by adding more nodes of the infrastructure, each of which can take some of the load of the others. The main advantages of this approach are the ability to use standard inexpensive hardware, sufficient resources for workloads and no need for infrastructure migration.
Another advantage of horizontal scaling is the ability to work without downtime. With horizontal scaling, software instances run on multiple nodes of the IT infrastructure. Even if one of them fails, the remaining ones distribute its load among themselves, and the software continues to work. By comparison, in vertical scaling, a virtual machine failure will cause the software to stop working and require intervention to get it back up and running. Therefore, with vertical scaling, the more expensive the servers, the less likely they are to fail and suffer downtime. Horizontal scaling allows you to abandon the purchase of expensive equipment with increased reliability. It is easier and more profitable to buy inexpensive infrastructure elements and in case of failure to replace them with new ones. Costs can be reduced by about 20 times. At the same time, a virtual machine created on new hardware will contain a portion of data, which will ensure stable operation as part of a common cluster. This will allow you to migrate virtual machines from one infrastructure to another without stopping work.
How hyperconvergence enables horizontal scaling
Hyperconverged solutions allow a virtual infrastructure to be used as a platform to operate a horizontal scaling solution. In this way, a company can replace vertical scaling with horizontal scaling. Hyperconvergence is a modern infrastructure in which layers of compute, storage and network resources are combined into components without dedicated roles. This provides simplicity, speed and visibility, as well as a lack of discreteness.
If necessary, new nodes are added to the hyperconverged infrastructure to scale it. In this case, all nodes and elements will be the same and all roles will be combined. This greatly simplifies the infrastructure and reduces the cost of maintaining it. While the converged approach requires a team of 15-20 people to maintain the infrastructure “with a history,” hyperconverged solutions can be managed by a single specialist.
An example of a Russian hyperconverged solution is the vStack platform. The platform allows you to build an infrastructure based on the principles of horizontal scaling and can therefore be used with hardware both corporate and consumer level. The customer can independently form the outline of his own IT system and choose equipment to operate the platform based on his own needs, rather than the configuration limits imposed by the manufacturer.
Today, horizontal scaling is a more cost-effective and faster way to add hardware. With the growing popularity of hyperconverged solutions, companies have begun to choose horizontal scaling instead of the more expensive and time-consuming vertical scaling.