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.
What’s new
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.
[…] http://www.workswithu.com/2009/11/16/virtual-appliances-as-debian-packages-on-ubuntu/ a few seconds ago from IdentiFox […]
[…] http://www.workswithu.com/2009/11/16/virtual-appliances-as-debian-packages-on-ubuntu/?utm_source=fe… a few seconds ago from web […]
Hum…
Christopher, what is a virtual appliance?
Might be a dumb question.
I read all of your articles and haven’t had a problem understanding them, but a lead-in sentence would help me alot.
Thanks.
Walt: this post is aimed more at the server audience than desktop users, so I wouldn’t expect everyone to know what a virtual appliance is if they’re not using Ubuntu on servers. But for a definition, Wikipedia’s article is good: http://en.wikipedia.org/wiki/Virtual_appliance.
Thanks for the tip on stronger lead-in sentences; I’ll try to focus more on that.
@walt Regarding your question, what is a virtual appliance see here:
http://www.turnkeylinux.org/virtual-appliance
I’m kind of puzzled that Chris would write a post about Ubuntu virtual appliances and not mention TurnKey Linux, an Ubuntu based virtual appliance library with over 40 Ubuntu based appliances:
http://www.turnkeylinux.org/
You can deploy those. Right now. On bare metal, virtual machines and in the cloud.
Debian packages were never really designed for this sort of thing and trying to force them into that role raises the bar by making things overly complicated.
Incidentally, we’ve given some thought to getting the community more involved with appliance development recently released TKLPatch, a simple way to customize and extend any appliance in the TurnKey Linux virtual
appliance library. It’s extremely simple and should work for non-TurnKey appliances as well:
http://www.turnkeylinux.org/docs/tklpatch
New appliances can be built as patches to the closest starting point in the library (e.g., TurnKey Core, LAMP, Django, Rails, Tomcat).
BTW, we’re building out TurnKey Linux as a specialized extension of the Ubuntu community that focuses on appliance development. Some people confuse the project for a fork but if you take a look at an appliance under the hood you’ll see it is pretty much a standard installation of Ubuntu that has been customized for a particular usage scenario. We just give users a better starting point. Like Ubuntu, TurnKey Linux is 100% open source.
Anyhow, we’ve invested a ton of effort into figuring out all of the issues and we’d like to invite any one interested in appliance development to collaborate with us. Reinventing the wheel is such a poor use of the community’s resources.
Once we add an appliance to the project we assume the burden of maintaining it at the appliance level with regular updates. This frees you to focus on more interesting tasks (e.g., improving quality of integration, software sub-components).
Cheers
Liraz Siri
They’re not Debian packages if they’re not running on Debian, regardless of the .deb extension (which really should be changed to .ubu IMHO)
See also an innovative appliance factory, http://www.usharesoft.com.
You will be able to build and deploy virtual appliance in few clicks !!
Access to a wide range of open source OSs and projects catalogue. Join a fast growing community and share your favorite appliance with your colleagues.
The platform manages the life cycle of your virtual appliance : access to a private software appliance library, control versioning, updates and cloning.
The company is ramping up to the cloud!!!
Free account available