With the ever increasing demand of more and more internet traffic , one of the most important facets of any popular website is being able to handle that traffic and remain stable and fast. Downtime can be disastrous forcing customers and also revenue to look elsewhere.
What can be done? The solution is simple, redundancy, redundancy, redundancy. This can be achieved by using hardware and software to build out highly redundant and highly scalable network services. One of the most popular methods is currently load balancing your site across multiple machines.
Load balancing as defined in wikipedia is the following:
a technique to distribute workload evenly across two or more computers, network links, CPUs, hard drives, or other resources, in order to get optimal resource utilization, maximize throughput, minimize response time, and avoid overload. Using multiple components with load balancing, instead of a single component, may increase reliability through redundancy. The load balancing service is usually provided by a dedicated program or hardware device (such as a multilayer switch or a DNS server).
Now thanks to the Linux Virtual Server Project and the growth of Xen powered Virtual Servers provided by that great company dediserve.com :) , you can now very simply and very cheaply build out your own load balanced cluster for as little as €80 per month.
This is based on taken four of our virtual512 machines with a centos template - installing the IP balancing IPVS software on one machine , using two more as the server cluster and the fourth one as shared storage so that is is easy for the server to have the same contents and provide the same services.
What is the Linux Virtual Server Project?
IPVS (IP Virtual Server) implements transport-layer load balancing inside the Linux kernel, so called Layer-4 LAN switching. IPVS is incorporated into Linux Virtual Server, where it runs on a host acts as a load balancer at the front of a cluster of real servers, it can direct requests for TCP/UDP based services to the real servers, and makes services of the real servers to appear as a virtual service on a single IP address.
The major work of the LVS project is now to develop advanced IP load balancing software (IPVS), application-level load balancing software (KTCPVS), and cluster management components.
• IPVS: is an advanced IP load balancing software implemented inside the Linux kernel. The IP Virtual Server code was already included into the standard Linux kernel 2.4 and 2.6.
• KTCPVS: implements application-level load balancing inside the Linux kernel, currently under development.
Users can use the LVS solutions to build highly scalable and highly available network services, such as web, email, media services and VoIP services, and integrate scalable network services into large-scale reliable e-commerce or e-government applications.
The three-tie architecture consists of
• Load Balancer, which is the front-end machine of the whole cluster systems, and balances requests from clients among a set of servers, so that the clients consider that all the services is from a single IP address.
• Server Cluster, which is a set of servers running actual network services, such as Web, Mail, FTP, DNS and Media service.
• Shared Storage, which provides a shared storage space for the servers, so that it is easy for the servers to have the same contents and provide the same services.
Contact us if you want to discuss implementing this solution for your own set-up or have any queries.