¿Qué es PaaS? Explicación de la plataforma como servicio

Platform-as-a-service (PaaS) es un tipo de oferta de computación en la nube en la que un proveedor de servicios entrega una plataforma a los clientes, lo que les permite desarrollar, ejecutar y administrar aplicaciones comerciales sin la necesidad de construir y mantener la infraestructura tal software los procesos de desarrollo normalmente requieren.

Debido a que las arquitecturas PaaS mantienen la infraestructura subyacente fuera de la vista de los desarrolladores y otros usuarios, el modelo es similar a los conceptos de computación sin servidor y función como servicio (FaaS), en los que un proveedor de servicios en la nube aprovisiona y ejecuta el servidor y gestiona la asignación de recursos. 

FaaS es un tipo de oferta sin servidor que permite a las empresas desarrollar y ejecutar funciones discretas impulsadas por eventos sin la complejidad de crear y mantener la infraestructura que normalmente se necesita para desarrollar y lanzar una aplicación.

Los servicios de computación sin servidor y PaaS generalmente cobran solo por los recursos de computación, almacenamiento y red consumidos. FaaS lleva ese enfoque al extremo, cargando solo cuando se ejecutan funciones, lo que convierte a FaaS en una opción natural para tareas intermitentes. 

Todo en la familia de la nube

Al igual que con otros servicios en la nube, como la infraestructura como servicio (IaaS) y el software como servicio (SaaS), PaaS se ofrece a través de la infraestructura alojada de un proveedor de servicios en la nube. Los usuarios suelen acceder a las ofertas de PaaS a través de un navegador web.

PaaS se puede entregar a través de nubes públicas, privadas o híbridas. Con una PaaS en la nube pública, el cliente controla la implementación del software mientras que el proveedor de la nube entrega todos los componentes principales de TI necesarios para alojar las aplicaciones, incluidos servidores, sistemas de almacenamiento, redes, sistemas operativos y bases de datos.

Con una oferta de nube privada, PaaS se entrega como software o un dispositivo dentro del firewall de un cliente, generalmente en su centro de datos local. La nube híbrida PaaS ofrece una combinación de los dos tipos de servicio en la nube.

En lugar de reemplazar toda la infraestructura de TI de una organización para el desarrollo de software, PaaS proporciona servicios clave como alojamiento de aplicaciones o desarrollo de Java. Algunas ofertas de PaaS incluyen diseño, desarrollo, prueba e implementación de aplicaciones. Los servicios PaaS también pueden incluir la integración de servicios web, la colaboración del equipo de desarrollo, la integración de bases de datos y la seguridad de la información.

Al igual que con otros tipos de servicios en la nube, los clientes pagan por PaaS por uso, y algunos proveedores cobran una tarifa mensual fija por el acceso a la plataforma y las aplicaciones alojadas en la plataforma.

Vídeo relacionado: ¿Qué es el enfoque nativo de la nube?

En este video de 60 segundos, conozca cómo el enfoque nativo de la nube está cambiando la forma en que las empresas estructuran sus tecnologías, de la mano de Craig McLuckie, fundador y CEO de Heptio, y uno de los inventores del sistema de código abierto Kubernetes.

Ventajas de PaaS 

Una de las mayores ventajas de PaaS es que las empresas pueden obtener un entorno en el que crear e implementar nuevas aplicaciones sin la necesidad de gastar tiempo y dinero en construir y mantener una infraestructura que incluya servidores y bases de datos.

Esto puede conducir a un desarrollo y entrega de aplicaciones más rápidos, una gran ventaja para las empresas que buscan obtener una ventaja competitiva o que necesitan lanzar productos al mercado rápidamente.

PaaS también les permite probar el uso de nuevos lenguajes, sistemas operativos, bases de datos y otras tecnologías de desarrollo rápidamente, porque no tienen que soportar la infraestructura de soporte para ellos. PaaS también facilita y agiliza la actualización de sus herramientas.

Y el uso de PaaS obliga a los desarrolladores de software empresarial a utilizar técnicas de nube en sus aplicaciones, lo que les ayuda a adoptar principios modernos y aprovechar mejor las plataformas de infraestructura de nube (IaaS).

Debido a que las organizaciones que utilizan PaaS pueden administrar sus aplicaciones y datos, la pérdida de control no es un problema importante, como suele serlo cuando se utilizan aplicaciones o infraestructura en la nube.

Aplicaciones PaaS 

Proporcionar un entorno alojado para el desarrollo, la prueba y la implementación de aplicaciones es uno de los usos más comunes de PaaS. Pero no es la única razón por la que las empresas utilizan PaaS.

La firma de investigación Gartner cita una variedad de casos de uso para PaaS, que incluyen:

  • Desarrollo y gestión de API. Las empresas pueden utilizar PaaS para desarrollar, ejecutar, administrar y proteger interfaces de programación de aplicaciones y microservicios. Esto incluye la creación de nuevas API y nuevas interfaces para las API existentes, así como la gestión de API de un extremo a otro.
  • Analítica / inteligencia empresarial. Las herramientas proporcionadas a través de PaaS permiten a las empresas analizar sus datos para encontrar información empresarial y patrones de comportamiento para que puedan tomar mejores decisiones y predecir con mayor precisión eventos futuros como la demanda de productos del mercado
  • Gestión de procesos de negocio (BPM). Las organizaciones pueden usar PaaS para acceder a una plataforma BPM entregada como un servicio, como ocurre con otras ofertas en la nube. Las suites BPM integran los componentes de TI necesarios para la gestión de procesos, incluidos datos, reglas comerciales y acuerdos de nivel de servicio.
  • Comunicaciones. PaaS también puede servir como mecanismo de entrega para plataformas de comunicaciones. Esto permite a los desarrolladores agregar funciones de comunicación como voz, video y mensajería a las aplicaciones.
  • Bases de datos. Un proveedor de PaaS puede brindar servicios como configurar y mantener la base de datos de una organización. La firma de investigación Forrester Research define la base de datos PaaS como "una plataforma de base de datos de autoservicio a pedido, segura y escalable que automatiza el aprovisionamiento y la administración de bases de datos y puede ser utilizada por desarrolladores y personal no técnico".
  • Internet de las Cosas. Se espera que IoT sea una gran parte del uso de PaaS en los próximos años, y que sea compatible con la amplia gama de entornos de aplicaciones y lenguajes de programación y herramientas que utilizarán varias implementaciones de IoT.
  • Gestión de datos maestros (MDM). Esto cubre los procesos, la gobernanza, las políticas, los estándares y las herramientas que administran los datos comerciales críticos que posee una empresa, proporcionando un único punto de referencia para los datos. Dichos datos pueden incluir datos de referencia como información sobre transacciones de clientes y datos analíticos para respaldar la toma de decisiones.

Tecnologías PaaS 

PaaS incluye múltiples componentes de infraestructura de nube subyacentes, incluidos servidores, equipos de red, sistemas operativos, servicios de almacenamiento, middleware y bases de datos.

Todas estas ofertas de tecnología pertenecen, son operadas, configuradas y mantenidas por los proveedores de servicios. Estos servicios de infraestructura completamente administrados no solo alivian al cliente de la carga administrativa de TI, sino que también presentan un atractivo argumento financiero para los clientes. Pueden evitar tener que realizar inversiones en estos componentes de TI fundamentales que es posible que no puedan utilizar en la mayor medida posible.

PaaS también incluye recursos como herramientas de desarrollo, lenguajes de programación, bibliotecas, sistemas de gestión de bases de datos y otras herramientas del proveedor de la nube.

Ejemplos de PaaS

Entre los principales proveedores de PaaS se encuentran Amazon Web Services (AWS), Microsoft, Google, IBM, Salesforce.com, Red Hat, Pivotal, Mendix, Oracle, Engine Yard y Heroku. Los lenguajes, bibliotecas, contenedores y herramientas relacionadas más utilizados están disponibles en las principales nubes de proveedores de PaaS.

Amazon, Microsoft y Google, en particular, ofrecen conjuntos completos de servicios basados ​​en la nube que incluyen cómputo, almacenamiento, bases de datos, análisis, redes, back-end móvil, herramientas para desarrolladores, herramientas de administración y seguridad. En muchos casos, se trata de servicios totalmente gestionados que complementan los servicios PaaS en estas nubes públicas. 

No es casualidad que muchos proveedores de PaaS también sean proveedores líderes de herramientas de desarrollo de software. Gartner estima que en la actualidad hay unos 200 proveedores de PaaS.

Aquí hay un breve vistazo a algunas de las principales ofertas de PaaS. 

AWS Elastic Beanstalk

Con Elastic Beanstalk, las empresas pueden implementar y administrar rápidamente aplicaciones en la nube de AWS sin tener que aprender sobre la infraestructura que ejecuta las aplicaciones. Elastic Beanstalk maneja automáticamente los detalles de aprovisionamiento de capacidad, equilibrio de carga, escalado y monitoreo del estado de la aplicación.

AWS Lambda

AWS Lambda es una plataforma informática sin servidor impulsada por eventos que ejecuta su código en respuesta a eventos y administra automáticamente los recursos informáticos que necesita ese código. AWS Lambda popularizó el concepto FaaS, aunque es anterior al término. 

Motor de aplicaciones de Google

Google App Engine es una oferta de PaaS para desarrollar y alojar aplicaciones web en centros de datos administrados por Google. Las aplicaciones se colocan en un espacio aislado, se ejecutan y se escalan automáticamente en varios servidores. 

Funciones de Google Cloud

Google Cloud Functions está diseñado para facilitar que los desarrolladores ejecuten y escalen código en la nube y creen aplicaciones sin servidor impulsadas por eventos.

Servicio de aplicaciones de Azure

Microsoft Azure App Service es una PaaS totalmente administrada que integra sitios web, servicios móviles y servicios BizTalk de Microsoft Azure en una única oferta. Azure App Service proporciona integración entre sistemas locales y en la nube.

Funciones de Azure

Microsoft Azure Functions es una plataforma informática sin servidor que permite a los desarrolladores actuar al conectarse a fuentes de datos o soluciones de mensajería, lo que facilita el procesamiento y la reacción a los eventos. Los desarrolladores pueden usar Azure Functions para crear puntos de conexión de API basados ​​en HTTP a los que puede acceder una variedad de aplicaciones.

Red Hat OpenShift

OpenShift es una familia de ofertas de PaaS, que pueden estar alojadas en la nube o implementadas en las instalaciones, para construir e implementar aplicaciones en contenedores. El producto estrella es OpenShift Container Platform, una PaaS local construida alrededor de contenedores Docker orquestados y administrados por Kubernetes sobre la base de Red Hat Enterprise Linux. 

Fundición de nubes pivote 

Cloud Foundry es una PaaS de código abierto gobernada por Cloud Foundry Foundation. Fue desarrollado originalmente por VMware y luego transferido a Pivotal Software, una empresa conjunta de EMC, VMware y General Electric. Al igual que OpenShift, Cloud Foundry está diseñado para crear y ejecutar aplicaciones basadas en contenedores, utilizando Kubernetes para la orquestación. 

Riesgos de PaaS

Dado que PaaS es un servicio basado en la nube, conlleva muchos de los mismos riesgos inherentes que tienen otras ofertas en la nube, como las amenazas a la seguridad de la información. PaaS se basa en el concepto de utilizar recursos compartidos como redes y servidores, por lo que los riesgos de seguridad incluyen colocar datos críticos en este entorno y que se roben datos debido a accesos no autorizados o ataques de piratas informáticos u otros malos actores.

Por otro lado, los principales proveedores de la nube han sido más efectivos para protegerse de tales infracciones que el centro de datos empresarial típico, por lo que el riesgo de seguridad de la información no ha demostrado ser lo que muchos en TI temían inicialmente.

Con PaaS, las empresas están obligadas a que los proveedores de servicios creen controles de acceso adecuados y otras disposiciones y políticas de seguridad en sus infraestructuras y operaciones. Las empresas también son responsables de proporcionar sus propias protecciones de seguridad para sus aplicaciones.

Además, debido a que las organizaciones dependen de la infraestructura y el software de un proveedor de servicios en particular, existe un problema potencial de dependencia del proveedor con los entornos PaaS. Una pregunta legítima que debe hacer TI es ¿la PaaS que elija interoperará con sus implementaciones actuales y futuras de IaaS y SaaS?

Otro riesgo con PaaS es cuando la infraestructura del proveedor de servicios experimenta tiempo de inactividad por cualquier motivo y el impacto que podría tener en los servicios. Además, ¿qué pasa si el proveedor realiza cambios en su estrategia de desarrollo, lenguajes de programación o en otras áreas?

No espere que estos posibles obstáculos le impidan lanzarse a PaaS. Proporciona más flexibilidad precisamente porque el proveedor maneja las plataformas mientras usted maneja la programación.

iPaaS

Cualquier discusión sobre PaaS debe incluir una mención de iPaaS, plataforma de integración como servicio. iPaaS es un conjunto de herramientas automatizadas para vincular aplicaciones implementadas en diferentes entornos. Los principales ejemplos de proveedores de iPaaS incluyen Dell Boomi, Informatica, MuleSoft y SnapLogic. 

iPaaS tiene sentido para las empresas que necesitan integrar aplicaciones y datos locales con aplicaciones y datos en la nube, lo que incluye un número creciente de empresas que aprovechan los entornos de nube híbrida.