Lately, a share of my time has been going into helping with the next release of OVF, the DMTF’s (Distributed Management Task Force) standard for packaging virtual appliances for deployment. The standard is vendor neutral, meaning that it is not “owned” by a single hypervisor provider. Instead, most hypervisor providers have participated in defining the standard. OVF was adopted as a US ANSI standard and then an ISO/IEC international standard several years ago. Version 2.0 and all other published versions are available for free on the DMTF OVF page. ISO/IEC charges for copies of their version, but the content is the same as the corresponding DMTF version.
What is OVF?
Although OVF comes up frequently in discussions, I am surprised at how few people know what it does and why it is important. Usually people think about virtual machines as an image of an installed physical computer that can be reproduced virtually by a hypervisor (more properly, a virtualization platform). That is correct as far as it goes, but the really interesting applications of virtualization involve many virtual machines installed with elaborate software that is all configured and wired up to work together. For anyone who has had the mixed pleasure of spending weeks installing and configuring a complex physical system, packaging up a complex configuration and reproducing it at will is close to a miracle.
Installing Complex Configurations
OVF shows its worth when installing complex configurations. The term “virtual appliance” refers to a simple or complex system packaged up and installable as a single appliance. Virtual appliances are what OVF is all about. By far the most notable application of OVF is packaging virtual appliances for cloud deployment. An OVF package consists of individual virtual machine images that can be in a range of formats, a security manifest for signing packages as authentic, and, most important, the OVF descriptor that describes how the images are intended to fit together. The descriptor is designed to be flexible and extensible, which means very complex systems can be described in as much, or as little, detail as needed to deploy as intended. Using OVF-packaged virtual appliances, deploying complex appliances on a cloud can be fast and dependable. No more errors from mis-typed URLs and cabling goofs!
The Challenges of Complication and Variation
One challenge faced by any packaging language is the staggering diversity of the systems that benefit from packaging as virtual appliances. How do you produce a machine readable description of anything so varied and complex?
Secret Weapon: Common Information Model
OVF uses the DMTF Common Information Model (CIM) for detailed descriptions. CIM is occasionally frustrating for its complexity, but it is a finely articulated and living model of IT management information developed by major IT vendors and published as an open standard by the DMTF. Its complexity reflects the complexity of the domain. It has been evolving for over ten years and continues to be added to. The latest version of CIM was released in January 2013.
OVF taps in to CIM for its rich model that is accessible as a public standard. Consequently, OVF descriptors can be interpreted by anyone, no matter what scheme they use for their internal representation of systems. Keep in mind that OVF does not impose CIM on anything but the terminology used in an OVF descriptor. By tapping into CIM, OVF takes advantage of CIM’s ready availability and its terminology for almost everything you can imagine in a data center. At the same time, the consumer of the OVF standard is not burdened with terminology that they may never use. The coupling between CIM and OVF is sufficiently loose that, for example, terms in CIM 3.0 can be used in an OVF 1.0 compliant package, even though OVF 1.0 was released years before CIM 3.0. The end result is a packaging description that is capable of great detail and reach, but remains comprehensible and usable.
The OVF standard is not the easiest standard to understand, but it has tremendous practical value and its value has been increasing with each release. As an international standard, it has wide exposure and growing acceptance. I expect that someday in the not-too-distant future, it will be recognized as a bedrock foundation for good cloud practice.
I’ve written more about OVF in my book Cloud Standards. I urge you to go there for more description of OVF and how it works.