Today IT has changed the rules of doing business. Most organizations are now comfortable doing business online. If it’s an application involving a very high number of transactions, then ensuring high availability becomes critical. Not only that, but it must be able to handle sudden peaks in the incoming traffic. One way of doing that is to do load balancing. In this online applications are configured in such a way that if the volume of load increases on one application, then the load is automatically shifted to other application. This shifting is handled by what’s called the load balancer.
Zeus Extensible Traffic Manager, short for ZXTM, is one such load balancing product from Zeus that offers high-availability, application-centric traffic management and load balancing in one. It provides control, flexibility, security intelligence for all your application traffic. Plus, it is very easy to setup, and can configure and manage the load of your applications remotely. You can host your valuable business-critical services, such as TCP and UDP-based services like HTTP (Web) and media delivery, and XML-based services such as Web Services using ZXTM.
Apart from load balancing, it offers to inspect and rewrite the entire application stream, decrypt and re-encrypt all SSL and TLS-encrypted traffic, bandwidth-shape and rate-shape traffic, cache HTTP responses, offload compression and XML operations, as well as SSL decryption, monitor the performance and availability of back-end servers. It can adjust load-balancing automatically and also apply security policies to ensure that requests are valid and permissible. Here we will show how to implement application load balancing using ZXTM.
|
Installation
ZXTM is a commercial product and available in the form of software or appliance. We used the software version. The minimum requirements for implementing this are a P4 based machine with atleast 512 MB RAM, NIC and 40 GB HDD. It can work on any flavor of Linux. We tried it out on a Fedora Core 6 full install.
You can download ZXTM from http://www.zeus.com/ downloads/. You have to register yourself first post which you will get a download link, user number and password via email. Access your email and download the evaluation version of ZXTM software according to your machine’s architecture. Also, download the license file and save that as license.txt. Once you have downloaded the package, copy that to your Linux machine. It’s a tar gz file, which you have to extract using the command given below:
# tar –zxvf ZXTM_41r2_Linux-x86.tgz
It will extract the files in a separate folder named ZXTM_41r2_Linux-x86. Now go to this folder and execute the command given below
# ./zinstall
You will be shown a license agreement. Scroll down and type “Accept”. You will then be prompted to choose a directory to install ZXTM into, with the default as /usr/local/zeus. This will install the ZXTM on your Linux machine and then you will be asked to perform the initial configurations on your machine. Type Y and it will run a configuration script to do the basic configuration.
You will then you will be asked to choose a UNIX user and group to run ZXTM as. Next you are asked, if you would like to secure ZXTM’s internal management traffic. Management traffic includes access to the Admin Server, and internal communications within a ZXTM cluster. If you do choose to secure ZXTM’s internal management traffic, you are then asked to nominate an IP address. The ZXTM you are configuring will only accept management traffic destined to this address. This address would normally reside on a private or dedicated management network. Then you have to choose a cluster for the ZXTM machine to join. If this is the first ZXTM machine you are setting up, you will be given the following choices:
Which ZXTM cluster should this installation be added to?
C) Create a new cluster
S) Specify another machine to contact
R) Refresh the cluster list
Select C to create a new cluster. When you do that, you’ll get the following screen:
1) Cluster 1: IP_Address:9090
Here, assign an IP address to your ZXTM in the space provided. You will then be prompted for a password for the Admin server. This is the Web-based user Interface to manage and configure ZXTM. Type a password and confirm it. Finally, you are asked whether you would like ZXTM to start automatically at the boot time. ZXTM traffic manager sits between the Internet and your back-end servers. It can be used in conjunction with a standalone firewall, if desired. Traffic received from the Internet is passed on to the most appropriate back-end to respond to the request. Finally, you need to activate the license that you have downloaded above. For this, open a Web browser on a remote machine and access the ZXTM interface using its IP for example https:\\
Simply provide the IP addresses of the applications for which the ZXTM server will do the load balancing |
Configuring the ZXTM with backend
It very easy to configure it with Web-interface, it offer you a wizard that lets you set load balancing features between applications. Here, I will show you how you can set load balancing between applications. For this, we have created a Web app in java and deployed it on three machines. All these applications were connected to a single database, which runs in back-end. Then, we have used ZXTM Web interface to configure all the applications in a load balancing mode. In order to do that, open the Web interface of ZXTM and on the left corner you will see a “Wizard” drop down box, which shows list of wizard. Select the first option “Manage New Service”. It will start a wizard, where it will ask you to give new name for the service, type of protocol and port number where you want to host.
Give any name to the service, select the protocol and port, on which you want to expose your backend application to outside world and click next. On the subsequent screen, you need to add the host name or IP address and port no. of your backend application including your load balancing application. For example, if you have configured two machines running same application and you want both applications should be used as a cluster of load balancing, then you have to add both the IPs and port nos. of these here. Now, click Next and then Finish. This will create a virtual server and all incoming traffic that comes to access the application will be managed by ZXTM , which further increases the number of transaction, because load is being balanced by this virtual server between two applications running at the backend. You can also configure and fine tune bandwidth for your applications running in back-end. Now finally the question arises how your backend would be accessed by outside world? Well one can access the application via ZXTM only. So outside world can access the applications by the IP address or host name of ZXTM machine. When the request comes to ZXTM, it will be then forwarded to the respective free application running at backend.
We have here explained only its load balancing part, you can also do things like bandwidth-shape and rate-shape traffic, cache HTTP responses, offload compression and XML operations, as well as SSL decryption, monitor the performance and availability of backend servers, etc.