To allow Cloud cooperation and Federation, each company's Cloud must be able to seamlessly interact with different and heterogenous PaaS solutions (e.g. Cloud Foundry, Openshift, etc.). In this aim, we propose a generic API that allows human and/or software agents to provision and manage their applications to a PaaS. This API provides an abstraction layer and a middleware for existing PaaS solutions to allow application provisioning in a generic fashion (see Figure below).
COAPS exposes several interfaces that has be implemented according to the different actions exposed by a PaaS Solution. In this way, to interact with a new PaaS, we only have to develop its specific API implementation. For instance, a CloudFoundry-PaaS API implementation will act as a middleware between the user and a Cloud Foundry PaaS.
COAPS provides environments and applications management operations. The Table below provides a summary of the different Application and environment management operations and their associated REST method and resource identifiers. More informations can be found in the COAPS specifications (1.5.3).
We provide two implementations of COAPS for the time being: a Cloud Foundry implementation (CF-PaaS API) and an Openshift implementation (OS-PaaS API). Both implementations are written in Java and provided as RESTful (using the Jersey JAX-RS (JSR 311) implementation) Web applications. We also developed a Web client to test the different COAPS implementations. Our implementations are available as open source under Apache 2.0 licence and the last stable version of the project can be retrieved here. A user guide presenting the CF-PaaS API implementation, the different steps to build it, to install it and to test it is available here.
Telecom SudParis, département Informatique
9 rue Charles Fourrier
91 Evry, France
email: mohamed.sellami (-at-) telecom-sudparis.eu