Scale Up vs. Scale Out

July 10th, 2015 by Faraz Siddiqui

If you have deployed applications in a production environment, you might already understand the concept of “Scaling” to meet the increased application demand.

Scaling normally translates to growing your infrastructure including networking, storage and compute to maintain the amount of resources required by applications. In simpler terms, facilitating more people at a given time trying to access the application.

When developers build web applications, they are generally anxious about the capacity of server infrastructure to handle the application load. They normally examine the ability of an infrastructure design to scale vertically and horizontally with increasing load.

Vertical Scaling

I am referring to scale-up infrastructure here where people address the scalability concerns by adding more horsepower to processing engine and memory resources. This approach can also be applied to web servers, database servers, and other sections of the infrastructure. Vertical scaling might lead to certain challenges:

  • You might hit the bottleneck and run out of hardware resources (for example, CPU capacity, thread count, memory, storage, etc.)
  • Everything has a price tag, so certainly there is cost associated in swapping more capable resources to handle the application load using this approach.

Horizontal Scaling

Another scaling approach is to leave existing assets in place and add more hardware in parallel to share application load. This is normally referred to as “scale out” approach or “horizontal scaling” due to the fact that it has an effect of increasing the server capacity almost horizontally. Application server farms often scale out by adding more server hardware in parallel to increase capacity and to handle load. Scaling out is elastic in nature and requires a load-balancing component called Load balancer or Application delivery controller (ADC).

Nuts and Bolts of Application Delivery Controller

The ADC or Server Load balancer (SLB) appliance (physical or virtual) hosts a Virtual IP or VIP address to front-end the pool of real servers running on the backend. When the demand (Load) for an application grows in large production environments, the server pool can be scaled out by adding additional pool members behind the virtual IP.

The ADC is configured with set of rules associating the VIP address and port numbers with real servers. End users only send the requests to the VIP address, discovered through DNS resolution. The control plane in ADC probes the port numbers of application servers to monitor the health and to determine which servers are able to process the user requests.

Scale out your Web applications with Soha Cloud

Soha Systems has an integrated Load balancing solution to scale out the enterprise applications as part of Soha cloud service. The Soha SLB, functions at HTTP layer to process the user requests and to manage the load on multiple internal servers. It distributes the traffic running in either public or private cloud using an efficient, highly reliable, always-on architecture. Application or cloud administrators can leverage the HTTP based load balancing engine to manage their traffic flows based on internal application FQDN to improve the performance, scalability and reliability of web applications.