VMMC: Virtual Machine Monitor Connector API

I have the following scenario where I'm building a custom IaaS cloud service such that:

  1. The IaaS cloud uses an arbitrary cluster of hosts, i.e., the cluster nodes can possibly have different OS and VMM (Virtual Machine Monitor) like in a volunteer infrastructure situation.
  2. I need to ensure that the "service layer" via which the client creates, controls and manages the VMs is decoupled from the hypervisor specific details. For instance, I'd like to have a JDBC style API/SPI (let me call it VMMC -- Virtual Machine Monitor Connector API) to interact with the VMM and VMs. The API should shield the service layer from the VMM specific nuances, and the SPI allows plugging in the hypervisors without affecting the service layer code. A VMM would have a driver for such an SPI (analogous to JDBC drivers for different RDBMS engines).

As of now, I could not find out any standard API/SPI against which I can code my service layer and also hope to get some "drivers" for the VMMs. The closest approach (in OSS) to this that I noticed appears to be OpenNebula's Virtualization Subsystem. They too, however, don't seem to be implementing any standard SPI -- everything is OpenNebula specific. In other words, those "VM Manager Drivers" that OpenNeabula has can be used only in OpenNebula. It is desirable to be able to use such drivers in different IaaS frameworks and architectures. I think it will be useful to identify/define standards for an API/SPI which can help.

I looked at the NIST's cloud interface catalog (at the time of this writing) didn't reveal any such standard interface. So will continue to look for it for some more time.


Popular posts from this blog

Data leakage possibilities with Aadhaar based e-KYC systems

Cost of ownership for a car

Opprtunities for improving security in GoI apps