Qué es Cloud Computing

Cloud Computing (computación en la nube) es la tecnología que permite el uso remoto de recursos computacionales de software y hardware a través de Internet. En lugar de mantener servidores físicos locales, las empresas y los desarrolladores utilizan centros de datos de terceros para procesar datos, almacenar archivos y ejecutar aplicaciones.

Los principales casos de uso incluyen:

  • Procesamiento de Big Data — análisis de grandes volúmenes de datos sin necesidad de hardware dedicado
  • Almacenamiento — archivos, copias de seguridad y bases de datos alojados de forma distribuida y redundante
  • Servidores de aplicación — entornos para ejecutar APIs, sitios web y servicios sin gestionar hardware físico

El modelo de pago por uso (pay-as-you-go) es uno de los mayores atractivos: pagas solo por los recursos que consumes y puedes escalar hacia arriba o hacia abajo según la demanda.


IaaS — Infrastructure as a Service

El modelo IaaS proporciona la infraestructura básica de la nube: servidores virtuales, almacenamiento, redes y servicios de firewall y seguridad. El proveedor gestiona el hardware físico, la red y la virtualización, mientras que el cliente es responsable del sistema operativo, middleware, runtime y aplicaciones.

Es el modelo que ofrece mayor control y mayor responsabilidad. Ideal para equipos que necesitan flexibilidad total sobre la configuración del entorno.

Ejemplos:

  • AWS EC2
  • Google Compute Engine
  • Azure Virtual Machines
  • DigitalOcean Droplets

Cuándo usar: cuando necesitas control total sobre el entorno, tienes un equipo capacitado para administrar servidores o necesitas configuraciones muy específicas de red y seguridad.


PaaS — Platform as a Service

PaaS va más allá de la infraestructura y proporciona el sistema operativo y el entorno de desarrollo en la nube. El proveedor gestiona servidores, almacenamiento, red, SO y middleware. El cliente se ocupa únicamente del código de la aplicación y los datos.

Incluye herramientas de desarrollo, bibliotecas, bases de datos gestionadas y pipelines de despliegue. El objetivo es acelerar el ciclo de desarrollo eliminando la complejidad operacional.

Ejemplos:

  • Heroku
  • Google App Engine
  • Railway
  • Render
  • AWS Elastic Beanstalk

Cuándo usar: cuando la prioridad es la velocidad de entrega y el equipo quiere enfocarse en el código sin preocuparse por parches de SO, balanceo de carga o configuración de servidores.


SaaS — Software as a Service

SaaS es una aplicación completa ofrecida a través de Internet, generalmente licenciada por suscripción o por volumen de uso. El proveedor gestiona absolutamente todo: infraestructura, plataforma, aplicación, actualizaciones y mantenimiento. El usuario final accede al software a través del navegador o un cliente dedicado.

No es necesario preocuparse por la instalación, el mantenimiento o las actualizaciones — todo eso es responsabilidad del proveedor.

Ejemplos:

  • Google Workspace (Gmail, Docs, Drive)
  • Slack
  • Salesforce
  • Microsoft 365
  • Notion

Cuándo usar: cuando la necesidad es utilizar un software listo, sin personalización profunda de la infraestructura, y con el menor overhead operacional posible.


Otros modelos: DaaS, FaaS, BaaS

DaaS — Desktop as a Service

DaaS proporciona escritorios virtuales a través de Internet. El proveedor aloja y gestiona la infraestructura de VDI (Virtual Desktop Infrastructure), mientras que el usuario accede a un entorno de trabajo completo desde cualquier dispositivo. El licenciamiento es típicamente por suscripción por usuario.

Ejemplos: Amazon WorkSpaces, Azure Virtual Desktop, Citrix DaaS.

Cuándo usar: equipos remotos que necesitan entornos estandarizados o escenarios con requisitos estrictos de seguridad donde los datos nunca salen del centro de datos.

FaaS — Functions as a Service

FaaS es el modelo serverless por excelencia. Escribes funciones individuales y el proveedor se encarga de toda la ejecución: aprovisionamiento, escalado y facturación por invocación. No hay servidores que gestionar — ni siquiera el concepto de servidor.

Ejemplos: AWS Lambda, Cloudflare Workers, Google Cloud Functions, Azure Functions.

Cuándo usar: cargas de trabajo orientadas a eventos, APIs ligeras, procesamiento asíncrono y escenarios donde el costo debe ser proporcional al uso real.

BaaS — Backend as a Service

BaaS ofrece servicios de backend listos para usar — autenticación, bases de datos en tiempo real, almacenamiento de archivos, notificaciones push — que pueden ser consumidos directamente por el frontend sin necesidad de construir y mantener un servidor backend.

Ejemplos: Firebase, Supabase, AWS Amplify.

Cuándo usar: MVPs, aplicaciones mobile-first y proyectos donde la velocidad de prototipado es más importante que el control total del backend.


XaaS — Everything as a Service

XaaS es el término general que engloba cualquier recurso de TI entregado como servicio a través de la nube. Además de los modelos ya mencionados, existen diversas especializaciones:

SiglaNombreDescripción
CaaSContainers as a ServiceOrquestación y gestión de contenedores (ej.: Google GKE, AWS ECS)
MaaSMonitoring as a ServiceMonitoreo y observabilidad gestionados (ej.: Datadog, New Relic)
DRaaSDisaster Recovery as a ServiceReplicación y recuperación de desastres en la nube
NaaSNetwork as a ServiceInfraestructura de red virtualizada bajo demanda
DBaaSDatabase as a ServiceBases de datos gestionadas (ej.: Amazon RDS, PlanetScale)

La tendencia XaaS refleja el cambio de modelos de compra (CapEx) a modelos de consumo (OpEx), donde prácticamente cualquier capacidad de TI puede ser consumida como servicio. Esto reduce la barrera de entrada, permite escalar sin inversión inicial elevada y transfiere la complejidad operacional a proveedores especializados.


Comparación: IaaS vs PaaS vs SaaS

La tabla a continuación muestra la división de responsabilidades entre proveedor y cliente en cada modelo:

CapaOn-PremisesIaaSPaaSSaaS
AplicaciónClienteClienteClienteProveedor
DatosClienteClienteClienteProveedor
RuntimeClienteClienteProveedorProveedor
MiddlewareClienteClienteProveedorProveedor
SOClienteClienteProveedorProveedor
VirtualizaciónClienteProveedorProveedorProveedor
ServidoresClienteProveedorProveedorProveedor
StorageClienteProveedorProveedorProveedor
RedClienteProveedorProveedorProveedor

Cuanto más arriba en la pila (de IaaS a SaaS), menos responsabilidad operacional tienes — y menos control también.


Cómo elegir el modelo adecuado

La elección depende de algunos criterios prácticos:

  • Nivel de control necesario: si necesitas configurar el kernel del SO o reglas de firewall granulares, IaaS es el camino. Si solo quieres entregar código, PaaS resuelve. Si quieres usar un software listo, SaaS.
  • Capacidad del equipo: IaaS exige conocimiento de infraestructura. PaaS reduce esa exigencia. SaaS prácticamente la elimina.
  • Costo y previsibilidad: SaaS tiene un costo más predecible (licencia por usuario). IaaS puede variar según el consumo de recursos. PaaS queda en el medio.
  • Velocidad de entrega: PaaS y SaaS aceleran el time-to-market. IaaS ofrece más flexibilidad, pero con más trabajo inicial.
  • Compliance y seguridad: algunos sectores regulados exigen control total sobre la infraestructura (IaaS u on-premises). Otros aceptan modelos gestionados siempre que el proveedor tenga certificaciones adecuadas.

En la práctica, la mayoría de las empresas utiliza una combinación de modelos. Una aplicación puede ejecutarse en PaaS, consumir una base de datos gestionada (DBaaS), enviar correos electrónicos vía SaaS y tener copias de seguridad replicadas en IaaS. Este enfoque híbrido es la norma en el ecosistema moderno de la nube.


Referencias