Load Balancing Considerations for Private Clouds
— Brought to you by 2X Cloud Computing guest blogger Brien M. Posey —
Private clouds can be used for a number of different purposes, but one of the most popular uses involves providing users with virtual desktops. Building a private Desktop as a Service (DaaS) architecture involves more than just hosting desktop operating systems on a hypervisor. There must be a system in place to connect end users to the virtual desktops.
Matching end user requests to virtual desktops is usually the job of a connection broker. In most DaaS environments, the connection broker receives the end user’s request for a virtual desktop session and then connects the user to one of the available virtual desktops within a virtual desktop pool.
Although this brokering of connections is of undeniable importance, there are other tasks that the connection broker must also perform if the DaaS infrastructure is to operate efficiently. One of the most important of these tasks in load balancing.
Some load balancing solutions attempt to evenly distribute virtual desktop usage across the available host servers in an effort to ensure that each host is handling an even workload. Although this approach sounds good in theory, it does have a major flaw. Evenly distributing user sessions across virtual desktop hosts only ensures that each hypervisor is hosting an identical number of virtual desktops. It does nothing to ensure that the host servers have equal workloads. This is because resource consumption is directly tied to the ways in which end users interact with their virtual desktops. One user might exert a very light workload, while another exerts a much heavier workload.
This being the case, load balancing tends to be much more effective when it is resource based as opposed to being purely session based. That isn’t to say however, that the number of user sessions can’t play a role in resource based load balancing. A good resource based load balancing solution takes a number of different factors into account as a part of the load balancing process. The number of user sessions can undoubtedly be one of these factors.
The other factors that are taken into account tend to be related to hardware resource consumption. This is especially true for memory consumption and CPU core usage. A good DaaS load balancer should be able to dynamically direct user requests to virtual desktops running on an alternate host server if it detects that a disproportionate amount of memory or CPU resources are being used on the current host.
One of the load balancer’s goals should be to balance the workload so that each host is consuming the fewest possible resources. There are two main reasons for this. First, end user workloads are not consistent. Users will inevitably generate spikes in activity as they work, and a virtual desktop host server needs to have adequate resources available to absorb these spikes.
The other reason is that host servers can and sometimes do fail. In a failure situation the user’s sessions will need to be dynamically migrated to an alternate host. An overburdened host may lack the resources to handle sessions from a failed host server.
Unfortunately, not all connection brokers are created equally. A good connection broker must do more than just connect end users to virtual desktops. It should also be able to handle load balancing in an intelligent way.
About Brien M. Posey
Brien Posey is a ten time Microsoft MVP with two decades of IT experience. Prior to becoming a freelance technical writer, Brien served as CIO for a national chain of hospitals and healthcare facilities. He has also worked as a network administrator for some of the nation’s largest insurance companies and for the Department of Defense at Fort Knox.
Since going freelance in 2001, Brien has become a prolific technical author. He has published many thousands of articles and numerous books on a wide variety of topics (primarily focusing on enterprise networking). In addition to his writing, Brien has provided consulting services to clients and speaks at IT events all over the world.
About 2X Software
2X Software is a global leader in virtual desktop and application delivery, remote access and cloud computing solutions. Thousands of enterprises worldwide trust in the reliability and scalability of 2X products. 2X offers a range of solutions to make every company’s shift to cloud computing simple and affordable.