IaaS vs PaaS en Google Cloud Platform


IaaS y PaaS son dos de las categorías de servicios de computación en nube más antiguas y más ampliamente utilizadas - similares en algunos aspectos pero fundamentalmente diferentes tipos de plataformas.

Las empresas deben entender estas diferencias para poder elegir el tipo de servicio en la nube adecuado para un caso de uso determinado. Este artículo explica los beneficios y desventajas de IaaS vs. PaaS.

IaaS vs. PaaS, definido

La Infraestructura como Servicio (IaaS) proporciona acceso bajo demanda a la infraestructura de TI virtualizada a través de Internet. Normalmente, IaaS proporciona acceso sólo a los componentes básicos de la infraestructura: computación, redes y almacenamiento. Los usuarios instalan y administran el software que quieren ejecutar en su infraestructura basada en la nube.

Los proveedores de la nube mantienen y supervisan la infraestructura física para ofrecer IaaS, pero es responsabilidad de los usuarios asegurar y supervisar las cargas de trabajo que se ejecutan en esa plataforma. Por lo tanto, el valor principal de IaaS es que elimina la necesidad de que los usuarios compren, configuren y mantengan los servidores físicos.

Originalmente, IaaS era la columna vertebral de las principales nubes públicas como AWS, que lanzó servicios de alojamiento de bases de datos y máquinas virtuales a mediados de la década de 2000. Sólo más tarde esos proveedores añadieron opciones de servicio que permitieron a las empresas centrarse más en el desarrollo que en la gestión.


La plataforma como servicio (PaaS) proporciona infraestructura para alojar aplicaciones, así como herramientas de software para ayudar a los clientes a desarrollar e implementar esas aplicaciones. PaaS simplifica la configuración y la gestión tanto del hardware como del software.

PaaS es menos flexible que IaaS, y típicamente abastece a un conjunto estrecho de enfoques para el desarrollo o despliegue de aplicaciones. No son reemplazos de propósito general para toda la infraestructura de TI y el flujo de trabajo de desarrollo de software de una organización.

Anunciado por las ofertas de vendedores como Heroku, las ofertas de PaaS se hicieron populares a mediados de la década de 2000, al mismo tiempo que surgió la IaaS, pero la PaaS evolucionó independientemente de la IaaS. En la mayoría de los casos, los principales proveedores de IaaS en ese momento no incluyeron la PaaS entre sus servicios de nube, mientras que los proveedores de PaaS no se ramificaron para proporcionar servicios independientes de IaaS junto con la PaaS.



Donde las líneas se desdibujan entre IaaS vs. PaaS

Muchos de los primeros proveedores de PaaS restringían las tecnologías que soportaban, y sus herramientas de software sólo eran compatibles con sus propias plataformas de alojamiento. Era difícil migrar de una oferta de PaaS a otra, o adaptar un pipeline de desarrollo basado en PaaS para que se ejecutara en una IaaS genérica en su lugar.

Esta integración de PaaS e IaaS ha hecho que las diferencias entre ambas sean algo borrosas. En pocas palabras, piense en IaaS como cualquier servicio de nube que se limita estrictamente a la infraestructura. Si el servicio une las herramientas de software con la infraestructura, entonces es una PaaS.

Sin embargo, las plataformas IaaS incluyen algunos entornos de software preconfigurados. Por ejemplo, una VM basada en la nube viene preinstalada con un sistema operativo. Pero estas pilas de software son genéricas y los usuarios deben dedicar más tiempo a la personalización para satisfacer sus necesidades. IaaS no proporciona un entorno completo para desarrollar o desplegar aplicaciones como sería en el caso de la PaaS.

Cuándo usar IaaS o PaaS

Con una comprensión básica de los beneficios y diferencias de IaaS vs. PaaS, ahora puedes considerar cuál es el adecuado para una determinada carga de trabajo.

IaaS es típicamente la mejor opción para las empresas que tienen los recursos para desarrollar, implementar y administrar aplicaciones - sin la ayuda del proveedor. IaaS también es preferible si un usuario requiere componentes que no son proporcionados por una oferta de PaaS, como una herramienta de desarrollo específica o un sistema operativo personalizado.

El caso de uso más común de IaaS es cuando una organización ya tiene su aplicación, o tiene los recursos internos para desarrollarla, y simplemente necesita infraestructura para alojarla. Por ejemplo, un minorista que ha construido un mercado en línea podría recurrir a un proveedor de IaaS para alojar esa carga de trabajo. O, una empresa podría elegir un producto de alojamiento de IaaS para migrar su sistema de nómina en las instalaciones a la nube.

PaaS es una mejor opción para las organizaciones que tienen menos recursos para desarrollar y gestionar aplicaciones. PaaS no elimina totalmente la necesidad de contar con desarrolladores, pero optimiza las operaciones de desarrollo y despliegue y las agrupa con la infraestructura de hosting. Por este motivo, la PaaS puede resultar más atractiva para aquellas PYMEs que deseen disponer de aplicaciones más rápidamente.

En general, la IaaS cuesta menos que la PaaS para cargas de trabajo que tienen un consumo de recursos comparable, pero es posible que tenga que pagar por herramientas de software de otras fuentes con un modelo de IaaS, lo que puede ser más caro que adquirirlas como parte de una PaaS. Hay otros factores de costo también, incluyendo los posibles gastos generales para el mantenimiento de la infraestructura.



Ofertas de Google IaaS y PaaS

Al igual que AWS y Azure, Google proporciona una oferta de IaaS de computación, llamada Google Compute Engine, que ofrece tipos de máquinas predefinidas y personalizadas. Google también tiene servicios de almacenamiento como:
  • Google Cloud Storage 
  • Google Cloud Filestore
  • Google Persistent Disk
La plataforma PaaS de Google, App Engine, es similar al Azure App Service en el sentido de que soporta el desarrollo y la implementación de aplicaciones escritas en una variedad de lenguajes y marcos. También cuenta con una variedad de herramientas y enfoques de implementación, entre ellos:
  • Un entorno estándar para implementaciones de sandbox, ciertos códigos fuente específicos, aplicaciones de bajo coste y demandas de escalado rápidas y puntuales.
  • Un entorno flexible para aplicaciones en contenedores que se ejecutan en Compute Engine o aplicaciones que dependen de la red de Compute Engine, aplicaciones con tráfico constante, tiempos de ejecución personalizados y aplicaciones que dependen de frameworks con código nativo.

Los desarrolladores también pueden combinar los entornos estándar y flexibles en App Engine según sea necesario.

App Engine está más orientado al desarrollo basado en Linux, mientras que Azure App Service está más orientado a los marcos y servicios basados en Windows. Una empresa que construye sus aplicaciones en .NET puede preferir App Service, mientras que App Engine atrae a los departamentos de TI a los que les gustan las herramientas de Unix y que desean implementar aplicaciones utilizando contenedores Docker - que se adaptan mejor a los entornos basados en Linux.




Comentarios