OCCI (Open Cloud Computing Interface) is an open protocol for management of tasks in the cloud environment focused on integration, portability and interoperability with a high degree of extensibility. It is designed to bridge differences between various cloud platforms and provide common ground for users and developers alike. The rOCCI framework, originally developed by GWDG, later adopted and now maintained by CESNET, was written to simplify implementation of the OCCI 1.1 protocol in Ruby and later provided the base for working client and server components giving OCCI support to multiple cloud platforms while ensuring interoperability with other existing implementations. The initial server-side component provided basic functionality and served as a proof of concept when it was adopted by the EGI Federated Cloud Task and was chosen to act as the designated virtual machine management interface. This led to further funding from the EGI-InSPIRE project, development of a full featured client and a new rOCCI-server suitable for production environment. It has also prompted further proliferation of the OCCI protocol, spawned multiple connector/backend implementations and provided developers with valuable feedback and opportunities to test their own implementations of the OCCI standard. This paper aims to provide basic information about the OCCI protocol, introduce its implementation in rOCCI, describe some of the core functionality provided by the rOCCI client and rOCCI-server along with their impact on interoperability in the cloud environment. It also briefly examines its use in the EGI Federated Cloud Task environment and explores the possibility of further integration with other cloud platforms. All this with interoperability in mind. The paper also describes a carefully chosen subset of problems encountered whilst trying to provide interoperability with multiple cloud platforms through the use of the OCCI protocol, with real-world examples and chosen solutions.
The Open Cloud Computing Interface (OCCI) standard by OGF has become widely adopted in various cloud environments, such as the EGI Federated Cloud. It is currently supported by mainstream open source cloud management frameworks, e.g., OpenStack (through OCCI-OS) or OpenNebula (rOCCI) as well as others, less wide-spread ones. It is likewise supported by many workflow and submission tools used by user communities -VMDIRAC, JSAGA or SixSq. SlipStream to name but a few. OCCI is, however, found somewhat lacking in the availability of general-purpose clients supporting the standard. Only recently, its use was enabled only in the Ruby programming language through the rOCCI Framework, and command-line/scripting use was facilitated by the rOCCI-cli client. Naturally, there has been long-standing demand for OCCI support in other programming languages, primarily in Java. It has now been answered by the introduction of jOCCI -a native Java library implementing the OCCI class structure, rendering and transport specifications, currently in accordance with the OCCI v. 1.1 specification. Provided by the same product team already producing the rOCCI framework, it is more than "just another feature in the cloudscape." Rather than a simple translation of the client part of rOCCI, it is a brand new product -a choice that has been made not only to make it a truly native Java library, but also to introduce additional, independent, client to validate the generic functionality of existing OCCI server applications. This work describes the new library and compares it to rOCCI in terms of design and interoperability when used against other server-side OCCI implementations. It also discusses the relative merits of implementing the client library as a fresh product, relatively separate from rOCCI, rather than just providing Java bindings for the client side of the rOCCI Framework. Finally, the future of rOCCI and jOCCI is briefly discussed in view of the emerging OCCI v. 1.2 specification.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.