PaaS: plataforma como servicio

PaaS, abreviatura de plataforma como servicio, es un término que hace referencia a un servicio en la nube a través del cual el proveedor proporciona al cliente un entorno de desarrollo, así como las herramientas necesarias para el desarrollo de nuevas aplicaciones. Por lo tanto, PaaS como servicio es especialmente útil para desarrolladores y empresas de software que desean crear y publicar nuevos programas o aplicaciones sin tener que ocuparse personalmente de la infraestructura necesaria.

¿Qué es PaaS?

En la computación en la nube, PaaS representa el eslabón entre el software como servicio (SaaS) y la infraestructura como servicio (IaaS). Mientras que IaaS solo proporciona la infraestructura que necesitan las organizaciones para hacer su trabajo, PaaS va un paso más allá y ofrece un paquete de herramientas para empezar a desarrollar aplicaciones de inmediato. Diseñar, probar, revisar y desplegar el producto a sus usuarios: todo es posible con una plataforma como servicio.

Las soluciones más conocidas de plataforma como servicio incluyen Google App Engine (GAE) de Salesforce, Microsoft Azure y force.com.

Definición

La plataforma como servicio (PaaS) permite a los clientes alquilar una plataforma virtual en la que pueden desarrollar, probar y desplegar aplicaciones web para los usuarios.

¿Cómo está estructurado PaaS?

Las ofertas de PaaS se componen de infraestructura básica como servidores, sistemas operativos, almacenamiento y middleware, es decir, programas que conectan varias aplicaciones entre sí. A esto se añaden recursos como herramientas de desarrollo, lenguajes de programación, sistemas de gestión de bases de datos y técnicas de contenedores. Las distintas soluciones contenidas en la plataforma han sido desarrolladas por el propio proveedor o por terceros y su propósito es permitir a los clientes desarrollar nuevas aplicaciones web sin grandes complicaciones.

Por lo tanto, si utilizas PaaS no tendrás que preocuparte por la adquisición y gestión de la infraestructura o la obtención de las soluciones de desarrollo que requieres, sino que puedes centrarte por completo en la programación de tu aplicación y en tus clientes. Los programas resultantes pueden estar disponibles como software como servicio a través de la nube. Estas pueden ser, por ejemplo, aplicaciones comerciales o software interno destinado únicamente para uso interno de la empresa.

¿Cómo funciona PaaS?

Con la plataforma como servicio desarrollarás tu producto como lo harías en un entorno de desarrollo propio. Una vez creado el código, se transfiere a la plataforma, donde se despliega y ejecuta en un contenedor que te ofrece los recursos que necesitas; puedes ver los cambios inmediatamente. Muchos servicios PaaS son capaces de ejecutar múltiples versiones de un programa al mismo tiempo, lo que te permitirá, por ejemplo, crear entornos de pruebas en tiempo real o reversiones (rollbacks) de versiones anteriores.

Las ofertas de alojamiento web son un clásico ejemplo de cómo funciona la plataforma como servicio. Como cliente creas el código y lo introduces en el servicio de alojamiento web. Este ejecuta el código y muestra la página web que creaste. No tienes que preocuparte por el espacio en disco, el mantenimiento o la configuración de la base de datos. No obstante, las ofertas de PaaS pueden ser mucho más complejas e incluir más características.

¿Qué peculiaridades presenta PaaS?

Si utilizas una plataforma como servicio, solo dispones de determinados lenguajes de programación. Por lo tanto, deberás elegir un proveedor que admita los idiomas que utilizas. Presta mucha atención a los requisitos propios de tu proyecto y a los lenguajes de programación que utiliza cada solución PaaS.

También debes considerar qué servicios necesitarás en el futuro si las aplicaciones que desarrollas tienen éxito y generan más tráfico. Tu servicio debe permanecer estable incluso en el caso de que la afluencia de usuarios sea masiva, ya que está demostrado que un rendimiento deficiente tiene un impacto negativo en tu empresa. Ten en cuenta que los largos tiempos de carga provocan la insatisfacción de los clientes.

Los servicios alquilados acostumbran a poder ampliarse, pero esta opción aumentará el precio. Considera con detenimiento estos costes antes de decidirte por un proveedor.

Ámbitos de aplicación de la plataforma como servicio

Además del desarrollo de aplicaciones, existen otras áreas de aplicación en las que PaaS se utiliza con frecuencia:

  • Para desarrollar o ampliar nuevas interfaces de programación (API).
  • Además, se pueden analizar datos de gran volumen para predecir mejor, por ejemplo, la demanda de ciertos productos.
  • Paas también se puede utilizar para instalar una plataforma para la gestión de procesos de negocio en la que se almacenen reglas de negocio o acuerdos de nivel de servicio, o para acceder a ella.
  • La plataforma también se puede utilizar para gestionar datos corporativos sensibles, ya que proporciona una vista general de todos los datos, incluso en aquellos casos en los que se almacenan de forma redundante en sistemas diferentes.
  • Además, la plataforma como servicio puede actuar como una plataforma de comunicación que ofrece contenido así como mensajería de voz o vídeo.
  • Como base de datos PaaS, el servicio también se utiliza para bases de datos automatizadas.
  • El Internet de las cosas es particularmente considerado como una futura área de crecimiento. Esto juega un papel importante para los servicios en la nube, ya que los entornos PaaS también son adecuados para el desarrollo de nuevas aplicaciones que pueden utilizarse para el Internet de las cosas.

Tipos de PaaS

En vista de la amplia gama disponible de plataformas como servicio, es difícil dividir los distintos tipos existentes en categorías bien definidas. Esto se debe a que los modelos individuales difieren mucho unos de otros, adaptándose a las diferentes necesidades. No obstante, existen ciertas características que pueden servir como base para identificar diferentes tipos de plataformas como servicio.

Por ejemplo, se hace una distinción entre PaaS de aplicación (aPaaS) y PaaS de integración y gobernanza (iPaaS). El primer modelo describe la provisión de aplicaciones que están equipadas con una interfaz gráfica para su funcionamiento. Por ejemplo, podría ser un programa para uso interno de la empresa al que los empleados puedan acceder a través de la nube.

iPaaS, por otro lado, tiene como objetivo integrar los servicios en la nube, de forma que la plataforma garantiza que no se necesite middleware para suministrar aplicaciones. Un ejemplo de esto es la plataforma Anypoint desarrollada por MuleSoft.

El mero aprovisionamiento de aplicaciones no permite el desarrollo o la prueba de aplicaciones, sino sólo su funcionamiento.

También existen las ofertas abiertas de PaaS. Esto hace referencia a aplicaciones como Google App Engine, que permiten trabajar en un entorno de código abierto y para el que los lenguajes de programación, bases de datos, servidores o sistemas operativos no están predefinidos.

Como ya se ha mencionado, también existen plataformas que se utilizan con fines de comunicación. Este tipo se denomina plataforma de comunicaciones como servicio (cPaaS).

Ventajas y desventajas de la plataforma como servicio

El uso de PaaS ofrece muchas ventajas a los desarrolladores. La mayor de ellas es que el desarrollo es mucho más rápido y fácil, sin necesidad de adquirir y administrar una infraestructura propia. De este modo, los productos pueden comercializarse con mayor rapidez. El rendimiento también es escalable, por lo que, al igual que otros servicios en la nube, permiten ampliar o reducir la capacidad que se haya alquilado a medida que se vaya necesitando. Además, existe la posibilidad de ahorrar costes, ya que no tienes que pagar ningún coste de adquisición y no tienes que realizar el mantenimiento y las actualizaciones tú mismo, ni comprar nuevas licencias de software.

El hecho de que el proveedor se encargue de configurar la infraestructura es tanto una ventaja como una desventaja de PaaS. Esto supone que no tienes influencia en la infraestructura y no puedes implementar las características tú mismo. Además, solo se pueden utilizar los lenguajes de programación y las herramientas proporcionadas por el proveedor.

Otro factor que debe tenerse en cuenta a la hora de decidir a favor o en contra de la plataforma como un servicio es el hecho de que su proyecto está más o menos ligado al entorno de desarrollo elegido. Un proyecto pequeño puede ser migrado sin problemas pero, en el caso de aplicaciones más grandes, el código no siempre puede ser completamente adoptado cuando se muda a otra plataforma y puede necesitar ser reescrito en parte.

También es particularmente molesto si el proveedor elegido decide interrumpir su servicio o se declara en bancarrota. Para minimizar este riesgo, debes optar por un proveedor que ya se haya establecido en el mercado.