Load balancing is a process of the traffic navigation and workload distribution across multiple components, which is performed by the dedicated type of nodes called load balancers. In Bitmana PaaS such instance(s) can be manually added into environment topology and will be automatically provided upon scaling application server to distribute requests between backends.
Note: Bitmana PaaS provides load balancing on application layer (described in this document) and on infrastructure layer providing Shared Load Balancer that handles requests to environments of all users (apart from the direct connections via Public IP).
Currently, Bitmana provides an out-of-box support of the four managed load balancer stacks to choose from:
NGINX is one of the most popular open source servers in the world, which provides customers with great performance, ensuring the efficiency of their applications. Using NGINX requires no extra steps or pre-configuration. It offers a built-in Layer 7 load balancing and content caching to provide a cost-effective and highly available platform for applications hosting due to its scalability, security and high resource usage efficiency.
HAProxy (High Availability Proxy) is a fast and reliable open source solution, which is able to handle huge traffic and offers high availability, load balancing, and proxying for TCP and HTTP-based applications. Similar to NGINX balancer, it uses a single-process, event-driven model, which consumes a low (and stable) amount of memory, enabling HAProxy to process a large number of concurrent requests simultaneously, ensuring smooth load balancing with smart persistence and DDOS mitigation.
Varnish is a web application accelerator also known as a caching HTTP reverse proxy for dynamic websites with high traffic. Unlike other proxy servers, it was initially designed to be focused exclusively on HTTP. Nevertheless, within the Bitmana implementation, it is delivered in a bundle with the NGINX server (run as an HTTPS proxy), which gives the ability to work with the secure data and the Custom SSL option in particular. The emphasis is made on the speed, which is mainly achieved through the caching, making the website faster by offloading the static objects delivery.
Apache load balancer is an open source traffic distribution server, which provides high customization options through its modular structure. Apache balancer can be configured to meet the unique requirements of each given environment, while, simultaneously, ensuring such benefits as security, high availability, speed, reliability, and centralized authentication/authorization.
LiteSpeed Web ADC (Application Delivery Controller) is a commercial high-performance HTTP load balancing solution. It implements all of the cutting edge technologies (e.g. HTTP/3 or QUIC transport protocol support), provides advanced security (web application firewall protection, layer-7 anti-DDOS filtering, etc.), enterprise-level performance (caching, acceleration, optimization, offloading, etc.) and more.
For production purposes, the usage of multiple compute nodes with a load balancer is the preferable approach, as it ensures redundancy and system high availability.