Compara serverless vs contenedores: costos, casos de uso y cuándo usar cada tecnología para optimizar tu infraestructura cloud.


En 2023, una empresa fintech latinoamericana migró su procesamiento de pagos a contenedores y gastó 47.000 dólares mensuales en Kubernetes. Tres meses después, un competidor directo resolvía el mismo volumen transaccional con Lambda por 8.200 dólares. La diferencia no era técnica: era estratégica.

Elegir entre serverless vs contenedores no es una cuestión de moda tecnológica — es una decisión que impacta directamente en tu factura de cloud y en tu capacidad de escalar cuando el negocio lo demande. En Ciro Cloud, vemos que muchas empresas踩坑 no porque sus ingenieros no supieran, sino porque tomaron decisiones arquitectónicas sin entender los costos reales a largo plazo.

Este artículo te dará un framework claro para elegir la tecnología correcta según tu caso de uso específico.


Tabla Comparativa: Serverless vs Contenedores

Característica Serverless (Lambda, Azure Functions, Cloud Functions) Contenedores (Docker, Kubernetes, EKS, AKS, GKE)
Modelo de facturación Por invocación/milisegundos Por recursos asignados (CPU/RAM 24/7)
Escalabilidad Automática de 0 a millones Manual o con auto-scaling configurado
Cold start 100ms - 15 segundos Prácticamente cero con pods activos
Control de runtime Limitado (configuración de memoria y timeout) Completo (sistema operativo, dependencias, runtime)
Portabilidad Dependiente del proveedor (vendor lock-in parcial) Alta (Docker image funciona en cualquier cloud)
Límite de ejecución 15 minutos max (Lambda) Sin límite práctico
Costo base mínimo $0 (si no hay invocaciones) $50-$500/mes mínimo (cluster activo)
Latencia Variable (cold starts) Consistente y predecible
Debugging Más complejo Estándar, herramientas maduras
CI/CD nativo Integrado en cada proveedor Requiere configuración adicional

¿Qué es Serverless? Más Allá del Nombre

El término "sin servidores" genera confusión deliberada. Técnicamente, servidores existen — lo que desaparece es la necesidad de gestionarlos. Con AWS Lambda, Azure Functions o Google Cloud Functions, despliegas funciones individuales que ejecutan código en respuesta a eventos, y el proveedor cloud escala automáticamente: de cero a millones de invocaciones en milisegundos.

AWS Lambda** ofrece actualmente hasta 10 GB de memoria por función y un tiempo de ejecución máximo de 15 minutos (900 segundos). El pricing es por milisegundos de ejecución: en la capa gratuita incluye 1 millón de solicitudes y 400.000 GB-segundos de cómputo mensuales. Más allá de eso, los costos comienzan desde 0,20 dólares por millón de solicitudes y 0,0000166667 dólares por GB-segundo.

Azure Functions sigue un modelo similar: el plan Consumption ofrece pricing por ejecución y memoria consumida, con 1 millón de solicitudes gratuitas mensuales. El plan Premium escala hasta 14 GB de memoria por instancia y elimina el límite de 5 minutos de ejecución por defecto.

Google Cloud Functions (ahora Cloud Run Functions) proporciona un modelo event-driven con facturación similar, integrado nativamente con el ecosistema GCP para triggering desde Cloud Storage, Pub/Sub o Firestore.

Casos de Uso Ideales para Serverless

  • Procesamiento de eventos esporádicos: webhooks, notificaciones, archivos subidos a S3
  • APIs con tráfico irregular: menos de 50k invocaciones diarias con picos impredecibles
  • Procesamiento de datos batch: ETL ligero, transformaciones de archivos, conversión de formatos
  • Automatización backend: tareas programadas, procesamiento de imágenes, resize de thumbnails
  • Chatbots y procesamiento de lenguaje: integraciones con OpenAI API, Anthropic Claude API

¿Qué son los Contenedores? El Estándar de la Industria

Los contenedores Docker empaquetan tu aplicación junto con todas sus dependencias en una unidad portable. A diferencia de las máquinas virtuales, comparten el kernel del sistema operativo host, lo que los hace ligeros (megabytes vs gigabytes) y rápidos de iniciar.

Kubernetes (K8s) es el estándar de orquestación: gestiona automáticamente el despliegue, escalado y operación de contenedores a través de clusters de nodos. Las tres grandes nubes ofrecen servicios gestionados:

  • Amazon EKS (Elastic Kubernetes Service)
  • Microsoft AKS (Azure Kubernetes Service)
  • Google GKE (Google Kubernetes Engine)

Estos servicios eliminan la complejidad de gestionar el plano de control, pero los nodos worker — las máquinas que ejecutan tus contenedores — siguen siendo tu responsabilidad y representan el costo principal.

Casos de Uso Ideales para Contenedores

  • Aplicaciones con tráfico constante: APIs que reciben solicitudes 24/7
  • Workloads con requisitos estrictos de latencia: sistemas de trading, gaming en tiempo real
  • Microservicios complejos: múltiples servicios que necesitan comunicarse entre sí con baja latencia
  • Aplicaciones que requieren runtime personalizado: configuraciones específicas de SO, GPUs, bibliotecas especializadas
  • Machine Learning en producción: modelos que requieren inferencia continua, batch processing, o acceso a GPU clusters

Cómo Elegir: Framework de Decisión en 5 Pasos

No existe una respuesta correcta universal. Este framework te ayudará a tomar la decisión correcta para tu caso específico:

Paso 1: Analiza tu Patrón de Tráfico

Mapea tus solicitudes por hora durante al menos una semana. Si ves variaciones significativas (más de 5x entre peak y valley), serverless puede ahorrarte dinero significativo.

Pregunta clave: ¿Tu tráfico sigue un patrón predecible o tiene spikes impredecibles?

Paso 2: Calcula tu Costo por Invocación

Para serverless, el costo por invocación es directo. Para contenedores, necesitas calcular:

Costo mensual = (nodos × especificaciones × precio por hora) + almacenamiento + tráfico egress

Si tus contenedores están corriendo 24/7 pero solo reciben tráfico el 20% del tiempo, estás pagando por capacidad inactiva.

Paso 3: Evalúa tus Requisitos de Latencia

Los cold starts de serverless (100ms - 15s según la configuración) pueden ser inaceptables para:

  • APIs que requieren respuestas en menos de 100ms
  • Aplicaciones móviles con expectativas de tiempo real
  • Sistemas de trading donde cada milisegundo cuenta

Si la latencia es crítica, los contenedores son la elección segura.

Paso 4: Considera la Complejidad Operativa

Serverless tiene una curva de aprendizaje diferente: debugging distribuido, manejo de timeouts, diseño de funciones stateless. Los contenedores requieren expertise en Docker, Kubernetes, CI/CD pipelines, y gestión de infraestructura.

La mejor tecnología es la que tu equipo puede operar efectivamente.

Paso 5: Piensa en tu Hoja de Ruta

Si planeas migrar entre clouds o necesitas portabilidad máxima, los contenedores ofrecen más flexibilidad. Si estás comprometido con un proveedor (AWS, Azure, GCP), serverless puede ser más eficiente en costos y tiempo de desarrollo.


Análisis de Costos: Cuándo Serverless Ahorra Dinero

El ejemplo de la fintech al inicio de este artículo no es una anomalía. Analicemos los números:

Escenario: API de Procesamiento de Pagos

Métrica Serverless (Lambda) Contenedores (EKS)
Invocaciones mensuales 50 millones 50 millones
Duración promedio 150ms 150ms
Memoria asignada 512MB 512MB equivalente
Costo mensual estimado $8.200 $47.000
Costo por 1M requests $164 $940

¿Por qué la diferencia?

Con Lambda, pagas solo por el tiempo de ejecución real. Si tienes 50 millones de invocaciones de 150ms, pagas 2.083 horas de cómputo. Con EKS, necesitas nodos que corran 24/7 para manejar los peaks, incluso si la utilización promedio es del 15%.

Escenario: Aplicación con Tráfico Constante

Pero invertamos el escenario. ¿Y si esa misma fintech tuviera 10 millones de invocaciones por hora (240 millones diarias)?

Métrica Serverless (Lambda) Contenedores (EKS)
Invocaciones/hora 10 millones 10 millones
Costo Lambda $54.000/mes
Costo EKS (20 nodos m5.xlarge) $38.400/mes
Utilización Lambda ~100%

En este escenario, los contenedores son más económicos porque Lambda estaría corriendo prácticamente todo el tiempo, perdiendo la ventaja del modelo "paga solo por lo que usas".


La Estrategia Ganadora: Híbrido y Multi-Cloud

La mayoría de las arquitecturas empresariales modernas no eligen entre serverless vs contenedores — usan ambos estratégicamente.

Patrón de Implementación Híbrida

  1. Contenedores para tu core: APIs de negocio, sistemas críticos, microservicios que requieren latencia predecible
  2. Serverless para вспомогательные tareas: procesamiento de eventos, webhooks, transformaciones de datos, integraciones externas
  3. Event-driven bridge: usa Amazon EventBridge, Azure Event Grid o Google Pub/Sub para conectar contenedores con funciones serverless

Ejemplo de Arquitectura Híbrida Real

Imagina una plataforma de e-commerce:

  • Kubernetes (EKS/AKS/GKE): servicio de catálogo de productos, carrito de compras, checkout
  • Lambda/Azure Functions: generación de facturas PDF, envía de emails de confirmación, actualización de inventarios
  • Cloud Run: procesamiento de imágenes de productos, resize de thumbnails
  • SQS/SNS/Pub/Sub: cola de eventos que conecta todos los componentes

Esta aproximación optimiza costos y rendimiento: los componentes críticos viven en contenedores con latencia predecible, mientras que las tareas вспомогательные escalan a cero cuando no hay demanda.


Kubernetes vs Serverless: La Perspectiva de FinOps

Para equipos de finanzas cloud (FinOps), la elección entre serverless y contenedores tiene implicaciones distintas:

Serverless: Costo Variable, Compromiso Bajo

  • Pros: sin costos fijos, escala a cero, previsibilidad limitada de costos pero máximo optimización
  • Contras: costos impredecibles con tráfico alto, pricing complejo con múltiples variables
  • Recomendación: excelente para workloads eventuales, MVP, pruebas de concepto

Contenedores: Costo Fijo, Compromiso Alto

  • Pros: costos predecibles, mejor para workloads consistentes, herramientas maduras de optimización
  • Contras: pago por capacidad reservada aunque no se use, requiere expertise en right-sizing
  • Recomendación: ideal para producción con tráfico consistente, aplicaciones críticas

Herramientas de Optimización por Plataforma

Plataforma Serverless Contenedores
AWS Lambda Power tuning, Cost Explorer Compute Optimizer, Savings Plans
Azure Functions Consumption vs Premium calculator Azure Cost Management, Reserved Instances
GCP Cloud Functions cost calculator Committed Use Discounts, GKE Autoscaler

Recomendación Final: Qué Elegir según tu Perfil

Elige Serverless si:

✅ Tu equipo está comenzando en cloud
✅ Tienes spikes impredecibles o tráfico eventual
✅ Quieres minimizar operaciones de infraestructura
✅ Tu workload puede tolerar cold starts
✅ Estás construyendo MVP o experimentado

Elige Contenedores si:

✅ Tienes tráfico constante (más de 50k requests/día)
✅ Requieres latencia predecible (menos de 100ms)
✅ Necesitas control granular del runtime
✅ Estás migrando aplicaciones legacy
✅ Tu equipo tiene experiencia en DevOps

Elige Híbrido si:

✅ Estás en producción y optimizando costos
✅ Tienes múltiples tipos de workloads
✅ Quieres máxima flexibilidad y escalabilidad
✅ Estás implementando arquitecturas de microservicios


Conclusión

La próxima vez que alguien en tu equipo sugiera "mover todo a serverless" o "contenedores para todo", recuerda el caso de la fintech: 47.000 vs 8.200 dólares mensuales por la misma capacidad transaccional. La diferencia no estaba en la tecnología — estaba en la estrategia.

En Ciro Cloud, ayudamos a empresas latinoamericanas a diseñar arquitecturas cloud que optimizan costos sin sacrificar rendimiento. Ya sea que necesites migrar a contenedores, implementar funciones serverless, o construir una estrategia híbrida, tenemos la experiencia para guiarte.

El mejor compute es el que se adapta a tu negocio, no el que la industria dictate como tendencia.

Insights cloud semanales — gratis

Guías prácticas sobre costos cloud, seguridad y estrategia. Sin spam.

Comments

Leave a comment