In virtual testing and development environments, decreased availability could mean a loss of revenue. A virtual server cluster increases high availability (HA) because it allows for the seamless movement of virtual machines (VMs) between hosts -- and easier management when you need to update hosts. So how do you determine if a virtual server cluster is right for your virtual testing environment? First, you need to decide whether you environment truly needs high availability.
The answers to the following questions can help you understand service levels, virtual server cluster requirements, and cost considerations for HA in a virtual testing environment.
Why consider a virtual server cluster for test/dev?
Servers today have multiple multi-core processors, more memory and faster storage area network back ends than ever before. That means the maximum number of VMs on a host has greatly increased. Hosts with 40 to 50 test and dev VMs on a single standalone host are not uncommon, but problems arise when the host requires a new patch, firmware or driver, or when you experience any other issue that requires a host reboot.
Bringing down multiple VMs at one time can be an arduous process, and in the long run you likely won’t accommodate the needs of every workload. Having documented downtime windows built into your contracts or communicated service levels is one option, but as the number of diverse VMs begins to peak on a standalone host, you will most definitely get resistance. Creating a virtual server cluster increases high availability because you can move VMs to other hosts when patching or rebooting a server.
What are your service-level expectations?
For some organizations, downtime in the virtual testing environment -- even for hours or days -- is not a big deal. But others require continuous availability to test important workloads. To avoid service disruptions, a virtual server cluster allows you the flexibility of zero downtime through features such as Microsoft’s Hyper-V Live Migration, VMware vMotion and Citrix Systems’ XenMotion. This kind of service level is not only beneficial for the consumer but also for the administrators responsible for common host-management tasks.
What are the hours of operation for test/dev environments?
Many organizations’ major business functions happen between 7 a.m. and 7 p.m. -- providing plenty of time for management tasks during off hours. If that is the case, then you may not need high availability in your test and dev environment. But for multi-national organizations or businesses with aggressive virtual testing and development needs, there is little tolerance for downtime.
To decide whether a highly available virtual server cluster would be beneficial given your company’s working hours, ask these questions: What are the ramifications of extended downtime? Can multiple test and dev environments be interrupted for hours or days?
What are the downsides of high availability?
Despite the benefits, highly available hosts in a virtual server cluster also increase complexity. If the complexity is not worth the cost associated with high availability technologies, you might consider other methods of reducing downtime instead. You can keep spare identical hardware in the virtual testing environment to use in case of host problems, for example. Of course, you would need to bring down the host’s VMs, but you can reduce downtime from hours to minutes with this approach.
Does downtime have a financial effect?
If downtime in your virtual testing environment means lost revenue for your organization, then you need redundancy. Traditionally, test and dev environments have used standalone hosts, but cloud invoicing is based on resources, so downtime can affect revenue. Using redundant or clustered services within private and public clouds will ensure that the revenue stream is not disrupted. A virtual server cluster with high availability presents a more reliable appearance, even if hosts experience problems behind the scenes, and will not result in lost revenue.
Does cost overrule the benefits of a virtual server cluster?
A virtual testing environment with high availability also brings other financial considerations that may overrule the benefits of server clustering for test and dev. In an N+1 cost scenario, you would need extra host hardware and software licensing, as well as shared storage. You could obtain a different licensing tier or server hardware and a less expensive SAN, such as iSCSI, but costs will increase as you increase availability. Is it worth it?
In a two-node cluster, you could more than double your costs per VM over a standalone server because of redundancy and added server clustering hardware. As the number of nodes increases, the cost of redundancy disperses, but the price per VM will never be below the cost of a standalone host configuration.
It’s tough to put an acceptable price tag on high availability and ease of management for a virtual testing environment. Marketing a soft cost savings to your management team could be challenging unless concrete business objectives are put at risk.
If you can avoid unnecessary VM sprawl, then a virtual testing environment can be critical to your organization’s infrastructure. But with an increased reliance on test and dev comes new needs for redundancy and resiliency. With a virtual server cluster, you can reduce the risks associated with a single point of failure and eliminate downtime during patching or upgrading.
A straightforward approach to creating a Linux virtual cluster