Hoy venimos a hablar de las diferencias entre tres conceptos que hay que conocer al dedillo a la hora de trabajar con cloud computing. Cuando hablamos de SaaS, PaaS e IaaS nos referimos a Software as a Services, Platform as a Service e Infraestructure as a Services.

Antes de comenzar, sería interesante releer el artículo sobre los tipos de cloud, para comprender a la perfección, qué es el cloud computing.

Ahora sí, comencemos. Cuando hablamos de Software as a Service o SaaS, estamos ante un software como servicio, lo que significa que tenemos una aplicación software alojada en la nube, con la que podremos trabajar desde cualquier dispositivo.

Al hablar de Platform as a Service o PaaS, nos referimos a una plataforma como servicio. Esto significa que tendremos una herramienta en la nube con la que crear aplicaciones de software.

Por último, Infraestructure as a Service o IaaS, es una infraestructura como servicio. Una IaaS es todo el hardware de forma virtual, alojado en la nube: servidores, almacenamiento, redes, etc.

Como ya hemos señalado, IaaS o Infraestructura como servicio es el hardware virtualizado. Esto serán todos los recursos físicos, a los cuales accederemos a través de una empresa de servicio cloud, como por ejemplo, Google Cloud Platform. Con este hardware en la nube, podremos construir una infraestructura todo lo potente que queramos pero sin realizar una gran inversión en el mismo hardware o el mantenimiento.

Si quieres saber más sobre qué es Google Cloud no dejes de visitar el post del blog al respecto.

Ya hemos visto un poco en qué consisten las Infraestructuras como servicio, ahora veamos cuáles son sus aplicaciones más importantes:

  • Como hemos comentado, IaaS se trata de un servicio cloud de hardware. Por lo que, de esta forma, pagaremos únicamente lo que necesitemos, on demand.

  • Como señalamos, al estar alojado en la nube, se trata de una infraestructura escalable, que podrá variar según necesidades de almacenamiento y procesamiento.

  • Supone un alto ahorro de costes puesto que no tienen que adquirir ni mantener un hardware en sus instalaciones.

  • Podemos realizar, también, de forma virtual algunas tareas administrativas, lo que nos permitirá tener tiempo para dedicarlo a otras labores más productivas.

Algunas de las ventajas de utilizar un servicio IaaS ya las hemos mencionado en el apartado anterior, pero veamos en detalle todos los beneficios de utilizar un servicio cloud de hardware:

  • Al estar hablando de una herramienta de cloud computing, los recursos siempre están disponibles y no habrá más tiempos de espera.

  • Ya hemos hablado del ahorro de costes que supone esto. El proveedor de cloud es el que mantiene dicho IaaS, por lo que no habrá que invertir en hardware físico.

  • Al ser escalable y no tener que comprar una producto físico, completo y cerrado, pagaremos únicamente por lo que necesitemos.

  • Al ser cloud computing, podremos acceder desde cualquier lugar, si el protocolo de seguridad permite hacerlo.

  • Los centros de datos también contarán con seguridad física, al tener alojado el hardware en la nube, no hay brechas de seguridad.

  • Un fallo no afecta al servicio global.

Como hemos comentado anteriormente, PaaS es Plataforma como Servicio o en inglés, Platform as a Services. Esto es una herramienta en la nube con la cual podremos desarrollar aplicaciones, gestionarlas y mantener dichas aplicaciones. Es decir, no solo podremos mantener aplicaciones preexistentes sino que también podremos diseñar y desarrollar aplicaciones nuevas, gracias a toda la infraestructura que la plataforma nos ofrece.

  • Como decimos, un PaaS nos ofrece una plataforma con herramientas para poder testear, desarrollar y alojar aplicaciones en ese mismo entorno.

  • Gracias a un PaaS, como compañía, podremos centrarnos en el desarrollo de una aplicación y olvidarnos de la parte estructural subyacente.

  • Una Plataforma como servicio, además, realiza la gestión de seguridad, sistema operativo, copias de seguridad, etc.

  • Es una gran herramienta para trabajar de forma colaborativa en la nube.

Algunas de las ventajas de utilizar una Platform as a Services las habrás podido leer entre líneas entre sus funcionalidades pero, en cualquier caso, allá vamos:

  • Al igual que con un IaaS, los costes serán mucho más reducidos, pagando únicamente por lo que necesitemos y sin invertir en una infraestructura física.

  • Los desarrollares de software cuentan con grandes ventajas utilizando un PaaS, puesto que podrán aplicar diferentes entornos en cada fase, siendo diferente, por ejemplo, el entorno de pruebas que el de desarrollo.

  • Los PaaS, además, nos proporcionan unas interfaces muy sencillas de utilizar, por lo que los desarrollos son más sencillos.

  • Cualquier herramienta que instalemos en un PaaS, tendremos control absoluto de la misma, de esta forma podremos adaptarla a nuestras necesidades.

  • Al permitir el trabajo colaborativo, nos hace ser más productivos.

  • Los PaaS, por defecto, suelen contar con seguridad muy amplia, con copias de seguridad automatizadas y protección de los datos.

Por último, tenemos los SaaS, Software as a Service o Software como Servicio. Esto, simplemente, es la posibilidad de acceder a un software concreto a través del cloud computing de un proveedor del servicio. Es decir, nosotros no instalaremos dicho software en nuestro ordenador, de manera local. Este servicio cloud nos permite acceder a un software que está alojado en un servidor cloud, ya sea a través de una API o de una web.

Las aplicaciones SaaS cuentan con unas características comunes a todas ellas, que son las siguientes:

  • El software SaaS, en vez de comprarlo e instalarlo en local, funciona (normalmente) a través de una suscripción.

  • Al tratarse de un servicio cloud, el usuario de un SaaS nunca tendrá que preocuparse por actualizar o instalar el software, puesto que eso corre a cuenta del proveedor.

  • Los datos del software están completamente seguros en la nube, independientemente de cualquier fallo que pueda ver en nuestro equipo.

  • Al igual que los IaaS y PaaS, podremos escalar los recursos según nuestras necesidades. Esta es una de las principales ventajas de la migración a la nube de cualquier software o herramienta.

Las ventajas de utilizar un Software como Servicio están bastante claras y son las siguientes:

  • Como ya hemos mencionado, el proveedor del software se encargará de mantener la aplicación actualizada y estas actualizaciones serán de forma automática y, generalmente, sin coste.

  • Son compatibles con un buen número de dispositivos diferentes.

  • Un SaaS será accesible desde (casi) cualquier lugar y dispositivo.

  • Las aplicaciones cuentan con muchas posibilidades de personalización.

Las principales características que diferencian estos tres servicios son los niveles de seguridad y quién los asume. Si contratamos una Infraestructura como Servicio, la seguridad de las plataformas y softwares instalados dependerá de nosotros, así como las bases de datos, tiempos de espera, actualizaciones, etc.

Si pasamos al siguiente nivel, Plataforma como Servicio, lo único de lo que nosotros tendremos que preocuparnos será de las aplicaciones instaladas dentro de esa plataforma. Las cuales tendremos que gestionar nosotros mismos, con los problemas que ellas puedan ocasionar.

Finalmente, un Software como Servicio, como acabamos de ver, nos permitirá olvidarnos de actualizaciones, seguridad, mantenimiento, etc.

Todo esto dependerá de qué servicio necesitemos para cubrir qué necesidad.

Ya conocemos la teoría, ahora vayamos a la práctica, ¿qué herramientas y aplicaciones son SaaS, PaaS o IaaS? ¿Y cuales son las empresas más importantes de cada área?

En SaaS tenemos muchos ejemplos que seguro que tu mismo utilizas como: Gmail, Trello, Canva, Jira… Al final, cualquier herramienta que utilicemos que esté alojada en la nube que nos haga las veces de un software que podría estar instalado en local.

En PaaS nos encontramos diferentes plataformas para desarrollo de software como Openshift, Heroku o Flynn.

Finalmente, como IaaS nos encontramos infraestructuras muy famosas como Google Cloud Platform, Amazon Web Services o Azure.

Además de los diferentes servicios que ya hemos visto, encontramos otros menos conocidos pero igualmente interesantes como los siguientes:

  • FaaS: Las Funciones como Servicio también son conocidas como serverless architecture. Esto no significa que no tengan servidor sino que los servidores son utilizados como un elemento más de la infraestructura. Gracias a esta arquitectura, podemos ejecutar aplicaciones con contenedores efímeros, que se crearán en el momento y por los que no deberemos preocuparnos de su gestión al centrarnos solo en la funcionalidad. Gracias a esta arquitectura, el ciclo de desarrollo es mucho más simple, además de favorecer el desarrollo de arquitecturas basadas en microservicios. Además, los costes de inversión son menores.

  • CaaS (Container as a Service): Este se encuentra a mitad de camino entre el IaaS y el PaaS. El contenedor como servicio es una forma de virtualización basada en contenedores donde todos los recursos (motores, orquestación y demás recursos subyacentes) son entregados como un servicio de proveedor de cloud.

Además, existen muchísimos más servicios en la nube: Desktop as a Service, Analytics as a Service, Backup as a Service, Business as a Service, Communications as a Service, Content as a Service, Logging as a Service, Monitoring as a Service, Network as a Service, Payments as a Service, Robot as a Service, Search as a Service, Security as a Service, Storage as a Service..-

En resumen, después de este artículo no tendrás ninguna duda de que contar con servicios alojados en la nube es un gran beneficio para tu organización, ya sea para utilizar softwares o para utilizarlo como plataforma o infraestructura.