Cómputo en la nube

Comparación de esquemas de servicios de nube

SaaS

Software as a Service

Este esquema es conocido también como nube de aplicación, y es uno de los esquemas mas utilizados en el mercado de la nube.

SaaS utiliza el Internet para servir aplicaciones las cuales generalmente se manejan por terceros interesados a sus usuarios.

La mayoría de los SaaS se ejecutan directamente en un navegador, haciéndolo cómodo ya que no hay descargas para instalación de dicha aplicación.

Este esquema elimina la necesidad de tener un equipo de IT dando soporte para la instalación de algún servicio, y el proveedor del servicio maneja la mayoría de los problemas técnicos que puedan ocurrir.

Utilizar SaaS ayuda a los usuarios a disminuir sus cargas de trabajo en el área de tecnología debido a que delegan toda la funcionalidad de una aplicación SaaS a su proveedor.

Algunas de las características de estos servicios son, estar alojados en servidores remotos, ser manejados desde una solo lugar, son accesibles por Internet, y los usuarios no necesitan instalar o actualizar el software.

Esto es de ayuda en casos como, empresas pequeñas que necesitan ahorrar costos y tiempos de implementación, y deciden contratar una aplicación por su funcionalidad en lugar de implementarla ellos mismos; Proyectos a corto plazo donde un servicios SaaS resulta ser rápido de implementar, fácil de usar, y barato; cuando las aplicaciones no son esenciales pero si necesarias para la operación.

Esto tiene desventajas como compartir tu información con el proveedor de servicio, te atienes al rendimiento y tiempos de alto del servicio, personalización, pobre integración con otros servicios, y candados del proveedor.

PaaS

Platform as a Service

Estas plataformas proveen una plataforma para el desarrollo de software, ofreciendo herramientas y servicios para asistir y alojar el procesos y producto del desarrollo.

Las plataformas les permiten a los usuarios no preocuparse por el mantenimiento del software que utilizan y preocuparse por el desarrollo que están realizan, por medio de la oferta de servicios y soluciones especificas para este tipo de necesidades.

Estos suelen ser escalables, con alta disponibilidad de servidores, reducción del código y tiempo de configuración, integración para incluir políticas de negocio, y fácil integración a esquemas híbridos.

Algunas de las funcionalidades que implementa son la visualización, servicios para asistir al flujo de desarrollo, capacidad de soportar múltiples usuarios realizando desarrollo, integraciones con servicios web y bases de datos.

Utilizamos un PaaS cuando tenemos necesidades de desarrollo que requieren múltiples desarrolladores por software a producir, necesidades de despliegue de múltiples sistemas, cuando buscamos implementación de nube híbrida, entre otras ocasiones.

Las desventajas se comparten con SaaS, excepto por la consideración de el software que se desarrolla en un PaaS es propio entonces nosotros no conocemos en que software y hardware se ejecuta como dependiente del nuestro, teniendo un gran espacio para incertidumbre quien maneja los datos alojados en sus servicios que utilizamos para asistir a nuestros procesos.

IaaS

Infrastructure as a Service

Son servicios donde se nos ofrece recursos de cómputo escalables, configurables bajo demanda e incluyen funcionalidades para el monitoreo de estos recursos mismos.

Estos recursos de cómputo pueden ser servidores, redes, sistemas operativos, almacenamiento, y todo por medio de tecnologias de virtualizacion. Estos servicios ofrecen interfaces web y alguna interfaz de programación (API), para su uso.

Contratar este esquema nos permite tener las mismas capacidades que tiene un centro de datos tradicional, sin la necesidad del hardware.

A diferencia de SaaS y PaaS, el usuario debe mantener todo lo que ejecuta en estos recursos.

FaaS

Function as a Service

Es un modelo de ejecución basado en eventos, que ejecuta un contenedor incapaz de persistir estado (por su cuenta), permitiendo que el usuario desarrolle sus propias aplicaciones, sin preocupación de mantener una infraestructura de ningún tipo.

Este tipo de servicios también son conocidos como serverless.

En este esquema un desarrollador, completa una aplicación, puede ser directamente desplegada sobre una función siguiendo el método de despliegue especificado por el proveedor, y tendrá una aplicación funcional en la nube.

El hecho de no ser capaz de persistir estado, implica que si una aplicación desea guardar estado necesitara comunicarse con otro servicio responsable de persistir, introduciendo un ligero cambio de paradigma en el desarrollo de aplicaciones para la nube, pero gracias a la comunidad de usuarios de servicios FaaS, tenemos técnicas estándar para manejar este tipo de desarrollos

Ejemplos de SaaS

  • Google Workspace (antes GSuit)
  • Dropbox
  • Salesforce
  • Cisco WebEx
  • SAP Concur

Ejemplos de PaaS

  • AWS Elastic Beanstalk
  • Windows Azure
  • Heroku
  • Salesforce
  • Google App Engine
  • OpenShift

Ejemplos de IaaS

  • DigitalOcean
  • Linode
  • Rackspace
  • Amazon Web Services (AWS)
  • Cisco Metacloud
  • Microsoft Azure
  • Google Compute Engine (GCE)

Ejemplos de FaaS

  • IBM Cloud Functions
  • Amazon’s AWS Lambda
  • Google Cloud Functions
  • Microsoft Azure Functions (open source)
  • OpenFaaS (open source)