EMC's Mozy Raises Interesting Questions About OSes And Backing Them Up

Earlier this week, InformationWeek's Antone Gonsalves reported on EMC's launch of MozyPro, an online backup service for business desktop, notebook, and servers running Apple's Mac OS X. There's a consumer version, too. As business user of a MacBook Pro, I'm candidate for this service. I use VMware's Fusion (also owned by EMC), so my Mac can host an x86 virtual machine (VM) that runs
Earlier this week, InformationWeek's Antone Gonsalves reported on EMC's launch of MozyPro, an online backup service for business desktop, notebook, and servers running Apple's Mac OS X. There's a consumer version, too. As business user of a MacBook Pro, I'm candidate for this service. I use VMware's Fusion (also owned by EMC), so my Mac can host an x86 virtual machine (VM) that runs Windows Vista when I need it to. I'll give Mozy a looksie. But, moving forward, desktop VM technologies like Fusion and VMware Workstation raise interesting questions about the traditional approach to "backing up."Ask most people if they back their systems up, and the answer is invariably "no." Ask them what they're going to do when their notebook or desktop goes belly up, and typically, you just get nervous laughter. Most people are gambling with whatever is on their hard drive. I have to admit, I am, too, to a certain extent. I copy the handful of files that I'm terrified of losing to an external USB-based hard drive.

If you've never used a virtual machine product like one of VMware's offerings for running a desktop operating system, then I strongly suggest you give it a try, even if only for kicks, or one feature. After only a short while of using VMs, I started wishing that every desktop OS I will ever use (or those like my wife, for whom I'm the tech support department, must use) ran in a VM.

My prediction is that one day, all desktop and notebook OSes will, by default, run in VMs. There's also a lot of talk of application-specific VMs (sometimes called "appliances" because the metaphor fits if you think about it). But for desktops and notebooks, those are a ways off because, unlike servers, desktops and notebooks typically don't have the sort of compute resources needed to support the idea of one VM per application. VMs are, after all, software versions of complete computers. Running multiple complete computers under the hood of one physical computer is pretty demanding (just ask the mice whose job it is to make the fan in my MacBook spin faster when I'm running multiple VMs simultaneously).

The reason people laugh nervously when you ask them what they're going to do when their system goes belly up is that most of them have been through the crisis at least once and know that getting back to where their system last left off before crashing is close enough to impossible that few people ever really attempt to do it. I know of no one who has. I'm sure you're out there. (I'm also sure the backup vendors whose livelihood I just called into question already are locking and loading their intercontinental ballistic e-mails).

Usually, following a system catastrophe, step 1 for everyone is to get back to virgin system status. Most do this by restoring their existing system to basic operational status with just the OS or by purchasing a new, operational system and ridding it of all the crapware that comes on it. Step 2 is to slowly personalize that new, hopefully clutter-free system. This involves installing applications, copying files, bookmarks, etc., etc.

It's never as simple as restoring from a backup, though. Particularly when it comes to software. Most people who know a thing or two about computers would never dare to restore an application to its functioning state by pulling the previously installed version from a backup as though it's just going to work. Chances are it won't unless the application's official installation process is used to install it from scratch. Even then it's up to you to marry the reinstalled application to the old data by synthesizing connective tissue that remains an enigma to many. No one ever looks forward to having to restore a system (continued below)

VM technology however, is a complete game changer in the backup and restoration market. With virtual machines, an entire computer (the hardware configuration, the operating system, the applications, and data) are reduced to a file, or a handful of files on your hard drive.

My Windows Vista system is just that: a few files on my Mac's hard drive. Even more extraordinary is how that Windows Vista virtual machine was originally on an IBM ThinkPad before I copied it over to my Mac (virtual machines created with VMware Workstation for Windows are portable to VMware Fusion for Mac and vice versa).

Just this portability alone is a game changer. It's 3:00 and Mary, who is leaving on a trip calls in a panic because her notebook computer won't even start. At 3:12, a tech shows up at Mary's desk with another computer. At 3:13, he copies the most recent snapshot of her VM to the replacement notebook and at 3:20, Mary's bags are packed and she's heading for the airport. It's that simple.

One reason I run Windows is that there are certain applications I need for which there is no Mac version. There also are two Web sites I need Internet Explorer for. One of those applications is Garmin's Training Center software, which comes with my Garmin 405. The 405 is a sophisticated, GPS-enabled athlete's computer (on a wristwatch) that tells you everything that's going on while you're running or cycling: where you are geographically, your heart rate, your speed, etc. It also remembers everything every step of the way during any run or ride and can upload it to a Windows PC for further analysis. I upload all the data out of my 405 into my Windows Vista VM.

But the 405 has a bug that I'm trying to get worked out with Garmin. Like many athlete's computers, it tries to tell you what percentage of your maximum heart rate your heart is currently operating at during a workout. But the math in my 405 is wildly incorrect, telling me that at 120 beats per minute, my heart is at approximately 50% of its max. How I wish my heart could do 240 beats per minute. I'd be the world record holder in every endurance sport known to man!

In an attempt to fix the problem, I updated the 405 with a new firmware download from Garmin's Web site. Not only didn't the update work, during my next attempt to upload training data from the 405 to the Windows VM, the Training Center Software's database became corrupted. But just before doing all the updates, I used VMware Fusion's snapshot utility to take a complete picture of my Windows Vista VM. When I realized how screwed up my Garmin Training Center installation was, I simply reset the entire virtual machine back to the snapshot I took of it just before updating the watch and I was back in business.

I can envision other benefits to doing all of our computing in VMs. For example, let's say you're on the road and a VM you use is having problems of one sort or another. In many cases, the tech support department might remotely access your machine to fix it. But another option is for them to download a copy of it from your system (using something like FTP), fix it up, and upload it back to you.

Ideally, I'm imagining PC's shipping with VM technology already on them. When people sit down to use their PCs for the first time, they'd be redirected to using a virtual machine instead of the operating system that's running on the bare metal (often referred to as the host operating system). Once they're using the virtual machine as their primary machine, the host OS (which could be Linux just as easily as it could be Windows or OS X) would mostly be in the background.

In fact, I can imagine companies like Dell, HP, and IBM coming up with host OSes (e.g., a Dell version of Linux) that are specifically optimized to the task of playing host to other VMs. These would be operating systems that are stripped down to only the bare necessities needed to support virtual machines, thereby not taking up nearly the amount of system resources and overhead they might normally take (thereby not robbing the VMs of the computing resources they need).

Are we "there" yet? Is this doable today? Power users like me are already there. But it's not a perfect world. For example, out of the box, the host operating systems (Mac, Windows, etc.) aren't optimized as I just described and, once they're loaded, they don't leave a lot of room for VMs to run and perform the way things do when you're running on bare metal (as most currently do). Thankfully, Moore's Law is still in effect and it shouldn't be too long before our desktop and especially our notebooks will be able to run multiple VMs without breaking a sweat (or the bank because, today, you need to buy a relatively beefed-up system from a processor and memory point of view).

Another problem has to do with OS X. If OS X is your operating system of choice (as it is with me) and you want to run a copy of OS X in a virtual machine, that's a problem. Never mind whether running an OS X VM on a Windows host is technically possible (the way I run Windows Vista on a OS X host). I've heard of people running OS X in a virtual machine. But Apple essentially condemns the practice and until that changes, running OS X in a virtual machine will be the sort of stuff hackers do, but never the mainstream.