OCCI or Open Cloud Computing Interface is basically a set of specifications and open standards made by OGF (Open Grid Forum), defining how different cloud solution providers could provision the services and resources to the end users.
Its features include API stack and protocol, and implementation that offer enterprise-level functionalities for cloud services. Primarily, Open Cloud Computing Interface was founded for Infrastructure as a Service (IaaS) cloud services in order to provide network, storage and compute resources. At present, it is also companionable with other cloud models, namely Software as a Service (SaaS) and Platform as a Service (PaaS).
OCCI is made to standardize and streamline creation of system calls and API that are similar in every IaaS provider in order to offer remote manage service for scaling, monitoring, deployment and other system management tasks that are necessary for remote cloud clients.
Open Cloud Computing Interface works on client/server architecture in which client is end user and cloud hosting provider' infrastructure is server, provisioning portability, cloud solutions' interoperability and portability to the receiver.
-- The OCCI Core specification includes single document describing core model of OCCI. The model could be interrelated with renderings as well as expanded via extensions. -- OCCI Extension specifications include multiple documents describing the core model's extension. These documents explain additions in the OCCI Core Model explained in the specification suite of OCCI. -- The OCCI rendering specifications contains various documents describing rendering of OCCI Core Model. Various renderings could interact with OCCI Core Model and it will support model' additions that follow extension rules as described in the OCCI Core.
How OCCI Works
OCCI is framework that means it utilizes HTTP extensions in order to offer the required extra metadata. Extensions are completely compatible with the current HTTP clients, so you could issue the commands to machines utilizing command line tool like curl. The principle will be similar for every operation that is supported via OCCI.
The headers include information like whether VM is start able. The moment system wish to return the rich metadata, this could be done utilizing properties compressed as values in the OCCI extension header field.
Things that could be done via OCCI calls include implementing start as well as stop actions on the VM, making block storage volume, listing the security groups as well as allocating IP addresses.