Virtual Appliances as Debian Packages on Ubuntu
Ubuntu developers recently began discussing plans for deploying virtual appliances via Debian packages, a move which would open up exciting opportunities, especially in the server market. Here’s the scope, with some thoughts.
As Andreas Heck described recently on the Ubuntu developers’ mailing list, initial work has been completed on specifications for exporting virtual appliances from virtual machines as Debian packages. In addition, Heck has written a Web-based utility for managing the virtual appliances.
In most respects, none of this is very new. There are already applications, like Enomaly, that provide much of the same functionality for managing virtual appliances. And the ubuntu-vm-builder scripts make it easy enough to deploy customized virtual machines, while pre-configured virtual disk images for a variety of different hypervisors are already available for many popular applications.
Nonetheless, this proposal promises a number of valuable innovations in the way virtual appliances are created and managed.
Above all, it would make the deployment of virtual appliances trivially easy. For example, setting up a customized virtual machine to run Mediawiki could become as simple as clicking a button in a Web interface. This is a lot better than having to build a virtual machine, launch it and then install Mediawiki by hand, or download a pre-built image and customize it manually.
The proposal also includes plans to implement application-specific plugins, which could be used to perform useful tasks not currently offered by any management applications. Users would be able to configure application-specific settings in the virtual appliance from within the management interface on the host–meaning there would no longer be a need to log in to the Mediawiki guest itself in order to maintain the application, using the example from above.
A system like this, if implemented, could open up important new possibilities for Ubuntu in the server market, by making Ubuntu Server Edition a more attractive virtualization platform. It would also open new possibilities in the Software-as-a-Service realm, since services could be deployed into a virtualized environment with very little effort.
Granted, all of this, for the time being, remains the largely uncompleted work of a single man. We will have to wait for the next Ubuntu Developer Summit to see whether the proposal is deemed worthy of real attention and integration into Ubuntu servers. But even now, it’s a very interesting idea with the potential to go far.