Virtual appliances – virtual machines containing a pre-configured operating system and application – hold a lot of promise as a new means of software delivery, but so far, questions about how to keep virtual appliances up-to-date and properly patched may have stymied their adoption.
Now, one advocate of virtual appliances, open source consulting firm Enomaly in Toronto, Ontario, has proposed using Really Simple Syndication (RSS) as simple way of distributing and updating virtual appliances.
Dubbed VMcasting, Enomaly's idea is to publish a virtual appliance to an RSS feed. Under this model, the appliance is packaged in an Extensible Virtual Machine (XVM) file that is then published to the RSS feed. Subscribers to that virtual appliance can then be alerted that a new version of the appliance is available simply by visiting that feed.
The XVM format, meanwhile, is a standard Unix "tar" file comprised of several files:
- The xvm.xml – an XML file that describes the contents of the archive
- manifest.txt, which lists the contents of the archive, plus the SHA-1 sums for each file;
- mf-signature.asc – the Gnu Privacy Card (GPG) signature for the xvm file; and
- hard disk partition images, broken down in to manageable, downloadable chunks.
In addition to Enomaly, vendors that have announced support for VMcasting include JumpBox, Inc., in Tempe, Ariz., and VirtualAppliances.net. Both vendors create virtual appliances out of open source software packages. For example, JumpBox has created virtual appliances for WordPress blogging software, while VirtualAppliances.net offers virtual appliances based for LAMP (Linux, Apache, MySQL and PGP), MySQL and PostgresSQL, to name a few.
The VMcasting specification supports numerous virtualization platforms -- not just VMware. The full list includes Open Virtual Appliance (XVM), Amazon's EC2 (AMI), Xen, VMware Server and ESX, Parallels, Windows Virtual Server (VHD), and Qemu (Qcow).
Subscribing to virtual appliances
Kimbro Staken, CEO at JumpBox, says VMcasting has two aspects: a packaging and distribution format, and as a means of updating virtual appliances. As a distribution format, Staken sees VMcasting's promise, but on the latter front, Staken has his doubts.
When it comes to using VMcasting to update a virtual appliance, "it's not clear to me that it will work in the real world, he said. The problem, as he sees it, is that a virtual appliance is not merely a collection of code – it often contains data as well. If the virtual appliance contains application data, updating the image "will blow up the data."
Suffice it to say, "there are a lot of issues that still need to be addressed if it's to be truly viable," Staken said.
Despite some of these challenges, interest in virtual appliances remains strong, particularly among developers and small businesses, Staken said. With SMBs, "virtual appliances are definitely the future of server-based software. For them, the ability to drop [the application] in and have it just work is very appealing."
But in the enterprise, the appeal of a virtual appliance remains to be seen, Staken said. "The enterprise has a different set of problems, and they have IT staff with the technical skills. There, it's less clear if virtual appliances will be as prevalent."
Let us know what you think about the story; email: Alex Barrett, News Director.
Dig deeper on Using virtual machine appliances