Virtualization isn't just for geeks or those who run enormously powerful servers. It offers something for everybody, and if you haven't yet dipped your toe into the virtualization ocean, then you're at serious risk of being left behind.
In its strictest sense, virtualization refers to running two or more operating systems one one physical PC. Either the multiple operating systems run side-by-side, with a separate piece of software called a hypervisor used to manage them, or one operating system runs the other operating systems within program windows. The former is usually limited to servers, with the latter finding common use on desktop computers.
Companies including VMware and Oracle lead the way in this kind of virtualization with their products for workstations and servers. There are even some highly capable free-of-charge versions in the form of Oracle's VirtualBox and VMware Player, both for desktop PCs, and VMware vSphere for server-grade virtualization.
However, there's also Virtual Desktop Infrastructure (VDI), which is an entirely different technology. This is where client computers log in to a server and access their own desktop environments, all of which is hosted on the server computer. Usually the remote desktops appear in program windows on the client computers, but mobile devices such as tablets are increasingly being used to access desktop virtualization, too.
For example, Citrix XenDesktop allows hundreds of client computers to log in to a single (usually very powerful) server via remote connections. Each user has their own account and therefore their own personal workspace, plus applications.
Here are 10 things you can do with virtualization that might convince you that it's worth giving it a try, if you haven't already.
1. Run Old Apps
Got an application that won't play nice in Windows 7 or Vista, but works fine in XP or an even earlier version of Windows, like Me? Just grab an old Windows CD and install it within a virtual machine (VM). Then install your app.
VMware Player features Unity mode, which allows applications running in the virtual machine to appear as if they're running natively on the host computer. They have their own taskbar buttons and their own program windows, making for a seamless experience. For this to work, however, you'll need to install the VMware Tools program on the virtualized operating system. You're usually prompted to do this after installation of the OS has finished.
2. Access Virus-Infected Data
Ever been sent a file that your antivirus program has flagged, but which contains important data you just have to view? Most virtualization software includes snapshot functionality, which means you can create a "saved state" of the virtual OS and its entire hard disk. It's a little like travelling back in time.
You could create a snapshot in the virtual machine, open the infected file within the VM to access the data and, if the virus causes chaos, simply click to restore the VM snapshot. Hey presto--a clean virtualized computer.
3. Browse in Complete Safely
Why not install Windows on VMware Player, then install Firefox, and run it in Unity mode so it appears to run natively on the host computer?
Essentially Firefox will be running in what's known as a sandbox, meaning that should it (or one of its plugins) get hacked while you're online, there'll be no absolutely no risk to your actual operating system. You could create a snapshot once everything's been configured in the virtual machine in order to get things back up and running quickly, should anything go wrong.
4. Test Software, Upgrades, or New Configurations
The virus testing technique above isn't limited to malware. You could use your virtual computer to test new software, updates, or even new configurations of software before you roll them out for real on your main OS.
Some server administrators use virtualization to create a copy of an existing installation of an operating system, plus its data, which they then run virtualized and play with to see if configuration changes or updates will cause any harm. If you manage workstation computers and want to be sure a Windows update is OK before rolling it out, you could do the same thing--just test it in a virtualized machine first.
5. Run Linux on Top of Windows (or vice-versa)
Want to give Linux a try but can't face repartitioning your computer's hard disk? Provided that it would ordinarily install on your computer, you can run just about any operating system inside a virtual machine, including most Linux distros.
Linux and Mac users have been using virtualization for years to run Windows on top of their chosen OS in this way.
If you run a Linux machine for mail or Web services, as examples, having a desktop version of Linux for occasional use will also make it easier to communicate with the server. There's no need to install PuTTY on Windows to communicate via secure shell (SSH), for example, because Linux has that kind of thing built-in.
6. Back Up an Entire Operating System
Because the virtual OS is entirely contained within a series of files, backing it up is as simple as backing up any other files. It's the same with virtualized server installations too. If you're running a virtual machine on a server to host your mail server, and it's brought down by a hack attack, then bringing things back to working order is as simple as restoring the backup files (assuming the vulnerability that allowed the hack is quickly addressed once things are up and running, of course).
Bear in mind that creating a copy of a VM creates legal issues. Backing up should be fine, but if you create a copy of a VM installation to give to a friend, for example, then you'll be contravening copyright laws (assuming they apply, as with Microsoft, but not always with Linux).
7. Create a Personal Cloud Computer
If you're out of the office, there's no need to take your laptop with you. Just leave it running (with power saving turned off!), take your mobile phone or tablet computer instead, and access the laptop via a Remote Desktop Protocol (RDP) connection over the Internet. This will let you access the same desktop environment you're used to, although there'll be no fancy graphics.
If you're running Windows 7 Professional, Ultimate, or Enterprise, then you can configure the computer to accept RDP connections by right-clicking Computer on the Start menu, selecting Properties, and clicking the Remote Settings link in the window that appears. The same instructions work for Windows Vista, although you'll need the Professional, Business, or Ultimate editions. Other versions of Windows don't support setting up an RDP server without a little bit of hacking (Google it).
You'll need to take a note of the public IP address of your router in order to connect remotely, and configure the router to port forward incoming RDP connections to your notebook PC. How this is done varies from computer to computer, but often you can select predefined rules.
8. Run Headless For Web Development
Most virtualization software allows the virtual machine to run headless, which is to say, without displaying a desktop (or other user-interface). Essentially, the virtual PC runs in the background although accepts all other kinds of connections, such as networking. For people creating websites, this offers the possibility of running their very own private web server for testing purposes.
9. Make a Backup of Your Server For Emergencies
Amazon's Elastic Cloud Computing (EC2) service allows you to copy across any existing virtualized Windows 2008 Server installation for use on EC2 (eventually all kinds of server installs will be supported, such as Linux).
Creating periodic backups of existing server installs in this way could provide vital redundancy if a catastrophe happens to your existing server. After the hurricane hits, leaving your physical servers in a whirl of dust, all you'd have to do is boot up the EC2 image, reconfigure things slightly to take into account the different IP addresses, and then continue as usual.
10. Reuse Old Hardware
By installing Citrix XenDesktop on your Windows server, you can turn old, less powerful computers into thin clients, wiping out the need for a workstation IT upgrade budget.
The clients access their personal desktop spaces on the server and there's little noticeable difference compared with running the operating system and applications locally. XenDesktop includes clever technology to avoid common thin-client pitfalls, such as the fact videos and animations don't play well, by shifting some of the processing work to the client computer.
XenDesktop also allows your workers to access their desktops from home, provided the server is configured to be publicly accessible and they have the right client software installed. You can even use mobile phones to connect to the desktop environments.
Keir Thomas has been making known his opinion about computing matters since the last century, and more recently has written several best-selling books. You can learn more about him at http://keirthomas.com. His Twitter feed is @keirthomas.
This story, "10 cool things virtualization lets you do" was originally published by PCWorld.