The rise of non-Windows operating systems in the enterprise and the easy availability of powerful hardware is killing the "one OS for one box" model. This is a good thing because it allows users to easily work with, test on, and develop for multiple operating systems. And the best way to accomplish this is with virtualization.
The rise of non-Windows operating systems in the enterprise and the easy availability of powerful hardware is killing the “one OS for one box” model. This is a good thing because it allows users to easily work with, test on, and develop for multiple operating systems. And the best way to accomplish this is with virtualization.
You might think that virtualization is just for servers, but you’ll find that virtualization can have a profound impact on the desktop as well. This month, we’ll start diving into practical use cases for virtualization on the desktop and discuss how it’s a key technology for revolutionizing the way that we work with our computers on a day-to-day basis. Server gurus, worry not, as I’ll be digging into virtualization in the datacenter next month.
To fully understand why virtualization is taking hold so quickly in desktop computing, we must first realize the status quo that’s in place now—namely, one OS for one box. In the days before multi-core computing, cheap RAM, big hard drives and, largely, before the Internet, this made a lot of sense; companies standardized on a set of hardware, an OS, and application set, and went on their way.
In today’s world, however, this just doesn’t work. And it’s your fault. Let me explain…
With the rise of non-Windows operating systems in the enterprise, such as Mac OS X and the many flavors of Linux—particularly Red Hat, SUSE, and more recently Ubuntu—and the appearance of cheap, powerful machines from a multitude of vendors, enterprises large and small are realizing that if they don’t enable their employees to easily work with, test on, and develop for multiple operating systems, they’ll fall behind.
In the last few years, many companies have simply deployed multiple desktops or laptops to their teams to combat the problem, but that shortsighted solution usually causes more problems than it solves. Specifically, it forces IT departments to support multiple OSes in mission-critical environments, taxes budgets and operating expenses such as power and cooling, and cramps office space. And anyone who’s had to lug two laptops with them on a cross-country flight in coach knows that this model doesn’t exactly bolster productivity!
Recently though, savvy IT-types like yourselves have turned to virtualization to ease the pain of running a multi-OS business. Why?
- Cheap: Coupled with an OS site license, virtualization is cheaper than buying additional machines. And, since multiple OSes run simultaneously, no additional power is consumed to run them versus running a single-OS machine.
- Safe: Since virtual machines are stored in self-contained folders (or files, depending on which vendor you use), they’re easily backed up, simplifying disaster recovery and deployment.
- Efficient: Switching between applications on a desktop is a lot faster and more efficient than switching between different machines or dual booting.
- >Fast: With the advent of hardware assisted virtualization technologies such as Intel Virtualization Technology (Intel VT) and AMD Virtualization (AMD-V), virtual machine performance has moved within inches of native performance. In some cases, it’s even better. Slow, sluggish VMs are a thing of the past if your solution works with these key technologies.
All of that being said, let’s take a look at some common scenarios where desktop virtualization can benefit your business. Not surprisingly, many of these involve integrating Linux with Windows.
The Corporate World
The scenario: You need to empower your engineers with key Linux development tools, while still keeping the management types happy by sticking with Industry standard applications such as Outlook.
How virtualization helps: Simply put, it lets you run Windows apps at the same time as Linux apps on one machine. Critically important for us nerdy development folks who refuse to give up Linux, or in my case, Mac OS X, and go all Windows. It eliminates the need to work with a second machine or go through the hassle of dual booting. With the right set of integration features, such as Parallels’ Coherence (GUI integration) and SmartSelect (file/app integration), you can relegate Windows to an application platform and let the look, feel, and file structure of your favorite distro rule. And, since each VM is an isolated file set, backup is a snap. Just copy the folder or file to an external drive or SAN, and you’re good to go. Makes disaster recovery a process of minutes, not hours or days.
Technology to look for: Deployment Tools. If you’re going to empower your team with virtualization, you’ll need to figure out a way to get them a working VM and keep it working without making housecalls. Enter deployment and management tools such as JAMF, FileWave, SMS, and LanDesk. These third party tools not only help you push virtual machine images to hundreds or thousands of users, but also help manage each VM’s status.
When a patch or new software is ready to go, these tools can be automatically set to push them to each VM (and often, real machines) or have each VM pull the new data at an appropriate time. Also, since each virtual machine appears with its own MAC and IP address, they will integrate seamlessly with standard enterprise management software, such as Active Directory or Open Directory, meaning that managing them won’t give you any extra headache above and beyond physical PCs.
K-12 and Higher Education
The scenario: Savvy professors know that there’s a world beyond Windows, and they want their students to be ready for it. The question is how to educate students on both Windows and Linux without overcrowding computer labs or liquidating budgets?
How virtualization helps: Run everything in a virtual machine that can be easily backed up and restored. This is an ideal solution for both teachers and students; students get a blank canvas where they’re free to make mistakes, and teachers are able to keep machines online so they can provide a consistent, productive learning environment. And, since multiple VMs can run at once, students can even explore the subtle differences between multiple Linux distributions on a single machine, without slowing down to reboot.
This is exactly what Dr. David Rawlinson at Central Washington University is doing with his labs; using Mac OS X as a host, Rawlinson’s students work in Windows, Linux, and Solaris virtual machines so they can gain valuable real-world development experience on each platform.
Technology to look for: Snapshots. Snapshot technology is like a time machine for your virtual system. With the push of a button or a click of a mouse, a snapshot feature saves the state of your virtual machine, including memory, disk state, and settings. In case of disaster, you can roll back to that saved state at any time, effectively erasing the problem like it never happened.
This is invaluable in an education setting where students will inevitably make mistakes, because it enables teachers to keep real machines online, even if serious OS-related problems occur. It also enables teachers to give each student in each new class a completely clean machine to work with. Snapshots has a sister technology called “undo disks” which erases all changes made during a session at shutdown. It’s the eraser to the virtual machine’s chalkboard.
Development and Testing
The scenario: You’re developing an application that needs to be compatible with multiple flavors of Windows and Linux, all of which need to be production ready at exactly the same time.
How virtualization helps: Use desktop virtualization to create completely customizable, easily refreshable isolated playgrounds in which you can develop, test, and debug. This is exactly what Web Crossing, a Parallels client, did to ensure that its products worked with every OS under the sun. Not only did it reduce the number of per-developer workstations from 10 to one, but it improved production time by 75% simply by eliminating the need to move between multiple stations to code and test.
Feature to look for: Performance. If you’re doing serious coding and QA work, responsiveness is key. This is the primary reason why so many cross-platform development shops go the route of multiple workstations; they’re willing to compromise a bit on efficiency to ensure that developers have the best performance available.
To address this concern via virtualization, look for a solution that supports Intel Virtualization Technology and/or AMD Virtualization. Enabled by a hypervisor, these hardware assisted virtualization technologies can improve virtual machine performance as much as 150%. As VT evolves, look for performance both in raw processing and graphics to dramatically improve in virtualization.
Another handy virtualization feature to look for is virtual Symmetric Multi-Processing. SMP allows virtual machines to access multiple real processing cores during a single session. This means faster, more efficient virtual machines that work more like native multi-core machines. Many virtual machine solutions on the desktop support two-way SMP, and you can expect that to scale to four- and eight-way SMP in the future.
The scenario: You’re supporting a multi-OS infrastructure, but with limited hardware and even more limited time, you spend a lot of time making on-site visits or playing “Guess and Check” over the phone to diagnose and solve problems.
How virtualization helps: Create a library of virtual machines that reflect your users’ configurations. When a problem arises, duplicate it in a virtual machine and solve it on the spot. And, with snapshot and undo disk technology, you can erase what you’ve done and ensure that the stock machine is clean and ready to roll next time a problem arises.
Feature to look for: Isolation. If you’re breaking things in a test environment to diagnose, solve, or prevent problems, then you need to make sure that every virtual machine is completely isolated from every other VM as well as from the host machine.
We in the industry call this “sandboxing.” In a sandbox, hypervisor and hardware assisted virtualization technologies play an important role, just like they do in performance; by controlling critical hardware resources, the hypervisor allows guest VMs to access hardware directly rather than going through the primary (host) OS, thereby providing a more secure computing environment.
New offerings from Intel, such as Trusted Execution Technology (TXT), go one step further by securing the hypervisor boot process at the processor level. Look for a desktop virtualization solution that includes hypervisor technology and supports Intel TXT for the most secure virtual machines possible.
Of course, this is only a sampling of the possible scenarios for desktop virtualization. Next month we’ll start discussing virtualization in the datacenter and common use cases and approaches to lower expenses and boost efficiency, as well as the merits of hypervisor and container-based solutions in small, medium, and large enterprises.