Platform-As-A-Service (PAAS) es uno de los modelos de servicio asociados con la computación en la nube. En este modelo, el entorno de software juega un papel fundamental en la creación de una solución de software personalizada. Una plataforma PAAS proporciona un entorno de desarrollo integrado con todas las herramientas necesarias para crear e implementar una aplicación en la nube sofisticada. Este artículo profundiza en los conceptos básicos de este modelo mientras aprende sobre su concepto en relación con otros modelos de servicio y herramientas disponibles.
Una visión general
Hay tres modelos básicos de servicios en la nube:IAAS, PAAS y SAAS. Entre ellos, PAAS e IAAS están estrechamente relacionados. La similitud radica en su objetivo; ambos intentan resolver el problema de administrar y publicar de manera efectiva los servicios de software para el usuario final. La distinción, sin embargo, radica en la forma en que prestan sus servicios. Por ejemplo, en IAAS el enfoque es proporcionar infraestructura como recurso principal. Asimila diferentes componentes de infraestructura como máquinas virtuales, contenedores, redes y otros servicios relacionados bajo la bandera de un marco estándar único. Luego, el administrador y los ingenieros implementan los recursos en forma de aplicaciones y servicios. La cohesión inherente de este modelo hace que sea fácil de administrar y hace que la entrega de infraestructura de extremo a extremo sea rápida.
PAAS, por otro lado, toma el código como su primer enfoque. Los operativos de desarrollo y el programador utilizan un conjunto de marcos y lenguajes de programación para diseñar la solución de software e implementarlos al final del servicio. Los ingenieros de servicio de PaaS a menudo no tienen que configurar o incluso comprender la infraestructura subyacente de bajo nivel porque se encargan de todo en su nombre. Esta es la diferencia en la que IAAS se ocupa de estos componentes, mientras que PAAS se centra en proporcionar la plataforma para los servicios de software.
De hecho, la distinción entre los modelos de servicios en la nube a menudo se vuelve borrosa porque los modelos están estrechamente vinculados entre sí en una estructura piramidal. Los servicios de software proporcionados por PAAS necesitan la infraestructura de la plataforma para ejecutar cosas como espacio de almacenamiento, memoria, potencia de procesamiento, etc. Sin estos, no podemos obtener una plataforma (PAAS) y, sin la plataforma lista, no podemos ejecutar la solución de software (SAAS). Por lo tanto, hay una diferencia muy fina a medida que profundizamos en el modelo de servicio en la nube. Esto se puede ilustrar muy bien con una estructura piramidal, como se muestra en la Figura 1.
Figura 1: La pirámide de servicios de software
El Modelo de Servicio PAAS
Este modelo describe el software que proporciona el entorno de ejecución, el desarrollo y las herramientas de implementación. Un desarrollador de software utiliza este entorno y herramientas para crear una solución de software personalizada. La plataforma incluye un conjunto de lenguajes de desarrollo, marcos de aplicación y otras herramientas de construcción, como apuntar y hacer clic herramientas que incluso ayudan a los no desarrolladores a crear una solución de software. La herramienta PAAS a menudo proporciona un entorno de desarrollo integrado completo para ayudarlo, desde el inicio del desarrollo hasta su implementación como parte de su servicio. También tiene un soporte de diseño de interfaz de usuario estándar completo, como HTML, JavaScript y otras tecnologías de medios enriquecidos.
Los usuarios finales de PAAS son generalmente programadores, desarrolladores, geeks e incluso personas semitécnicas, o pueden ser cualquiera que sepa cómo trabajar con la plataforma y las herramientas. Por supuesto, el grado de interacción varía desde simplemente alimentar datos hasta recuperarlos para crear una solución completa y sofisticada. Esto está determinado por el grado de libertad de funcionalidad permitido por el proveedor de la plataforma. El usuario final de PAAS no está obligado a mantener o administrar el hardware o el software. El único papel que desempeñan es utilizar el medio ambiente para el desarrollo. En resumen, el proveedor de servicios PAAS es responsable de todas las actividades operativas, mantenimiento y gestión de su propio ciclo de vida del producto.
Algunas ventajas clave del modelo PAAS son las siguientes:
- Bajo mantenimiento y compra costosa de hardware, servidores, espacio de almacenamiento, potencia de procesamiento, etc.
- Bajo costo de mantenimiento; el proveedor de servicios en la nube asume la responsabilidad de la administración.
- El servicio se puede ampliar o reducir rápidamente según la demanda.
También hay algunos problemas con PAAS.
- Debido a la dependencia de la plataforma, la portabilidad es un problema.
- Debido a que los datos se mantienen en el almacenamiento en la nube, la seguridad es un problema.
Desarrollo de PAAS
PAAS proporciona una gran cantidad de servicios que abstraen la infraestructura de aplicaciones, el sistema operativo y el middleware, junto con un equipo de desarrolladores para crear, probar e implementar una solución de software con poca asistencia de TI. Existen herramientas de autoservicio y bajo demanda, recursos, automatización y contenedores de tiempo de ejecución de la plataforma que ayudan a lo largo de la gestión del ciclo de vida de la aplicación (consulte la Figura 2).
Figura 2: El modelo de Servicio PAAS
Además de las capacidades de escalado, la plataforma proporciona alta disponibilidad junto con herramientas automáticas de configuración, administración y balanceo de carga.
PAAS expone sus múltiples copias en el entorno de la nube. Como resultado, puede abordar un requisito comercial aislado de una manera distinta. Esto es crucial para las aplicaciones que tienen problemas de cumplimiento o, por ejemplo, conjuntos de aplicaciones orientadas hacia el interior y hacia el exterior. Sin embargo, las herramientas y las normas de creación de aplicaciones son comunes para los desarrolladores, incluso si trabajan en copias separadas de los entornos. El servicio PAAS puede fusionar recursos y datos locales para teñir la aplicación con un toque personalizado para una variedad de servicios web.
IAAS proporciona los componentes básicos para un PAAS eficiente. Esto se debe a que los desarrolladores que crean en un entorno de nube obtienen una mayor flexibilidad si tienen un acceso profundo a la infraestructura subyacente de la plataforma. El acceso a servidores de aplicaciones, servidores web y bases de datos facilita a los desarrolladores ampliar o reducir la capacidad y la calidad del servicio proporcionado. Esto es vital no solo para la aplicación, sino también para la capacidad general de PAAS.
Herramientas PAAS
El motor de aplicaciones de Google es uno de los ejemplos populares del modelo de servicio PAAS Cloud. Publica las API utilizadas por los programadores para crear una solución de software. Google también proporciona las herramientas necesarias, como el marco de desarrollo, el sistema de archivos y el almacenamiento. Los proveedores que crean una solución PAAS utilizando las API de Google son básicamente desarrolladores que brindan la solución completa al cliente. En este sentido, Google también actúa como proveedor de PAAS que ofrece muchos servicios web a los desarrolladores. Además, Google Maps, Google Earth, Gmail y similares son algunos de los servicios ofrecidos a los clientes que se denominan acertadamente servicios SAAS, pero en su conjunto también se ajustan al modelo de servicio PAAS.
El problema con el modelo de servicio PAAS es que vincula tanto al desarrollador como al usuario final a una plataforma específica ofrecida por el proveedor. Por ejemplo, una aplicación creada con la API de Google que funciona en Google App Engine está diseñada para funcionar solo en ese entorno en particular. Por lo tanto, la posibilidad de extensibilidad más allá del soporte de un proveedor específico es bastante limitada.
Hay un número creciente de proveedores de PAAS actualmente en el mercado. Ofrecen servicios como parte de los servicios de nube públicos y privados. Por ejemplo, Google, Amazon Web Services y Facebook apuntan a usuarios comerciales para ofrecer sus servicios, OpenShift de Red Hat ofrece un centro de datos privado, Jelastic ofrece servicios en la nube para crear aplicaciones Java y PHP con una codificación mínima. También cuenta con socios de alojamiento internacional y centros de datos. Algunos otros nombres son plataforma Salesforce, IBM Bluemix, plataforma Oracle Cloud, Windows Azure. Heroku, Ubuntu para la nube, CloudBees, AppFog, Caspio, Cloud Foundry (código abierto), Iron Foundry (código abierto), etc.
Conclusión
En esta era de Internet, PAAS es ideal para crear aplicaciones compatibles con la nube, no solo para computadoras sino también para muchos dispositivos portátiles. Esto aprovecha la creciente tendencia de soporte rentable para los consumidores de TI y los programas Bring Your Own Device (BYOD). Un consumidor necesita la misma aplicación disponible no solo en sus computadoras, sino también en muchos dispositivos portátiles, como los teléfonos móviles. PAAS lo ha hecho posible ahora y, en los próximos años, la distinción entre diferentes modelos de servicios en la nube será bastante irrelevante.