Carlos Seijas
← Volver a los blogs

¿Qué es Serverless? Guía completa con ejemplos

Código
ServerlessAWS LambdaCloudArquitecturaBackendDevOpsFunciones
¿Qué es Serverless? Guía completa con ejemplos

¿Te imaginas poder ejecutar tu código sin quebraderos de cabeza con servidores, sin desvelarte con el mantenimiento, sin sudar cada vez que llegue un pico de tráfico? Suena como un sueño, ¿verdad? Pues déjame contarte que esta maravilla existe y está cambiando completamente el juego del desarrollo web.

Al terminar de leer esto, vas a entender por qué Netflix, Airbnb y medio Silicon Valley se han vuelto locos con esta tecnología.

¿Qué diablos es Serverless?

Serverless es básicamente poder ejecutar tu código sin tener que lidiar con servidores. Ojo, que no significa que no haya servidores (el nombre es un poco confuso), sino que alguien más se hace cargo de todo ese dolor de cabeza.

Es como tener un chef que solo aparece cuando llega un cliente a tu restaurante, en lugar de mantenerlo ahí parado todo el día esperando. En mi experiencia, es una de esas ideas que cuando la entiendes, te preguntas por qué no se nos ocurrió antes.

La cosa funciona con funciones pequeñitas e independientes que se despiertan solo cuando las necesitas. Le dicen "Functions as a Service" (FaaS), pero a mí me gusta pensar en ellas como mini-robots que trabajan cuando les tocas el timbre.

Cómo funciona esta magia (sin la parte aburrida)

El funcionamiento de serverless es tan simple que parece mentira:

  1. Escribes tu función - algo que haga una tarea específica
  2. La subes al proveedor de cloud (AWS, Google, los de siempre)
  3. Ellos se encargan del resto - la ejecutan cuando llega una petición
  4. Solo pagas por lo que usas - ni un centavo más

Un ejemplo que me gusta: imagínate que alguien sube una foto a tu app. Una función serverless puede agarrarla automáticamente, redimensionarla, aplicarle filtros, y guardarla en diferentes formatos. Todo sin que tú muevas un dedo.

Las piezas del rompecabezas

Event-driven: Las funciones solo se despiertan cuando pasa algo (una petición HTTP, alguien sube un archivo, se actualiza una base de datos).

Stateless: Cada ejecución vive en su propia burbuja, sin acordarse de nada anterior.

Auto-scaling: Si llegan mil usuarios a la vez, el proveedor automáticamente crea mil copias de tu función. Magia pura.

Los pesos pesados del serverless

AWS Lambda: El veterano

AWS Lambda es como el abuelo respetado de la familia serverless jaj. Es el más popular y por algo será. Maneja Python, Node.js, Java, C# y varios más.

// Así de simple puede ser una función Lambda
exports.handler = async (event) => {
    const message = `¡Hola, ${event.name}!`;
    return {
        statusCode: 200,
        body: JSON.stringify({ message })
    };
};

Vercel Functions: La nueva generación

Perfectas si andas con Next.js y quieres que todo fluya natural. Se integran tan bien que parecen magia.

Google Cloud Functions: La opción inteligente

Ideal si ya estás en el ecosistema Google. Súper buenas para machine learning y procesamiento de datos.

Por qué serverless puede cambiar tu vida

Tu billetera te lo va a agradecer

Solo pagas cuando tu código realmente se ejecuta. Si nadie usa tu función, pagas cero. He visto casos donde los costos bajaron 90% comparado con servidores tradicionales. No es broma.

Escalabilidad que da miedo (de lo buena que es)

¿Llegaron mil requests de la nada? No problem. El proveedor automáticamente crea mil instancias de tu función. ¿Se calmó el tráfico? Vuelve a cero. Todo automático.

Desarrollo sin dolor de cabeza

Te enfocas en escribir código que funcione. Nada más. Se acabó el configurar servidores, instalar dependencias en el servidor, o revisar que el sistema operativo esté actualizado.

Mantenimiento = cero

Literalmente cero. Nada de parches de seguridad, nada de actualizar el sistema, nada de monitorear si el servidor se cayó. Alguien más se encarga.

La cara B (porque no todo es perfecto)

El Cold Start que fastidia

La primera vez que tu función se ejecuta después de estar dormida, puede tardar unos 100-500ms en despertar. Para la mayoría de casos está bien, pero si necesitas velocidad extrema, puede molestar.

Límites que pueden jorobar

AWS Lambda te deja ejecutar máximo 15 minutos. Si necesitas procesos largos, no es tu herramienta.

El vendor lock-in del que todos hablan

Cambiar de proveedor puede ser un lío porque cada uno tiene su manera de hacer las cosas.

Casos donde serverless brilla

APIs que no necesitan estar siempre despiertos

Perfectas para endpoints que van y vienen:

// Un endpoint simple y efectivo
export default async function handler(req, res) {
    const { userId } = req.query;
    const user = await getUserFromDatabase(userId);
    res.json(user);
}

Procesamiento automático de archivos

Alguien sube una imagen y automáticamente la redimensionas, le aplicas filtros, la conviertes a WebP. Todo sin intervención humana.

Webhooks que realmente funcionan

Para procesar notificaciones de Stripe, SendGrid, o cualquier servicio externo que te envíe datos.

Tareas programadas inteligentes

Backups automáticos, emails de resumen, limpieza de base de datos. Como tener un asistente digital.

Cuándo usar serverless (y cuándo mejor no)

Dale para adelante si tienes:

Mejor busca otra cosa si:

Cómo empezar sin morir en el intento

  1. Elige tu proveedor - ve con el que mejor se integre con tu stack actual
  2. Empieza simple - haz un "Hello World" que funcione
  3. Configura un trigger - que se ejecute con una petición HTTP
  4. Prueba y observa - ve cómo se comporta en la vida real
  5. Crece poco a poco - agrega más funcionalidad gradualmente

La realidad del asunto

Serverless no es una moda que va a pasar. Es una evolución natural hacia arquitecturas que realmente tienen sentido. Netflix lo usa para procesar millones de eventos, Coca-Cola para optimizar sus operaciones.

Lo importante es que no tengas miedo de probarlo. La próxima vez que desarrolles algo, pregúntate si realmente necesitas un servidor corriendo 24/7 o si unas funciones inteligentes pueden hacer el trabajo mejor.

Spoiler: en la mayoría de casos, la respuesta es sí.

Comentarios

Posts relacionados