Many suppliers are encouraging small to medium businesses to jump on the virtualization bandwagon without also explaining that this is a journey not a destination. Furthermore, they are using an incomplete model of virtualization that is based upon one type of technology found in one layer of a complete virtualization model. Before embarking on a journey, the wise seek out those who have traveled the path before to get advice, suggestions, and a map of the territory to be covered.
The next step is determining where your organization is on the chart and picking out a destination. Each workload, by the way, may have a different destination. Organizations soon learn that selecting one type of virtualization technology and sticking with it is very much like the child who has been given a hammer and sees everything in sight as a nail.
A map of the virtual world
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.
Discovering your current location
Many smaller organizations don't take the time to take an inventory of what their information system(s) are doing. Each workload has a different set of requirements for satisfactory operations including the following:
- Levels of performance
- Levels of scalability
- Levels of reliability and availability
- Security needed
- Management required
Charting a course to the right destination — When is virtual machine software the wrong choice?
Unfortunately, the industry has largely focused on virtual machine software, sometimes called a "hypervisor," to the exclusion of other types of virtualization. This has lead some organizations to blindly apply this technology regardless of the actual requirements of their own organization. Let's examine some situations in which this is simply the wrong choice.
- When the goal is allowing people to access applications and data from wherever they are, using whatever network-enabled device is handy and using a local network of some kind. This is when access virtualization is the best choice. By the way, the application and data being accessed could be hosted in a virtual machine on a local client, blade PC, blade computer or general purpose computer. The application may also be hosted in the data center of a cloud service provider.
- When the goal is highly efficient application isolation, application performance application reliability/availability or making an application work in an environment that normally would create problems. In this case application virtualization technology is a better choice.
- When the goal is workload isolation and optimization, but all of the applications are designed for the same operating system. In this case, operating system virtualization/partitioning is a better choice.
I could also bring up suggestions for technical computing applications, applications that simply must always be available or creating a unified management domain to reduce overall costs and complexity.
It is wise not to reach for virtual machine software for each and every workload.
What is the next step?
Once the organization has a clear idea of where they are and where they want to be, it is wise to speak with those who have made the journey before. IBM, HP, Dell, Oracle, Microsoft and VMware would be happy to offer their expertise. IBM, for example, has been helping organizations throughout the journey to a virtualized environment for well over three decades.