Ncomputing's Mike Pagani stopped by to chat about an the company, its products and an upcoming announcement. During the discussion, we talked about why VDI and virtual machine technology on the desktop has only been deployed in certain environments. We both agree that the slow adoption of VDI and the use of virtual machine technology on the desktop boils down to three issues:
- Golden rule of IT #4: Good enough is good enough
- The cost of moving desktop workloads back into the data center
- Complexity of a VDI environment
The conversation then rolled onto another virtualization technology, operating system virtualization and partitioning, that can be used to address two of the three desktop virtualization inhibitors. I thought that repeating part of that conversation here would be useful.
What is operating system virtualization/partitioning?
Let's focus on operating system virtualization and partitioning first. In my O'Reilly Media book Virtualization: A Manager's Guide, I described operating system virtualization/partitioning in the following way.
Operating system virtualization and partitioning allows many applications to run under a single operating system and gives each a completely isolated, protected environment. Each application functions as if it is running on its own system and is managing its own resources.
Why is it more efficient?
Virtual machine technology makes it possible for a complete stack of software to be encapsulated to run as either a virtual client, desktop or virtual server. While this makes it possible to increase the system density, that is the number of user workloads a single physical system can support, it also means that each and every virtual system contains a copy of the operating system, application frameworks, database engine and user data.
Operating system virtualization/partitioning software takes a different approach. It extends the multiuser capabilities of the operating system by encapsulating user workloads so that they act as if they were running on a separate system. These workloads can be stopped and started without having any impact on other encapsulated workloads on the same physical system. This approach is far more efficient because each virtual system is running as a single process under a multi-user operating system. There is only a single copy of the operating system in use. This approach, of course, is also far easier to install and manage because there is a single operating system to feed and care for.
VM technology can mean higher costs and complexity
Industry fixation on virtual machine technology to the exclusion of other virtualization tools results in higher costs, high levels of complexity and a much slower adoption of a really useful tool in desktop environments.
Since virtual machine technology encapsultates entire virtual systems, each virtual desktop includes its own operating system, data management tools and applications. This can drive costs for systems, memory and storage up.
Modern versions of UNIX and Linux have offered operating system virtualization/partitioning for well over a decade. Ncomputing and Parallels have been offering similar technology for Windows for a number of years.
Often organizations select virtual machine software to create virtual clients, desktops or servers because that approach is more highly publicized. Operating system virtualization/partitioning is a more efficient approach and should be prefered unless the virtual systems are to host different operating systems. In that case, virtual machine software is a better approach.
Operating system virtualization and partitioning can be a much better choice because that approach only imposes the cost; processing overhead; storage and memory requirements; and complexity of a single operating system. NComputing's Mike Pagani discussed several customers who where about to support as many as 100 user workloads on a single PC using operating system virtualization. It would be difficult to achieve that level of scaleability using other approaches.
During the discussion, it came to me that NComputing's approach is the return of the minicomputer concept using today's graphical computing concepts.
If your organization is seeking ways to do more with less, reduce costs and complexity, learning more about NComputing would be wise.