El caso

Solo quería vender café. Ahora administra un servidor.

Isaac alquiló VMs para ejecutar el sistema de pedidos de la tienda. Ahora, además de vender café, es él quien instala las actualizaciones del sistema operativo, configura la base de datos y se despierta de madrugada cuando el servidor se cae.

Alquilar infraestructura resolvió el hardware. Todo lo demás siguió siendo suyo.

Este post parte de Fundamentos de la nube y de Máquinas virtuales.

El problema

Alquilar la VM no resolvió todo

En Máquinas virtuales vimos que, en una VM en la nube, el proveedor se encarga del hardware y del hypervisor. De la VM hacia arriba, todo es tuyo: sistema operativo, actualizaciones, lenguaje y bibliotecas, base de datos, escalado.

Cada una de esas tareas es trabajo necesario que no diferencia a la tienda de la competencia. Es el undifferentiated heavy lifting de Fundamentos de la nube.

La solución

Una pila de capas

Toda aplicación en la nube se apoya en una pila: el hardware abajo, la virtualización, el sistema operativo, el runtime (el lenguaje y las bibliotecas en las que corre el código), los datos y, arriba, la aplicación. La fila "escala y capacidad" indica quién decide cuántas copias de la aplicación corren y cuándo crear más.

Los modelos de servicio indican hasta qué capa el proveedor asume el trabajo. Desde ahí hacia arriba, te toca a ti. Cuanto más arriba llega el proveedor, menos trabajo tienes y menos control.

LocalTúTúTúTúTúTúTúIaaSTúTúTúTúTúProveedorProveedorPaaSTúTúProveedorProveedorCompartidoProveedorProveedorFaaSTúTúProveedorProveedorProveedorProveedorProveedorSaaSProveedorCompartidoProveedorProveedorProveedorProveedorProveedorAplicaciónDatosRuntimeSistema operativoEscala y capacidadVirtualizaciónHardwareTúCompartidoProveedor
Quién administra cada capa. “Local” es tu propio centro de datos.

Los modelos

Los cuatro modelos

IaaS (Infrastructure as a Service): infraestructura como servicio

Alquilas la infraestructura: VMs, redes y discos. El control es total, y la responsabilidad también, desde el sistema operativo hacia arriba.

En la tienda: la VM con el sistema de pedidos instalado a mano.

PaaS (Platform as a Service): plataforma como servicio

Llevas el código, y el proveedor se encarga del sistema operativo, del runtime y de la infraestructura. Aun así, configuras el escalado.

En la tienda: el sistema de pedidos publicado en una plataforma administrada, sin tocar un servidor.

FaaS (Function as a Service): función como servicio

Escribes funciones que se ejecutan cuando ocurre un evento. El proveedor enciende el entorno, ejecuta la función, lo apaga y cobra por ejecución.

En la tienda: una función que envía el correo de confirmación cuando llega un pedido.

SaaS (Software as a Service): software como servicio

Software listo, que se usa desde el navegador. Lo configuras, lo usas y te encargas de tus datos. Lo demás es del proveedor.

En la tienda: la herramienta de email marketing y el sistema de facturación.

El nombre en cada nube

Los conceptos valen para cualquier proveedor. Cambian los productos que los ofrecen:

ModeloAWSAzureGoogle CloudOracle Cloud
IaaSEC2Virtual MachinesCompute EngineOCI Compute
PaaSElastic BeanstalkApp ServiceApp EngineOracle APEX
FaaSLambdaFunctionsCloud Run functionsOCI Functions

SaaS es distinto: ya lo usas. Gmail, Microsoft 365, Salesforce y Slack son SaaS, de empresas que pueden correr sobre cualquier nube por debajo.

FaaS y serverless

FaaS es la forma más conocida de serverless. Escribes la función, el proveedor crea el entorno cuando llega un evento y lo apaga después. Sin uso, no corre nada y no se cobra nada.

No confundas

PaaS × FaaS

En ambos llevas solo código. La diferencia está en qué hace el código y en cómo se ejecuta.

PaaS

“¿Tengo una aplicación completa para publicar?”

Ejemplo
Una API de pedidos que está en línea todo el tiempo, atendiendo solicitudes.
Foco
Aplicación siempre encendida, con el escalado que configuras.

FaaS

“¿Tengo un trozo de código para ejecutar cuando algo pasa?”

Ejemplo
Generar la miniatura de una foto cuando se sube.
Foco
Un evento dispara la función, con escalado automático y cobro por ejecución.

En la práctica

Cómo elegir

Si tú…Elige
Necesitas controlar el sistema operativo o instalar un software específicoIaaS
Quieres publicar una aplicación sin encargarte de servidoresPaaS
Tienes código corto, disparado por eventos, con tráfico irregularFaaS
Solo necesitas usar una herramienta listaSaaS

Términos clave

Seis términos para fijar

Toca la tarjeta para ver la definición.

ArquitecturaFinanciero

Prueba rápida

Tres preguntas, estilo examen

01

La empresa necesita instalar un software específico y elegir la versión del sistema operativo. ¿Qué modelo encaja?

02

Un código corre solo cuando se sube una foto, y la empresa paga únicamente por las ejecuciones. Ese modelo es…

03

¿En qué modelo el proveedor asume la mayor parte de las responsabilidades?


IaaS, PaaS, FaaS y SaaS aparecen en todas las certificaciones de nube, con los mismos conceptos en AWS, Azure, Google Cloud y Oracle Cloud. La pregunta de examen suele ser la misma: ¿quién administra qué? Cuanto más arriba en la pila, más asume el proveedor. El próximo paso de la ruta es Seguridad y responsabilidad compartida en la nube.