When is virtual machine software the wrong choice for SMBs?

hit counter for tumblr

Mid-size companies are being overwhelmed with hype about virtualization. This has led some to adopt technology that really isn't the best choice to meet their business requirements. Let's consider what virtualization really is, how long it has been in use, the many layers of virtualization in use today, look more deeply at processing virtualization (virtual machine software is one of five types of virtualization found in that layer of virtualization technology) and then consider what technology should be considered to meet your company's business requirements.

What is virtualization anyway?

Virtualization is taking advantage of excess computing resources, such as processing power, memory, storage or networking capacity, to create an artificial environment for functions or, perhaps, entire images of client or server systems!

The goal is providing that function or system image an artificial environment that best fits the needs of that function or system. The real, physical environment might be sharply different than the artificial environment used by that function or system image.

Although much IT market hype has focused on virtualization being equal to the use of virtual machine software to create client or server system images, Virtualization is a much bigger and broader topic. Furthermore, it isn't something new, Virtualization in on form or another has been in use since the 1960s!

Virtualization has been in use for a long time

Virtualization first appeared on mainframes from IBM, Burroughs and other suppliers, in the 1960s. This technology has been enhanced significantly from those early beginnings. At this point, most mainframe functions run in virtual environments.

Single vendor midrange systems, previously known as minicomputers, were the next to see virtualization technology. This occurred in the late 1970s. As with mainframes, nearly every function on these systems execute in a virtual environment.

Industry standard X86-based systems saw the introduction of some virtualization technology in the early 1990s. Although a great deal of progress has been made in this market segment, Mainframes and Midrange systems are still make more and better use of virtualization technology.

Many layers of virtualization in use today

Although much of the media hype is directed towards virtual machine software, software used to create system images of client or server systems, virtualization is a much broader topic.

There are many layers of technology that virtualize some portion of a computing environment depending upon whether the organization is seeking performance, reliability/availability, scalability, consolidation, agility, a unified management domain or some other goal. Let’s look at each of them in turn.

  • Access Virtualization — hardware and software technology that allows nearly any device to access any application without either having to know too much about the other. The application sees a device it’s used to working with. The device sees an application it knows how to display. In some cases, special purpose hardware is used on each side of the network connection to increase performance, allow many users to share a single client system or allow a single individual to see multiple displays.
  • Application Virtualization — software technology allowing applications to run on many different operating systems and hardware platforms. This usually means that the application has been written to use an application framework. It also means that applications running on the same system that do not use this framework do not get the benefits of application virtualization. More advanced forms of this technology offer the ability to restart an application in case of a failure, start another instance of an application if the application is not meeting service level objectives, or provide workload balancing among multiple instances of an application to archive high levels of scalability. Some really sophisticated approaches to application virtualization can do this magical feat without requiring that the application be re-architected or rewritten using some special application framework.
  • Processing Virtualization — hardware and software technology that hides physical hardware configuration from system services, operating systems or applications. This type of Virtualization technology can make one system appear to be many or many systems appear to be a single computing resource to achieve goals ranging from raw performance, high levels of scalability, reliability/availability, agility or consolidation of multiple environments onto a single system.
  • Storage Virtualization — hardware and software technology that hides where storage systems are and what type of device is actually storing applications and data. This technology also makes it possible for many systems to share the same storage devices without knowing that others are also accessing them. This technology also makes it possible to take a snapshot of a live system so that it can be backed up without hindering online or transactional applications.
  • Network Virtualization — hardware and software technology that presents a view of the network that differs from the physical view. So, a personal computer may be allowed to only “see” systems it is allowed to access. Another common use is making multiple network links appear to be a single link.
  • Management of virtualized environments — software technology that makes it possible for multiple systems to be provisioned and managed as if they were a single computing resource.

Let's examine processing virtualization a bit more closely.

Processing virtualization

Processing virtualization is software designed to deliver a spectrum of capabilities that range from making many computer systems work together and act somewhat like a single system to software that makes a single powerful system act as if it were multiple smaller, less powerful systems.

This layer of virtualization technology includes the following categories:

  • High performance computing/parallel processing monitors — this software allows an application or its data to be segmented into separate pieces. Each piece can then be deployed upon its own system. This makes it possible for workloads to be executed faster than any single system.
  • Workload management software — this software makes it possible for the same software to be run on many different systems. As work comes in from the network, workload management software sends the request to the system having the most available capacity. This makes it possible for more people to use that application than would be possible with a single system.
  • Clustering software — this software makes many systems work together as if they were a single computing resource. The goal here is not higher performance or greater scalability, it is to create a larger, more powerful single "system".
  • Virtual machine software —  this software encapsulates all of the software components that make up a client or server system and allows that capsule to run side-by-side with other capsules on the same single system. Each of these systems could be supporting a different workload and each is totally isolated from all of the others.
  • Operating system virtualization/partitioning — from a user perspective, this software operates somewhat like virtual machine software. The key difference is that this software encapsulates workloads running under a single operating system and allows them to run as if they all had their own individual system.

When is virtual machine software the right choice?

Virtual machine software is the proper choice if an organization wants to consolidate a number of workloads, each running under its own operating system or operating system version, on the same physical system.  These workloads are isolated from one another.

These workloads can be moved from one physical system to another to optimize system utilization or maintain specified service levels through the use of virtual machine orchestration software.

When is virtual machine software the wrong choice?

If the organization's goals are not consolidation and optimization of the use of a single system's resources, then other forms of virtualization are better choices.

If higher levels of performance are the business requirement, then high performance computing/parallel processing software is a better choice.

If greater levels of scalability, that is making it possible for more people to access the same application and data at the same time, are the requirement, then workload management software is a better choice.

If all of the workloads execute on the same operating system, consolidating and optimizing workloads might be done more efficiently and at a lower cost if operating system virtualization/partitioning technology would be a better choice.

If creating a single system for management purposes is the objective, then clustering software is a better choice than virtual machine software combined with orchestration software because it is much simpler, less costly and less complex.

Some suggestions for mid-size organizations

The choice of the appropriate virtualization technology requires a clear understanding of the organization's objectives,  level of expertise and, of course, budget. It would be wise to seek out help from a supplier that has expertise in all areas of virtualization technology.  IBM is one of two  suppliers that has the capability to offer products in all categories in all layers of virtualization technology.

This post was written as part of the IBM for Midsize Business program, which provides midsize businesses with the tools, expertise and solutions they need to become engines of a smarter planet..


  

Kusnetzky Group LLC © 2006-2012