IntroductionCloud Computing is an already established technology, already having lost its aura as one of the hottest and most rapid developing topics in the industry. At the base of its services stack, Infrastructure as a Service (IaaS) model utilizes well understood architectures, providing access, mostly, to the same type of computing and storage resources across all platform providers. New topics entered the spotlight, such as integrated management of IaaS platforms, selection of an IaaS platform, vendor lock-in, interoperability and identity in the Cloud and efforts were made to address them by defining and using standardized interfaces. Standard data models and technologies compatible with both the IaaS platforms and the existing Internet Infrastructure had to be used. This led to adoption of established standards and technologies such as XML web services or JSON over RESTful services.2 Open Cloud Computing InterfaceOpen Cloud Computing Interface (OCCI) is a collection of community generated open specifications built through Open Grid Forum [1]. Intended to be an open and interoperable RESTful protocol and an API for all cloudrelated management activities, it started with a focus on the Infrastructure-as-a-Service layer but later extended to include all the other layers in the Cloud stack.The specifications are broken into several modules in order to achieve a greater flexibility and extensibility. Separate modules describe· the core models, defines an abstract representation of real-world resources intended to be manipulated through OCCI renderings [1].· the rendering of the code model using HTTP/REST, describes the interactions available for an OCCI implementation with the resources built using the core models [2].· the extensions to the code models specific to implementation of an Infrastructure as a Service API [3], defining its parameters for compute, storage and network.The main reasons behind the development of OCCI were identified in [4] and [5] as:· Interoperability, demanding a standardized API and protocol.· Integration, allowing different service providers to bring together and interconnect platforms based on different technologies.· Portability, providing standardized data formats understood by different providers, allowing porting between them.· Innovation, considering that established standards can be a driver for innovation.· Reusability, Figure 1, working on two levels, first allowing reuse of code through basic standardized APIs and, second, promoting reuse of standards in different technology fields.3 Cloud Data Management InterfaceCloud Data Management Interface (CDMI) describes a functional interface allowing applications to create, retrieve, update and delete data elements from the Cloud [6]. The standard is developed by SNIA, a global organization of storage solution providers. Using a CDMI compatible interface, cloud data consumers are able to discover the storage features offered by IaaS platforms. Along with data elements, the standard also allows the management of containers, accounts and retrieval of monitoring and billing information, Figure 2.CDMI is not designed to replace other object access protocols but to complement them. The standard uses RESTful protocol for building its interfaces, to keep it as simple as possible and to encourage its adoption. Adding discovery functions, it allows future extensions to the standard without breaking client compatibility.CDMI serves as both a storage protocol while, at the same time, offering a layer of client to cloud management and cloud to cloud standardized interactions. Clients can manage credentials to domains defined in the cloud forming a hierarchical structure that have objects attached to them and building a path for accessing and controlling these objects. For cloud to cloud interaction it introduces globally unique identifiers linked to objects for the whole of their lifetime to persist their identity if moved or replicated between clouds. …
Read full abstract