La arquitectura Serverless propone delegar completamente la gestión de servidores al proveedor de nube (como AWS, Azure o Google Cloud). Vos escribís funciones, ellos se encargan de todo lo demás: infraestructura, escalado, balanceo de carga, etc.
# ¿Cómo funciona?
Cuando un evento ocurre (por ejemplo, una solicitud HTTP), se ejecuta una función previamente definida. Estas funciones viven en la nube y se ejecutan sólo cuando se necesitan. No hay servidores que mantener encendidos todo el tiempo.
# Ventajas
-
verified
Coste por Uso
No pagás por tiempo ocioso: sólo cuando se ejecuta tu código.
-
verified
Escalado Automático
Escalado automático según demanda sin intervención manual.
-
verified
Abstracción total
Despreocupación total por el mantenimiento de servidores.
# Desventajas
-
warning
Complejidad de Depuración
Mayor dificultad para depurar o monitorear ejecuciones efímeras.
-
warning
Cold Start
Latencia inicial en la primera ejecución después de un tiempo ocioso.
-
warning
Vendor Lock-in
Dependencia fuerte del proveedor de servicios de nube.
# Ejemplo cotidiano
Imaginá que tenés una cafetería, y solo abrís la cocina cuando llega un cliente. No tenés empleados todo el día, solo contratás cocineros por pedido. Así funciona Serverless: código que se ejecuta bajo demanda.
# Ejemplo técnico: Sistema de Alertas
Imaginá una aplicación que permite a los usuarios registrarse para recibir alertas cuando un producto vuelve a estar en stock. Con arquitectura Serverless, no hay un servidor constantemente ejecutándose. En cambio:
- Cuando un usuario envía el formulario, se dispara una función que guarda el correo en una base de datos.
- Cuando el producto vuelve a estar en stock, otra función se activa automáticamente y envía correos a todos los usuarios interesados.
- Todo esto ocurre "bajo demanda", sin tener un backend corriendo 24/7.
Fragmento de código conceptual
// Función que se ejecuta cuando un usuario se registra
function registrarInteresado(evento) {
const email = evento.body.email;
guardarEnBaseDeDatos(email);
return { statusCode: 200, body: 'Registro exitoso' };
}
// Función que se ejecuta cuando un producto vuelve al stock
function notificarUsuarios(producto) {
const lista = obtenerEmailsInteresados(producto.id);
lista.forEach(email => enviarCorreo(email, producto.nombre));
}
# ¿Cuándo conviene usarlo?
Es ideal para tareas breves, automatizaciones, APIs ligeras, backends para apps móviles, procesamiento de eventos, bots, y MVPs que deben escalar rápido sin mantener infraestructura compleja.
# Conclusión
Serverless no significa "sin backend", sino "sin servidores gestionados por vos". Es una gran opción para muchos escenarios modernos, pero no reemplaza todos los modelos. Elegí con criterio según tus necesidades.