¿Qué es la Plataforma como servicio (PaaS)?

Los proveedores de la Plataforma como servicio (PaaS) ofrecen una plataforma basada en la nube para crear y ejecutar aplicaciones.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Definir PaaS
  • Explorar las ventajas y desventajas de PaaS
  • Comparar PaaS con la informática sin servidor

Copiar enlace del artículo

¿Qué es la Plataforma como servicio (PaaS)?

En el modelo de Plataforma como servicio (PaaS), los desarrolladores básicamente alquilan todo lo que necesitan para crear una aplicación, contando con un proveedor de la nube para las herramientas de desarrollo, la infraestructura y los sistemas operativos. Este es uno de los tres modelos de servicio de informática en la nube. PaaS simplifica mucho el desarrollo de aplicaciones web; desde la perspectiva del desarrollador, toda la gestión del backend tiene lugar en segundo plano. Aunque PaaS tiene algunas similitudes con la informática sin servidor, hay muchas diferencias fundamentales entre ellos.

¿Cuáles son los tres modelos de servicio de la computación en nube?

Modelos de servicio SaaS, PaaS e IaaS

Los tres modelos de informática en la nube son PaaS, SaaS (Software como servicio) e IaaS (Infraestructura como servicio). IaaS hace referencia a la infraestructura de informática en la nube (servidores, almacenamiento, etc.) gestionada por un proveedor de la nube, mientras que SaaS hace referencia a las aplicaciones completas que se alojan en la nube y que las mantiene el proveedor de SaaS. Si un cliente de SaaS es como alguien que se alquila una casa, entonces un cliente de PaaS es como alguien que alquila todo el equipo pesado y las herramientas eléctricas necesarias para construir una casa rápidamente, si las herramientas y el equipo las tuviera que mantener el propietario de forma continua.

¿Cómo se compara PaaS con los entornos de desarrollo alojados internamente?

Se puede acceder a PaaS con cualquier conexión a Internet, lo cual permite que se pueda desarrollar una aplicación completa en un navegador web. Ya que el entorno de desarrollo no está alojado localmente, los desarrolladores pueden trabajar en la aplicación desde cualquier parte del mundo. Esto permite la colaboración de equipos que están repartidos en distintas ubicaciones. También implica que los desarrolladores tienen menos control sobre el entorno de desarrollo, aunque esto conlleve muchos menos gastos generales.

¿Qué está incluido en PaaS?

Las principales ofertas incluidas por los proveedores de PaaS son:

  • Herramientas de desarrollo
  • Middleware
  • Sistemas operativos
  • Gestión de bases de datos
  • INFRAESTRUCTURA

Otros proveedores también pueden incluir otros servicios, pero estos son los servicios básicos de PaaS.

Herramientas de desarrollo

Los proveedores de PaaS ofrecen una serie de herramientas necesarias para el desarrollo de software, como un editor de código fuente, un depurador, un compilador y otras herramientas fundamentales. Estas herramientas pueden ofrecerse juntas como una estructura. Las herramientas específicas ofrecidas dependerán del proveedor, pero las ofertas de PaaS deberían incluir todo lo que un desarrollador necesita para crear su aplicación.

Middleware

Las plataformas que se ofrecen como servicio suelen incluir middleware, para que los desarrolladores no tengan que crearlo ellos mismos. El middleware es el software situado entre las aplicaciones dirigidas al usuario y el sistema operativo de la máquina; por ejemplo, el middleware es lo que permite que el software acceda a la entrada del teclado y el ratón. El middleware es necesario para ejecutar una aplicación, pero los usuarios finales no tienen que interactuar con el mismo.

Sistemas operativos

Un proveedor de PaaS proporcionará y mantendrá el sistema operativo en el que trabajan los desarrolladores y se ejecuta la aplicación.

Bases de datos

Los proveedores de PaaS administran y mantienen las bases de datos. Lo normal es que también proporcionen a los desarrolladores un sistema de gestión de bases de datos.

INFRAESTRUCTURA

PaaS es el siguiente nivel de IaaS en el modelo de servicio de informática en la nube, y todo lo que se incluye en IaaS también se incluye en PaaS. Un proveedor de PaaS gestiona los servidores, el almacenamiento y los centros de datos físicos, o los compra de un proveedor de IaaS.

SaaS, PaaS, IaaS y la nube como pirámide

¿Por qué los desarrolladores utilizan PaaS?

Tiempo de comercialización más rápido

El PaaS se utiliza para crear aplicaciones más rápido de lo que sería posible si los desarrolladores tuvieran que preocuparse de crear, configurar y aprovisionar sus propias plataformas e infraestructura de backend. Con PaaS, solo tienen que escribir el código y probar la aplicación, y el proveedor se encarga del resto.

Un solo entorno de principio a fin

PaaS permite a los desarrolladores crear, probar, depurar, implementar, alojar y actualizar sus aplicaciones, y todo en el mismo entorno. Esto permite que los desarrolladores puedan asegurarse de que una aplicación web funcionará correctamente tal y como está alojada antes del lanzamiento, y simplifica el ciclo de vida del desarrollo de aplicaciones.

Precio

En muchos casos, el PaaS es más rentable que el IaaS. Los gastos generales se reducen porque los clientes de PaaS no tienen que gestionar y aprovisionar máquinas virtuales. Además, algunos proveedores tienen una estructura de precios de pago por uso, en la que el proveedor solo cobra por los recursos informáticos que ha utilizado la aplicación, lo que suele suponer un ahorro para los clientes. Sin embargo, cada proveedor tiene una estructura de precios ligeramente diferente, y algunos proveedores de plataformas cobran una tarifa plana al mes.

Facilidad para la concesión de licencias

Los proveedores de PaaS gestionan todas las licencias de los sistemas operativos, las herramientas de desarrollo y todo lo que se incluya en su plataforma.

¿Cuáles son las posibles desventajas del uso de PaaS?

Fijación de proveedor

Puede resultar difícil cambiar de proveedor de PaaS, ya que la aplicación está diseñada para utilizar las herramientas del proveedor y de forma específica para su plataforma. Cada proveedor puede tener diferentes requisitos de arquitectura. Es posible que los distintos proveedores no sean compatibles los mismos lenguajes, bibliotecas, API, arquitectura o sistema operativo utilizados para crear y ejecutar la aplicación. Para cambiar de proveedor, puede que los desarrolladores tengan que rediseñar o modificar de manera considerable su aplicación.

Dependencia de los proveedores

Cambiar de proveedor de PaaS supone una importante inversión de esfuerzo y recursos, lo cual puede hacer que las empresas sean más dependientes de su proveedor actual. Un pequeño cambio en los procesos internos o en la infraestructura del proveedor podría tener un gran impacto en el rendimiento de una aplicación que está diseñada para funcionar de forma eficaz en la configuración anterior. Además, si el proveedor de repente cambia su modelo de precios, aumenta el coste de la aplicación.

Desafíos de seguridad y de cumplimiento

En una arquitectura PaaS, el proveedor externo almacenará la mayor parte o la totalidad de los datos de una aplicación, además de alojar su código. En algunos casos, el proveedor puede almacenar las bases de datos a través de un tercero, un proveedor de IaaS. Aunque la mayoría de los proveedores de PaaS son grandes empresas que cuentan con fuertes sistemas de seguridad, esto hace que sea difícil evaluar y probar completamente las medidas de seguridad que protegen la aplicación y sus datos. Además, para las empresas que tienen que cumplir con estrictas normas de seguridad de datos, el tener que verificar el cumplimiento de los proveedores externos adicionales añadirá todavía más obstáculos a su salida al mercado.

¿En qué se diferencia la plataforma como servicio de la informática sin servidor?

La PaaS y la informática sin servidor son similares en el sentido de que, en ambos casos, un desarrollador solo tiene que preocuparse de escribir y cargar el código, y el proveedor se encarga de todos los procesos de backend. Sin embargo, el escalado es muy diferente cuando se utilizan los dos modelos. Las aplicaciones creadas mediante la informática sin servidor, o FaaS, se escalarán de forma automática, mientras que las aplicaciones PaaS no lo harán a no ser que se las programe para hacerlo. Los tiempos de inicio también varían de forma considerable; las aplicaciones sin servidor pueden empezar a funcionar casi al instante, pero las aplicaciones PaaS se parecen más a las aplicaciones tradicionales, y tienen que estar en funcionamiento la mayor parte del tiempo, o todo el tiempo, para que puedan estar disponibles inmediatamente para los usuarios.

Otra diferencia es que los proveedores sin servidor no proporcionan estructuras o herramientas de desarrollo, como hacen los proveedores de PaaS. Y, por último, el precio diferencia a los dos modelos. La facturación de PaaS no es tan precisa como la de la informática sin servidor, en la que los cargos se desglosan en función del número de segundos o fracciones de segundo que se ejecuta cada instancia de una función.