Wednesday, July 20, 2011

Load Balancing and Cloud Computing (SCVMM 2012)

One characteristic of cloud computing is virtualized network access to your applications/services. The point is that no matter where you access the service, you are automatically directed to the available resources. We are using load balancing to distribute service requests to these resources.
This is normally implemented using hardware load balancers, like F5 Big IP servers.

What can be load balanced?

·         Access to application instances
·         Services such as DNS, FTP, HTTP, and HTTPS
·         Storage resources
·         Connections through intelligent switches

If you ask me, cloud computing would be difficult to “achieve” without load balancing. It provides redundancy through redirection, and fault tolerance when coupled with a failover mechanism.

So, this brings us to the Load Balancing feature in System Center Virtual Machine Manager 2012.

First, download the load balancer from Citrix (NetScaler VPX) which you can run as a virtual machine. (Yeah, I know I said hardware load balancer, but this will simulate their load balancer and is ideal for testing).
Here`s the link by the way: Download NetScaler VPX on Hyper-V. You have to register to Citrix to get a license, and you can do it here.

1)      After the download, extract the content, and import the VM into Hyper-V. (Important: the VM needs 2 vCPU, and at least 4GB RAM. Also connect it to your virtual network you intend to use)
2)      Configure IP, subnet, and gateway
3)      Access the NetScaler VPX through a web browser, with the IP address you assigned
4)      Activate the product… (I was not sure how to obtain a license key on this one. After a long registration process, and some cups of coffee, I decided to test the twitter power. Luckily, there was one Citrix-guru who responded in about 60 seconds (thx to @Niraj_S_Patel). He gave me a tip that to obtain the license, you had to provide Citrix with the MAC-address of you NetScaler VM. This was actually confusing, since Citrix called it “hostname”)
5)      Download the license, and upload it to the NetScaler through the web-interface.
6)      Activate the features in NetScaler

Once all this is done, we can move over to the Fabric in VMM 2012.
First thing first: Download and install Citrix Netscaler LB Provider into VMM 2012. (You may need a reboot before VMM recognizes the provider)

1)      Go to Networking
2)      Click Load Balancers
3)      Right click on Load Balancers, and select “Add Load Balancer”
4)      On the Specify Run As account page, find your Run As account with permission to the load balancer. If you`re using the NetScaler VM for Hyper-V, the username and password is nsroot.
5)      Select the check box next to each host group where the load balancer should be available
6)      On the Manufacturer and Model page, select the load balancer manufacturer and model. (Citrix Systems, Inc. and Citrix NetScaler)
7)      On the Address page, specify IP, FQDN, or NetBIOS name of the load balancer. In the port number box, enter the port number that you use to connect to for management of the load balancer.
8)      On the Provider page, click an available provider to use for load balancer configuration.
9)      Validate, and test the load balancer.
10)   You`re now done, and have hopefully added your NetScaler load balancer.

We have now added a load balancer to our Fabric, and to take the next step, we`ll create a VIP Template. This is a template that contains a load balancer, and is related to specific type of network traffic. You can have many templates, one for HTTP, HTTPS, yeah, you got it.
This is ideal when you want to load balance a service tier. (You can add load balancer into the service designer when you are designing your services).
Since we`re still in the Fabric, navigate to:

1)      Networking, and click VIP Templates
2)      Right click VIP Templates, and click Create VIP Template
3)      Give it a name, description, and the virtual IP port to use. The virtual IP port is the port that is used for the type of network traffic that you want to load balance.
4)      On the Type page, select either Generic or Specific. (Generic can be used on any supported load balancer, and Specific applies to specific load balancers (model).
5)      On the Protocol page, select the protocol you intend to use. (HTTP, HTTPS, or Custom)
6)      On the Persistence page, you can select Enable persistence to enable session persistence (affinity).
7)      On the Load balancing method page, you can choose between the fast connections, round robin, or the least connections.
8)      On the Healt Monitors page, specify a request that will occur at regular intervals against the load balancer to verify that a load balancer is available.
9)      You`re done! Click finish, and you have the first VIP Template created, and ready for action.

Cheers,

4 comments:

Anonymous said...

Here is a link to information on an interesting load balancing solution for Terminal Services - Ericom PowerTerm WebConnect Load Balancer:

http://www.ericom.com/PowerTerm_WebConnect_LoadBalancer.asp?URL_ID=708

us vpn said...

Very informative article on load balancing and cloud computing, thank you very much for sharing it.

Anonymous said...

Is there a way i can get an evaluation license.

BrianEh said...

https://www.citrix.com/content/citrix/en_us/downloads/netscaler-adc.html

Update your link Kristian. ;-)