Posted on | September 23, 2008 | No Comments
After a rather tedious day of digesting specifications, I have concluded that I love the Open Virtual Format and hope to see it adopted widely. Incidentally, if you work with virtualization and have not browsed the standard, I’d recommend doing so. Native support for it is on the road map for the next Xen release.
The format defines a relatively easy way to package virtual appliances with a technology agnostic approach. This enables one release, one archive, one maintainer and compatibility with various hypervisors and simulators. Applications that are invasive to a user’s computer are best packaged as virtual appliances. Invasive simply means many changes to the user’s machine or a whole new operating system are needed for the application to work.
For the non-geek, a virtual appliance would let you test a new suite of office applications inside of a simulator running in a window on your desktop. No changes would be made to your computer beyond downloading a small package for the simulator to run.
Many of my projects are designed with a component model in mind.. much like Lego building blocks. From the user’s vantage point, leveraging this stuff should be as simple as snapping blocks together. The OVF has every feature that I need, from simple configuration schema to signing of releases. Someone downloading my release can quickly:
- Verify that the release is authentic
- Quickly configure any settings with a simple dialog menu
- Boot the thing and start using it
It simply can not get any easier than that. The golden point is, the user could be using QEMU, Xen, VMWare, Parallels, OpenVZ, KVM (heck probably even lguest) and it would ‘just work’. One distribution archive, one signature, three control files and away we go.
If you produce non-free software, its still the ideal format. Provisions for your EULA are included in the standard. Everyone wins.
I predict that this standard will encourage development of virtual appliances that can be used with ANY underlying framework. Gridnix, AppLogic, Virtuozzo, whatever. This means, for developers, the time it takes to ‘custom cook’ a single distribution is all it takes to provide your work to anyone.
I am very happy to stop thinking about how to get releases from “tarball to configured and running” using a technology agnostic approach. I can truly say, this is the first time (ever) that a proposed standard actually saved more time than its learning curve