• Category
  • >Information Technology

What is Open Cloud Computing Interface (OCCI)?

  • Yamini
  • Jan 18, 2022
What is Open Cloud Computing Interface (OCCI)? title banner

Definition of Open Cloud Computing Interface


OCCI or Open Cloud Computing Interface refers to the set of specifications and open standards developed by Open Grid Forum, that defines how different cloud solution providers can provide useful services and resources to the end-users.


Some prominent features include API stack and protocol, and implementation that provides enterprise-level functionalities for cloud services. Open Cloud Computing Interface was founded for Infrastructure as a Service (IaaS) cloud services to provide network, storage and resources. 


Its compatibility with other cloud models, namely Software as a Service (SaaS) and Platform as a Service (PaaS) is a major advantage it has to offer. OCCI has been developed in order to streamline the creation of system calls and API, similar in every IaaS provider 


As described on the official website of OCCI, this helps in getting remote managed service for scaling, monitoring, deployment and other system management tasks that can be beneficial for remote cloud clients. OCCI works on client/server architecture in which the client is the end-user and the cloud hosting provider's infrastructure acts as the server.


This helps in boosting the provisioning portability, cloud solutions' interoperability and portability to the receiver.


(Also check: Introduction to Distributed Cloud)


What do OCCI specifications include?


  • The OCCI Core specifications


This includes a single document describing the core model of OCCI. It could be interrelated with renderings as well as expanded via extensions.


  • The OCCI Extension specifications


This includes multiple documents that not only specify the core model's extension but also describe additions in the OCCI Core Model explained in the specification suite of OCCI.


  • The OCCI rendering specifications 


This contains several documents describing the rendering of the OCCI Core Model. Various renderings could interact with the OCCI Core Model and this supports model' additions that follow extension rules as described in the OCCI Core.


(Recommended Blog: Spatial Cloud Computing: A Practical Approach)


How does OCCI Works?


OCCI is a framework that makes use of HTTP extensions to offer the required extra metadata. Extensions are entirely compatible with the current HTTP clients so that you can issue commands to machines utilizing command-line tools like curl. 


For every operation that is supported via OCCI, the core principle remains similar. The headers contain information like whether the VM is start-able. The moment the system wishes to return the rich metadata, this could be done easily by utilizing properties compressed as values in the OCCI extension header field.


The Open Cloud Computing Interface consists of a set of open community-lead specifications delivered through the Open Grid Forum. OCCI is a Protocol and API for all kinds of Management tasks.


Originally OCCI was initiated to create a remote management API for IaaS model based Services, in order to make possible the development of interoperable tools for common tasks including deployment, autonomic scaling and monitoring.


Since then, it has evolved into a flexible API combining integration, portability, interoperability and innovation along with a high degree of extensibility. Open cloud computing interface (OCCI) has the potential to streamline and standardize the creation of API and system calls. (From)


This aspect is similar in all IaaS providers, to provide remote management service for deployment, scaling, monitoring and another system/network management tasks essential for remote cloud customers.


The current release of the Open Cloud Computing Interface is suitable for many other models along with IaaS, including e.g. PaaS and SaaS. The tools and implementations are central to proving and validating the OCCI specifications. OCCI has developed around representational state transfer software architecture. 


(You May Also Read: What is Cloud Security?)


Why keep the cloud open?


An open cloud is beneficial for developers as it helps them in maintaining autonomy and security while taking advantage of the power and reach of the cloud.


Some of the key goals of an open cloud computing interface (OCCI) are focusing on interoperability allowing various cloud hosting providers to work together without translation of data formats, API proxying and depending on several APIS. 


It also aims to improve portability where no technical vendor lock-in would be required and services can be moved between providers allowing clients to switch between providers on the basis of business objectives. The most common benefits of this model include, but are not restricted to incurring minimal costs along with fostering and enabling competition. (Source)


Future of OCCI


An update of the OCCI specifications in the form of version 1.2 is in the process of being developed by the OCCI working group. Around four years of successful field, experience has led to numerous improvements in this version that will be backwards compatible with v1.1. 


It includes the following( but is not only restricted to):


  • The latest JSON rendering to go along with updates to the existing HTTP and text renderings.

  • Minor updates of current OCCI core infrastructure model and specification.

  • New extensions that will contain PaaS support, notifications support and SLA support.


As per the source, the OCCI group is working on developing the best methods to support some additional features, which include monitoring, key management and security, interdomain networking and direct interface support for popular batch systems through the Distributed Resource Management Application API (DRMAA) standard.



Ending Note 


This blog ends here. While reaching the end of the blog, we can conclude that today's cloud has become an integrated platform with millions of interconnected computational nodes working together. 


This keeps containerized Linux images, each running a distinct service (or "microservice" in developer lingo), functioning efficiently as applications distributed over the entire world. The set of specifications defined by OCCI strives to define a general protocol as well as an API that can be utilised for many different cloud management tasks.


As we have seen in this blog, OCCI was initially designed as a remote management API for IaaS model-based services, which leads to the development of interoperable tools for tasks like deployment, autonomic scaling and monitoring. 


After constant evolution, OCCI has now become a general-purpose flexible REST API framework that stresses integration, portability, interoperability and innovation with high extensibility. The current release (v1.1) of OCCI has a high level of adoption and implementation in production in a broad range of languages, projects, software products and application areas.

Latest Comments