Simplificando la creación de aplicaciones interoperables en la nube: PaaS federada

Dolores Núñez | Investigadora 

El paradigma de la computación en la nube está transformando la computación clásica, basada en hardware físico y plataformas software de gestión local, en servicios virtualizados alojados en la nube. La computación en la nube abarca grandes redes de servicios virtualizados: recursos hardware (CPU, almacenamiento y red) y recursos software (por ejemplo, bases de datos, sistemas de gestión de colas de mensajes, sistemas de monitorización y repartidores de carga). Existen tres niveles de servicio en la nube: el nivel SaaS (Software como Servicio) lo conforman aplicaciones diseñadas para usuarios finales, accesibles vía web, el nivel PaaS (Plataforma como Servicio) consiste en herramientas y servicios diseñados para codificar y desplegar aplicaciones de forma rápida y eficiente, y el nivel IaaS (Infraestructura como Servicio) es el hardware y el software que lo gestiona todo (servidores, almacenamiento, redes, sistemas operativos).

El nivel PaaS ofrece una manera sencilla de construir aplicaciones en la nube sobre una red de recursos teóricamente “ilimitados”, sin prácticamente inversión de capital inicial y con costes proporcionales al uso, ocultando la complejidad de la infraestructura a los desarrolladores. Sin embargo, a pesar de que existe una multitud de PaaS, cuando un desarrollador escoge una plataforma sus aplicaciones están generalmente atadas a las tecnologías asociadas, lo que complica la migración a otras PaaS.

Por esta razón, resulta de gran interés la creación de una capa de abstracción sobre las diferentes PaaS que permita desarrollar y desplegar aplicaciones en cualquiera de ellas. Gradiant está trabajando en el concepto de PaaS federada, una PaaS que a su vez provee una capa intermedia que ofrece interoperabilidad entre distintos proveedores PaaS finales.

El propósito de la PaaS Federada es permitir el desarrollo con muy poco esfuerzo de aplicaciones compatibles con las PaaS soportadas, a través de la configuración de un conjunto de módulos predefinidos. Estos módulos deben crearse de antemano y se deben establecer correspondencias para cada una de las plataformas subyacentes. Para construir aplicaciones solamente es necesario seleccionar y configurar módulos apropiados para obtener la funcionalidad deseada. Esto es transparente a los desarrolladores en el momento del despliegue. Este nuevo concepto reduce el problema de la dependencia (lock-in) de los proveedores, que dificulta la migración a nuevas PaaS, pero también limita la libertad de los desarrolladores, que sólo disponen de un conjunto de módulos predefinidos. Este problema se puede resolver añadiendo módulos bajo demanda, debido a que la plataforma ha sido diseñada para ser fácilmente extensible.