Modern information services must be accessible at all times and be able to withstand an increased load to serve all users who need them. Load balancers are used to ensure these capabilities and fault-tolerance. The load balancing process is the distribution of data over several different systems in order to provide fault tolerance, reliability and increased performance.
The purpose of load balancing process is to create a system that virtualizes the service from physical servers where it is normally running. For this purpose, the service is installed on several physical servers. At the same time, it represents as one big server. There are many reasons to configure IT services similarly. Most important are - scalability, high availability and predictability.
Scalability is the ability of systems dynamically and easily to adapt to increased workloads without any downgrading of service performance. High availability is the ability to remain available even when one or more systems are dropped. Predictability is the ability to control the process of delivering services, their productivity, accessibility, etc.
The modern architecture of accessible and reliable systems uses load-balancing devices. They provide a virtual server address to which users send their requests. When receiving a request from a client, load balancers choose which physical server to forward the request to. They monitor the performance and workload on each physical server. They can determine which one is most appropriate for forwarding the current query or finding an overloaded or a broken server.
Load balancers are configured to work in pairs to avoid a system failure when stopping the balancing device. Some more sophisticated and advanced load-balancing systems, rather than simply forward user requests to physical servers, check the content of these requests. Depending on it, they decide whether to forward the request. They play the role of application control firewalls and can protect applications from attacks. Such as SQL Injection, Cross-Site Scripting, and more. Only client requests that do not pose a threat to applications are forwarded to physical servers. This increases the security of the applications and the data they contain. The software also has built-in logic to prevent access to sensitive information such as credit card numbers, personal and financial information, etc.
Application control firewalls can automatically update their knowledge of attacks and malicious sequences, similar to antivirus programs. In this way, they protect the infrastructure from new attacks that were discovered after the purchase of the device.