The DMTF released a work in progress specification for its Cloud Infrastructure Management Interface (CIMI) September 14. There are, as yet, few standards that apply directly and purely to cloud computing and even fewer of those that exist are well established, but there is a tangled thicket of established and de facto standards that do play some role. Therefore, the significance of CIMI may be hard to see - and that's what I will attempt to uncover in this post.
The NIST cloud standards roadmap, published this summer, pointed out the need for a specification for an Infrastructure as a Service (IaaS) management interface, which is what CIMI is, and what is commonly referred to as ‘cloud infrastructure management.'
So, what is cloud infrastructure management?
Simply put, it is the control and direction of IaaS services, the bare computing infrastructure that you can get from the likes of Amazon EC2. The trouble is, consumers of public IaaS are at the mercy of their providers, who are free to use any interface they'd like. Until the entry of CIMI, there were three main options: Amazon's AWS interface, Openstack, and Open Cloud Computing Interface (OCCI). The Amazon interface is proprietary, although a few other providers have emulated some parts of it. Openstack is an open source effort using an Apache license. OCCI is a standard that was published in three documents earlier this year.
None of these three have established dominance. As a pioneer in providing IaaS, AWS has by far the most consumers using the AWS API and might be called a de facto standard, but Amazon's API is tailored to the features of the company's cloud offerings, which other providers may not want to emulate. Consequently, the prevalence of AWS is will probably depend on the continued dominance of AWS as a cloud provider. Openstack has gotten some traction, mainly with government bodies and institutions. OCCI is still relatively new, the final document of the specification having been released only this summer.
Every IaaS has both a management and a functional interface
IaaS, PaaS, and SaaS all have two interfaces: a management interface and a functional interface. For IaaS, the management interface is used to describe the computer the consumer needs, ask the provider to create the computer, and then start and stop it. You can think of the management interface as what you do to set up a computer system before you get to the keyboard: picking out the model and configuration, waiting for the FedEx delivery, plugging everything in, and finally throwing the switch. When the machine is booted up on the pre-installed operating system, it's time to use the functional interface. You sit down at the keyboard, install your software and start exercising your new increment of compute power. The functional interface is usually very similar, if not identical, to the interface you would use to work with an on-premise installation.
What does CIMI bring to the table that the alternatives do not?
The purpose of CIMI is to provide a standard way of performing work in a cloud that represents the work that is done without the keyboard on a system.
(Before I go on, please don't take this too literally. There may be things in the management interface that would be done with the keyboard of the cloud resource. This is a rule of thumb not a normative statement. I give credit to Gil Pilz of Oracle, the editor of the CIMI model spec, for the kernel of this way of describing the management interface. He made a remark in a meeting that I have stretched way beyond his utterance into this extended analogy; if it doesn't make sense, it's me, not him!)
Let me highlight some advantages to having an open standard IaaS management interface:
- From the user's point of view, a widely accepted standard interface means only one interface to learn to use. This is a convenience that should not be under estimated. Imagine a World Wide Web where HTTP was not the standard interface and each website supported its own protocol. Dealing with two or three sites might be possible, but as the number of sites goes up, the difficulty of dealing with all those protocols would quickly become overwhelming.
- For builders of tools to facilitate the use of cloud, such as CA Technologies, a widely accepted standard interface makes it possible for a single tool or module to reach many more providers, reducing development and maintenance costs.
- Standards are unambiguously documented, with clear indication of what is normative for interoperability and what is suggested practice. Clear API documentation makes it easier for both providers and consumers to design around the API.
- Many standards have established compliance testing and certification. This provides predictability and confidence in the behavior of interfaces.
- A standard interface managed by an open standards organization supported by many vendors tends to be more stable than de facto interfaces. Standards organizations have processes to mediate between contending requirements and systematically maintain specifications.
Will CIMI come out on top?
Only time will tell if CIMI becomes the predominant standard for IaaS management. It is still a work in progress and a late arrival, but it has the advantage of contributions from a number of vendors who are active in developing cloud computing. The range of contributors to the specification, and the rigor of DMTF processes (which have recently passed the scrutiny of ANSI and ISO/IEC for the Open Virtualization Format and Server Management Command Line Protocol) are in its favor.
Interface specifications are a bit dry, but I recommend looking at the work in progress. The texts are available on the DMTF site: DSP0263, DSP0264, DSP2027. The primer (DSP2027) is a quick route to the flavor of the specification. The model and REST protocol specification (DSP0263) is the meat of the standard. The CIM section (DSP0264) will be useful to DMTF CIM aficionados.
(All of that said, my friend and colleague in many work groups, William Vambenepe, has expressed an alternate view of the significance of CIMI in his blog . I encourage you to read both and share your point of view in comments. Time will tell...)
*Public domain keyboard image courtesy of Petr Kratochvil.