Plataforma como servicio o PaaS
La plataforma como servicio (platform as a service o PaaS) es un modelo de computación en la nube en el que un proveedor externo entrega herramientas de hardware y software a los usuarios a través de internet. Por lo general, estas herramientas son necesarias para el desarrollo de aplicaciones. Un proveedor de PaaS aloja el hardware y el software en su propia infraestructura. Como resultado, PaaS libera a los desarrolladores de tener que instalar hardware y software internos para desarrollar o ejecutar una nueva aplicación.
Las herramientas PaaS tienden a promocionarse como simples de usar y convenientes. Los usuarios normalmente tendrán que pagar por uso. Una organización puede encontrar convincente el cambio a una PaaS considerando los posibles ahorros de costos en comparación con el uso de alternativas locales.
¿Cómo funciona PaaS?
Como se mencionó anteriormente, PaaS no reemplaza la infraestructura de TI completa de una empresa para el desarrollo de software. Se proporciona a través de la infraestructura alojada de un proveedor de servicios en la nube. Los usuarios acceden con mayor frecuencia a las ofertas a través de un navegador web. PaaS se puede entregar a través de nubes públicas, privadas e híbridas para brindar servicios como alojamiento de aplicaciones y desarrollo de Java.
Otros servicios de PaaS incluyen:
- Colaboración del equipo de desarrollo
- Diseño y desarrollo de aplicaciones
- Prueba e implementación de aplicaciones
- Integración de servicios web
- Seguridad de información
- Integración de base de datos
Los usuarios normalmente tendrán que pagar por PaaS por uso. Sin embargo, algunos proveedores cobran una tarifa plana mensual por el acceso a la plataforma y sus aplicaciones.
¿Cuáles son las diferencias entre PaaS, IaaS y SaaS?
PaaS es una de las tres categorías principales de servicios de computación en la nube. Los otros dos son software como servicio (SaaS) e infraestructura como servicio (IaaS).
- Con IaaS, un proveedor proporciona la infraestructura básica de computación, almacenamiento y redes junto con el hipervisor — la capa de virtualización. Luego, los usuarios deben crear máquinas virtuales, instalar sistemas operativos, admitir aplicaciones y datos, y manejar toda la configuración y administración asociadas con esas tareas. Ejemplos de servicios de IaaS son DigitalOcean, AWS y Google Compute Engine (GCE).
- Con PaaS, un proveedor ofrece más aplicaciones que las soluciones IaaS, agregando sistemas operativos, middleware (como bases de datos) y otros tiempos de ejecución en el entorno de la nube. Los productos PaaS incluyen AWS Elastic Beanstalk y Google App Engine.
- Con SaaS, un proveedor ofrece una pila completa de aplicaciones. Los usuarios simplemente inician sesión y usan la aplicación que se ejecuta completamente en la infraestructura del proveedor. Normalmente, las aplicaciones SaaS son completamente accesibles a través del navegador web de internet. Los proveedores de SaaS gestionan todos los recursos de TI. Los ejemplos de SaaS incluyen Salesforce, Dropbox y Google Workspace.
Pros y contras de PaaS
El principal beneficio de PaaS es la simplicidad y la conveniencia para los usuarios. El proveedor de PaaS proporcionará gran parte de la infraestructura y otros servicios de TI, a los que los usuarios pueden acceder desde cualquier lugar a través de un navegador web. La capacidad de pagar por uso permite a las empresas eliminar los gastos de capital que tradicionalmente tienen para el hardware y software locales.
La disponibilidad o resistencia del servicio, sin embargo, puede ser una preocupación con PaaS. Si un proveedor experimenta una interrupción del servicio u otra interrupción de la infraestructura, esto puede afectar negativamente a los clientes y resultar en costosos lapsos de productividad. Sin embargo, los proveedores de PaaS normalmente ofrecerán tiempos de actividad relativamente altos.
El bloqueo del proveedor es otra preocupación común porque los usuarios no pueden migrar fácilmente muchos de los servicios y datos de un producto PaaS a otro producto de la competencia. Los usuarios deben evaluar los riesgos comerciales del tiempo de inactividad del servicio y el bloqueo del proveedor cuando seleccionan un proveedor de PaaS.
Los cambios internos en un producto PaaS también son un problema potencial. Por ejemplo, si un proveedor de PaaS deja de admitir un determinado lenguaje de programación u opta por utilizar un conjunto diferente de herramientas de desarrollo, el impacto en los usuarios puede ser difícil y perturbador. Los usuarios deben seguir la hoja de ruta del servicio del proveedor de PaaS para comprender cómo el plan del proveedor afectará su entorno y sus capacidades.
Muchos productos PaaS están orientados al desarrollo de software. Estas plataformas ofrecen infraestructuras de almacenamiento y computación, así como servicios de edición de texto, administración de versiones, compilación y prueba que ayudan a los desarrolladores a crear nuevo software de manera rápida y eficiente. Un producto PaaS también puede permitir que los equipos de desarrollo colaboren y trabajen juntos, independientemente de su ubicación física.
Las arquitecturas PaaS mantienen su infraestructura subyacente oculta a los desarrolladores y otros usuarios. Como resultado, el modelo es similar a la computación sin servidor y las arquitecturas de función como servicio, lo que significa que el proveedor de servicios en la nube administra y ejecuta el servidor y controla la distribución de recursos.
Tipos de PaaS
Actualmente, los desarrolladores disponen de varios tipos de PaaS. Son:
- PaaS público
- PaaS privado
- PaaS híbrida
- Comunicaciones PaaS
- PaaS móvil
- OpenPaaS
La PaaS pública es la más adecuada para su uso en la nube pública. Una PaaS pública permite al usuario controlar la implementación de software mientras que el proveedor de la nube gestiona la entrega de todos los demás componentes de TI importantes necesarios para el alojamiento de aplicaciones, incluidos los sistemas operativos, las bases de datos, los servidores y las redes de sistemas de almacenamiento.
Los proveedores públicos de PaaS ofrecen middleware que permite a los desarrolladores instalar, configurar y controlar servidores y bases de datos sin necesidad de configurar la infraestructura. Como resultado, la PaaS pública y la infraestructura como servicio (IaaS) se ejecutan juntas, con PaaS operando sobre la infraestructura IaaS de un proveedor mientras se usa la nube pública. Desafortunadamente, esto significa que el cliente está vinculado a una única opción de nube pública que es posible que no desee utilizar.
Algunas pequeñas y medianas empresas han adoptado PaaS pública, pero las organizaciones y empresas más grandes se han negado a adoptarla debido a sus estrechos vínculos con la nube pública. Esto es principalmente el resultado de la gran cantidad de regulaciones y problemas de cumplimiento que recaen sobre el desarrollo de aplicaciones empresariales dentro de la nube pública.
La PaaS privada tiene como objetivo ofrecer la agilidad de la PaaS pública mientras se mantiene la seguridad, el cumplimiento, los beneficios y los costos potencialmente más bajos del centro de datos privado. Una PaaS privada generalmente se entrega como un dispositivo o software dentro del firewall del usuario, que con frecuencia se mantiene en el centro de datos local de la empresa. Una PaaS privada se puede desarrollar en cualquier tipo de infraestructura y puede funcionar dentro de la nube privada específica de la empresa.
La PaaS privada permite a una organización brindar un mejor servicio a los desarrolladores, mejorar el uso de los recursos internos y reducir la costosa expansión de la nube a la que se enfrentan muchas empresas. Además, la PaaS privada permite a los desarrolladores implementar y administrar las aplicaciones de su empresa y, al mismo tiempo, cumplir con estrictos requisitos de seguridad y privacidad.
La PaaS híbrida combina PaaS pública y PaaS privada para brindar a las empresas la flexibilidad de la capacidad infinita proporcionada por una PaaS pública y la rentabilidad de poseer una infraestructura interna en PaaS privada. PaaS híbrida utiliza una nube híbrida.
Communication PaaS (CPaaS) La plataforma de comunicaciones como servicio es una plataforma basada en la nube que permite a los desarrolladores agregar comunicaciones en tiempo real a sus aplicaciones sin la necesidad de infraestructura e interfaces de back-end. Normalmente, las comunicaciones en tiempo real ocurren en aplicaciones creadas específicamente para estas funciones. Los ejemplos incluyen Skype, FaceTime, WhatsApp y el teléfono tradicional.
CPaaS proporciona un marco de desarrollo completo para la creación de funciones de comunicaciones en tiempo real sin la necesidad de que un desarrollador cree su propio marco, incluidas interfaces de programación de aplicaciones basadas en estándares, herramientas de software, aplicaciones prediseñadas y código de muestra.
Los proveedores de CPaaS también ayudan a los usuarios a lo largo del proceso de desarrollo brindándoles soporte y documentación del producto. Algunos proveedores también ofrecen kits de desarrollo de software, así como bibliotecas que pueden ayudar a crear aplicaciones en diferentes plataformas móviles y de escritorio. Los equipos de desarrollo que opten por utilizar CPaaS pueden ahorrar en infraestructura, recursos humanos y tiempo de comercialización.
Mobile PaaS (mPaaS) es el uso de un entorno de desarrollo integrado de pago para la configuración de aplicaciones móviles. En un mPaaS, no se requieren habilidades de codificación. MPaaS se entrega a través de un navegador web y, por lo general, es compatible con la nube pública, la nube privada y el almacenamiento local. El servicio generalmente se alquila con un precio por mes, que varía según la cantidad de dispositivos incluidos y las funciones compatibles.
MPaaS generalmente proporciona una interfaz de arrastrar y soltar orientada a objetos que permite a los usuarios simplificar el desarrollo de HTML5 o aplicaciones nativas a través del acceso directo a funciones como el GPS, los sensores, las cámaras y el micrófono del dispositivo. A menudo es compatible con varios sistemas operativos móviles.
Las empresas suelen utilizar MPaaS para la creación de aplicaciones que proporcionarán usos tanto internos como de cara al cliente. Esta implementación puede promover un entorno BYOD y aplicaciones de productividad sin el requisito de desarrolladores de aplicaciones móviles o soporte de TI adicional.
OpenPaaS es una plataforma de colaboración gratuita, de código abierto y orientada a los negocios que es atractiva en todos los dispositivos y proporciona aplicaciones web útiles, que incluyen aplicaciones de calendario, contactos y correo. OpenPaaS fue diseñado para permitir a los usuarios implementar rápidamente nuevas aplicaciones. Tiene el objetivo de desarrollar una tecnología PaaS que esté comprometida con las aplicaciones colaborativas empresariales, específicamente las implementadas en nubes híbridas.
Usos de PaaS
Las soluciones PaaS se utilizan con frecuencia en el desarrollo de aplicaciones móviles. Sin embargo, muchos desarrolladores y empresas también utilizan PaaS para crear aplicaciones multiplataforma porque proporciona una solución flexible y dinámica que tiene la capacidad de crear una aplicación que se puede operar en casi cualquier dispositivo.
Otro uso de PaaS está en las herramientas de DevOps. PaaS proporciona funciones de gestión del ciclo de vida de las aplicaciones, así como funciones específicas para adaptarse a las metodologías de desarrollo de productos de una empresa. El modelo también permite a los equipos de DevOps insertar herramientas de integración continua basadas en la nube que agregan actualizaciones sin producir tiempo de inactividad. Además, las empresas que siguen el modelo Waterfall pueden implementar una actualización utilizando la misma consola que emplean para la gestión diaria.
PaaS también se puede utilizar para reducir el tiempo de comercialización de una aplicación al automatizar o eliminar por completo las tareas de limpieza y mantenimiento. Además, PaaS puede disminuir la administración de la infraestructura al ayudar a reducir la carga de administrar la infraestructura escalable. PaaS elimina las complejidades del equilibrio de carga, el escalado y la distribución de nuevos servicios dependientes. En lugar de que los desarrolladores controlen estas tareas, los proveedores de PaaS asumen la responsabilidad.
Con el soporte que PaaS proporciona para los lenguajes y tecnologías de programación más nuevos, los desarrolladores pueden utilizar el modelo para introducir nuevos canales de crecimiento técnico, como las funciones sin servidor y la tecnología de contenedores. Esto es especialmente relevante para las industrias donde el cambio tecnológico es un proceso lento, como la banca y la manufactura. PaaS permite que estas organizaciones se adapten a las ofertas más nuevas sin cambiar por completo sus procesos comerciales.
Ejemplos de PaaS: productos y proveedores
Hay muchos ejemplos de proveedores y productos de PaaS que proporcionan las herramientas y los servicios necesarios para crear aplicaciones empresariales en la nube. Entre los principales proveedores se encuentran:
- Microsoft
- Amazon Web Services (AWS)
- IBM
- Red Hat
- Pivotal
- Oracle
- Heroku
- Mendix
- Engine Yard
Google App Engine admite aplicaciones web distribuidas que utilizan Java, Python, PHP y Go. Red Hat OpenShift es una oferta de PaaS para crear aplicaciones de código abierto utilizando una amplia variedad de lenguajes, bases de datos y componentes. Heroku PaaS ofrece instancias de computación de contenedores de estilo Unix que ejecutan procesos en entornos aislados, al tiempo que admiten lenguajes como Ruby, Python, Java, Scala, Clojure y Node.js.
Microsoft Azure admite el desarrollo de aplicaciones en .NET, Node.js, PHP, Python, Java y Ruby, y permite a los desarrolladores utilizar kits de desarrollo de software y Azure DevOps para crear e implementar aplicaciones.
AWS Elastic Beanstalk permite a los usuarios crear, implementar y escalar aplicaciones y servicios web desarrollados con Java, .NET, PHP, Node.js, Python, Ruby, Go y Docker en servidores comunes, como Apache, Nginx, Passenger e IIS.
Si bien muchos proveedores de PaaS ofrecen servicios similares, cada proveedor tiene matices y limitaciones únicos. Es importante que los usuarios prueben a los posibles proveedores para asegurarse de que sus servicios cumplan con los requisitos comerciales o técnicos, como los idiomas admitidos y la disponibilidad del servicio.
¿Qué se incluye en una plataforma como servicio?
Las capacidades específicas de PaaS pueden variar entre diferentes proveedores y productos. Sin embargo, el conjunto principal de características de PaaS generalmente incluye infraestructura, herramientas de desarrollo, middleware, sistemas operativos y herramientas de administración de bases de datos.
- PaaS incluye todo lo que incluye IaaS. Esto significa que los proveedores de PaaS gestionarán los servidores, el almacenamiento, los centros de datos y los recursos de red.
- Herramientas de diseño, prueba y desarrollo de aplicaciones. PaaS proporciona a los clientes todo lo que necesitan para crear y administrar aplicaciones. Se puede acceder a estas herramientas a través de Internet a través de un navegador, independientemente de su ubicación física. Las herramientas de desarrollo de software específicas a menudo incluyen, entre otras, un depurador, un editor de código fuente y un compilador.
- PaaS también suele incluir middleware, el software que cierra la brecha entre los sistemas operativos y las aplicaciones del usuario final. Por lo tanto, los suscriptores de PaaS no tienen que comprometer a sus desarrolladores y recursos internos para crear middleware.
- Sistemas operativos. El proveedor de PaaS proporciona los sistemas operativos para que las aplicaciones se ejecuten, así como para que los desarrolladores creen la aplicación.
- Bases de datos. Los proveedores de PaaS a menudo mantendrán bases de datos y proporcionarán a los desarrolladores de la organización del cliente herramientas de gestión de bases de datos.
¿Qué es IPaaS?
Aunque PaaS y la plataforma de integración como servicio (IPaaS) tienen nombres que suenan similares, son compatibles con diferentes tecnologías y los dos servicios en la nube tienen diferentes propósitos.
Las herramientas de automatización de IPaaS conectan las aplicaciones de software implementadas en diferentes entornos y, a menudo, se utilizan para integrar datos y aplicaciones locales con los almacenados en una nube.
PaaS, por otro lado, proporciona infraestructura en la nube, así como herramientas de desarrollo de aplicaciones entregadas a través de internet.