New ways to control your virtual machines

Parallels Desktop and VMware Fusion reveal a future where admins can more easily manage hypervisors and guests remotely

As virtualization becomes more commonplace, users will want to be able to interact with hypervisors and the guests they host from remote locations and via scripts. Parallels Desktop and VMware Fusion both support some kind of API-based interaction, although their approaches are very different.

Parallels Desktop 4.0 supports an iPhone application -- available as a free download from the iTunes App Store -- that allows you to control your guest operating systems inside Desktop. The application, called Parallels, lets you see and manage -- to a degree -- multiple hypervisors and their guests remotely via the Internet. The iPhone app isn't a VNC (virtual network computing)-like application; it simply allows you to manage the guest power-on state. That is, you can start, stop, or suspend a guest OS.

[ See InfoWorld's latest review of Parallels Desktop 4.0 and VMware Fusion 2.0.1. ]

I don't usually run guests on remote machines, so I like this application mainly for its gee-whiz factor. I can imagine scenarios, however, where this application would be handy. For example, you might run Parallels on your machine at work and want to use services on several of the guests while you're at home, but you don't have resources to run them all continuously.

More interesting are the possibilities that this application portends. Once the hypervisor has a networked API, it could be expanded to include VNC-like capabilities. As a result, the guests themselves wouldn't need to have VNC installed and running to access them remotely. A public API would allow third parties to write software for remotely interacting with the guests.

More appealing to the geek in me is the vmrun application that comes with Fusion; vmrun lets you interact with the hypervisor from the command line and by extension any scripting language. Packages for interfacing with vmrun already exist for Python, Ruby, and Perl.

Additionally, vmrun goes further than merely controlling guest power-on state. You can also manage snapshots; record and replay commands; run an application on the guest; manage files; and control processes.

As more and more people start to use hypervisors to manage multiple guests, the need to interact with the hypervisor both through scripts and APIs will grow. This is a space to keep your eye on.