Why Implement Virtual Machines?

Former Director of Shared Infrastructure
Ohio Supercomputer Center
Wednesday, May 7, 2014 - 12:16pm
OH-TECH servers

Ed.–Today and tomorrow (May 7-8), OARnet, vmWare and Carahsoft are holding Government & Eductation Innovation Summits in Columbus and Cincinnati. The events feature educational breakout sessions on the virtualization, cloud and mobility solutions that are enabling the software-defined data center for Ohio government and education. Here at OH-TECH, the Shared Infrastructure group relies heavily on the benefits of virtualization, and SI Director Kevin Wohlever shares below some of his perspectives on this timely topic.

There are several reasons why an organization choses to move forward with using virtual machines. The driving force in the decision process for many organizations is money – or more specifically – the expected savings of money. Unfortunately, if this is the sole decision point for using virtual machines, organizations will lose out on the benefits of virtual machines and probably not save any money in the process.

Financial savings derived from virtualization come by way of improved processes, enhanced services and increased staff productivity. Basically, if the systems staff is focused on providing more and better services instead of always fixing problems with existing services, the productivity will improve overall.

I have always looked at virtual machines for the following primary organizational benefits:

  1. To improve the reliability services
  2. To expand the capabilities of the organization
  3. To handle short-term service needs or service-usage spikes
  4. To improve utilization of hardware
  5. To provide a better business continuity and disaster recovery capability
  6. To provide platforms for new and legacy services

As director of OH-TECH’s Shared Infrastructure group, I see how virtual systems provide us with a number of significant and tangible benefits and the ability to offer expanded services.

Point 1 – Improved reliability of services has a couple of components. The simplest service improvement comes from having the service run on a hardware environment that has multiple, redundant components. It is not always possible to purchase equipment that has these capabilities, as it costs money. Consequently, when purchasing a machine to provide a small service, corners are often cut in the hardware purchase. And when a machine or component fails, the service becomes unavailable until a repair is completed, or until a System Administrator (SA) can make a change. By having Shared disk drives within the Shared Infrastructure virtualization environment.multiple services on a machine environment that has been designed to be redundant and highly available, if a machine or component fails, other components can support the service until a repair can be made. Often, the service is maintained with no or little service degradation.

Another benefit that we derive from using virtual environments is the separation of services. Many times in the past, similar services were placed on the same base hardware platform. When a problem occurred in one of the services, say a user accidently used all the memory, then all services on that hardware would fail until the problem was resolved. Now, only the service with the runaway user will be impacted.

Finally we can easily clone or copy a production environment. With this cloned copy we can test upgrading the software or operating system easily, ensure that there are no problems, and move the upgraded system into production with limited user impact (ie minimum down time).

Point 2 – Expanded capabilities of the organization comes from the ability to add and test new services without having to purchase new hardware. In the past, older systems would be pressed into service as a test environment, or if the project had a high visibility, new systems would be purchased and installed in a manner that provided some semblance of the production environment. Developers and Users would then test software, hardware and new capabilities. With virtual systems, we have the ability to provide a system environment without buying new hardware. We can then test, evaluate and add or remove hardware services and see how the environment will function. This can be done faster that procuring new hardware, and we can demonstrate the impact on production or test environments much faster.

Point 3 – Virtualization allows us to better handle short-term service needs or service-usage spikes. Many times we are asked to provide a service for a short period of time. Some examples include: a web service for three months, moving large amounts of data to a new storage environment or a software-development environment is needed for a few weeks. In the past we had to find hardware to provide this service or move test equipment into a temporary production use. Now, we can bring up a virtual machine and provide the service without acquiring new hardware.

Another benefit that comes about is during periodic usage spikes. Say that each month a program is run that uses 100 GBs of memory for 48 hours, but the rest of the time the memory usage is 25 GBs. If you buy machine dedicated for that service, it quickly becomes expensive to buy a machine configuration for peak usage needs. With a virtual system, we can add additional hardware capabilities on a temporary basis and, when the spike usage is over, return them to the common pool for others to use.

Point 4 – We’ve been able to improve our utilization of hardware. Many times machines purchased to support a service are sized for the peak usage needs. While this is a common and easily defendable process, it can also be expensive in OH-TECH Shared Infrastructure servers.both the initial purchase and long-term support. A study that I read some years ago said that most machine utilization in a data center was, on average, using around 20 percent of its compute cycles, network capacity and memory. That means that not only was a machine being under-utilized, but we also were paying for power and cooling in the data center for “empty” cycles. By running multiple virtual machines on servers, we are pushing machine utilization to about 75 percent and increasing the work being done for the same amount of power and cooling.

Point 5 – Providing a better business continuity and disaster recovery services has been a significant benefit of this technology. In the past, when you wanted to provide business continuity or disaster recovery, you had to duplicate the production environment. With a virtual environment, you just need to duplicate the virtual service environment. This allows us to utilize older equipment and still provide services.

As mentioned earlier, it is relatively easy to clone or copy an environment. A cloned image can be fairly easily moved over the network. So a clone can be made in a periodic manner and easily moved to a business continuity environment or disaster recovery site.

Point 6 – Lastly, virtualization allows us to provide platforms for new or legacy services. At times we are asked to support a legacy code that only runs on a certain operating system release. Although we don’t like to do this, we could run that OS on a VM until the code is updated. This allows us to upgrade services for others while waiting for that patch to come out for the legacy code. We can also test the software on new operating systems.

So, this posting has rambled on long enough. When properly used, virtual machines can simplify support, reduce system administrative workload, improve services, expand capabilities and provide increased uptime. And, depending on the organization, it can do all this and possibly more, without dramatically increasing costs and maybe even save you time and a dollar here or there.