Simplifying the development of interoperable cloud applications: Federated PaaS

Dolores Núñez | ResearcherCloud computing is replacing classic computing, from physical hardware and locally managed software platforms to virtualized cloud-hosted services. Cloud computing assembles large networks of virtualized services: hardware resources (CPU, storage, and network) and software resources (databases, message queuing systems, monitoring systems, load-balancers, etc).

There are three service levels in the cloud: SaaS (Software as a Service) applications are designed for end-usersand delivered over the web. The PaaS (Platform as a Service)level is the set of tools and services that allow to code and deploy applications quickly and efficiently, and the IaaS (Infrastructure as a Service)level corresponds to  the hardware and the software that enablesthe levels above (servers, storage, networks, operating systems).

The PaaS level offers a simple way of building cloud applications over a network of “infinite” resources without practically any initial investment and with costs that depend on usage, hiding the complexity of the underlying infrastructures to end-developers. Nevertheless, even though there existsa variety of PaaS, when a developer chooses a particular platform the applications get tied to the technologies within, hindering the migration to other PaaS.

For this reason, the creation of an abstraction layer over different PaaS is of great interest.This allowsthe development and deploymentof applications on any of them. In this regard, Gradiant is working in the concept of federated PaaS, a PaaS that will provide an intermediate layer that will offerinteroperability between different PaaS providers.

The federated PaaS will allow easy development of applications compatible with the underlying supported PaaS, by configuring a set of predefined modules. These modules should be created beforehand and mapped to each supported platform. In this way, application building will simply consist of choosing appropriate modules to obtain the desired functionality.

This new concept reduces the problem of provider lock-in, which hinders migration to alternative PaaS, yet it also limits the  freedomof application designers, since they can only combine a set of predefined modules. This can be solved by adding modules on demand, as the platform has been designed to be easily extended.