Why do organizations choose to go to the time and trouble to adopt some form of virtualization technology? Those thinking that virtualization only refers to the use of virtual machine software to allow a single system to support multiple, encapsulated workloads would mention the factors of time and cost (see Cost and energy benefits driving virtualization). Others taking a broader view would mention one or more of the following factors as well.
- Availability or reliability — the financial community would mention the imperative that their systems never be seen to fail. Application availability and reliability would be the first factor they'd mention causing them to deploy fault tolerant hardware systems, clustering or high availability monitors or some workload management software. This community is willing to pay a great deal of money to add as many "9s" as they can on the end of their uptime percentage.
- Consolidation — increasing system utilization and the resulting cost reduction are of interest to others. They're hoping that the use of partitioned operating systems or virtual machine software will allow the deployment of more applications on a single piece of hardware. They know that this approach may not result in improved performance or scalability. It will, on the other hand, reduce the number of systems that are needed, reduce the power consumption of their data center, and may, if the proper management tools are also deployed, reduce their administrative and operational costs.
- Performance — those in the high performance computing community would mention the main factor causing them to deploy virtual processing software (read grid computing or parallel processing software) is obtaining the highest levels of performance available with today's technology. These people are willing to go to the effort to decompose programs or data so that many computers can work together to reduce the time it takes to complete a task.
- Scalability — those needing to support a high volume of business transactions would mention a different factor, scalability. Although each transaction needs to execute quickly, their systems must perform a large number of transactions. These people are willing to center their development efforts on a high-performance application framework that may replicate functions on several machines and balance the work across those replicated functions to increase the number of transactions that can be processed in a given period of time.
- Management — some organizations use management framework or workload management software to optimize their computing environment in ways that their staff could never accomplish. These organizations need the systems to monitor themselves and move applications or data around to meet their service level objectives at a minimal cost.
There are many different layers of virtualization in use today. Organizations must take a broad view to obtain the greatest benefits.
What were the key factors considered when your organization deployed access virtualization software, processing virtualization software, storage virtualization software, or virtual systems management software?