A couple of weeks ago my company acquired another company called Zeus who make virtual application delivery controllers or vADC’s for short. Since I needed an easy way to demo what Zeus can do I wanted to install it on my company laptop. Riverbed has been so good to provide me with a MacBook pro containing 8GB of RAM so I can run a fair amount of virtual machines on it.
First thing you need is the Zeus Desktop Edition which can be found here (you can also use the full evaluation of the Zeus Traffic Manager software if you prefer). It is quite easy to run this as a VM, in my case using VMware Fusion.
Second thing you need are servers to serve as the server pool for you virtual server (no phun intended). I installed another VM running Windows Server 2003 R2 and gave it the application server role (IIS 6.0).
To make things a bit easier to demo I created 3 web sites using different port numbers.
Orange has 8097
Black has 8098, and Yellow has 8099.
Now that we have 3 different resources we can use these as servers in the pool and use the Zeus load-balancer function to load balance between them.
Just connect to the Zeus Desktop Edition VM console and note the IP address and username/password.
Connect to the web interface of the Zeus VM on port 9090.
Go to the pool configuration tab and create a new one.
Enter the IP addresses and port numbers of the 3 webservers we created earlier and select a monitor. The monitor will verify if the resource is alive, you can create a simple ping monitor or in this case a layer 7 monitor that will verify if the HTTP resource is working. Click on Create Pool to save the pool.
Click on the load balancing option and verify that Round Robin is selected.
Now click on the Virtual Servers tab and create a new virtual server.
Enter the name of the Virtual Server and select the protocol that it uses, in our case HTTP, if you leave the port the virtual server will now listen on the default IP address of the VM. Select the traffic pool that the virtual server needs to point to, in our case the webservers traffic pool.
Click on Create virtual server to save the configuration and enable it.
If you return to the home page you can see the overall status of the configuration we just saved.
Click on the start symbol to start the virtual server.
To verify the configuration simply enter the IP address of the virtual server in your browser.
As you can see we are now connected to the black webserver.
Click on the refresh button in your browser.
As you can see we are now connected to the orange webserver.
Click on the refresh button in your browser again.
Because we have chosen round robin as a load balancing method we connect to each webserver in turn.
If we now disable one of the webservers in ISS by stopping it, the system will notice this throught the HTTP monitor and leave that particular webserver out of the pool to connect clients to.
This becomes immediately apparent if you go to the home tab of Zeus.
As you can see one of the 3 servers is in an error state.
If you restart the server in IIS the Zeus monitor will pick this up and restate the yellow server so he will be utilized once again in the round robin load balancing process.
That concludes this rudementary introduction to Zeus load balancing using one MacBook and 2 VM’s.
Next post I’ll show you how to use rewrites rules to hide the backend server details from your clients and potential hackers.