Upstash: Redis y Kafka serverless sin administración

Reseña de Upstash: plataforma serverless para Redis y Kafka. Pago por uso, replicación global, API REST y sin una sola conexión SSH a un servidor.

Upstash es una plataforma serverless para datos. Redis y Kafka sin servidores que administrar. Fundada en 2020, entre sus inversores está a16z. Si necesitas Redis para funciones serverless en Vercel o Cloudflare Workers, Upstash es prácticamente el monopolista de este nicho.

Web: upstash.com

Productos

Upstash Redis — servicio compatible con la API de Redis que funciona con modelo de pago por uso. No necesitas levantar una instancia, configurar replicación ni vigilar la memoria. Pagas por las operaciones realmente ejecutadas.

Upstash Kafka — Apache Kafka serverless. Productores, consumidores, topics: todo como en Kafka clásico, pero sin brokers ni ZooKeeper. API REST además del protocolo nativo de Kafka.

Upstash QStash — cola de mensajes con garantía de entrega. Ideal para tareas asíncronas en entornos serverless: llega la petición, la tarea se encola en QStash, se responde al cliente con 200 OK y el procesamiento ocurre en segundo plano.

Precios: serverless de verdad

Redis: gratis 10 000 comandos al día. Después, $0.2 por 100 000 comandos. La base de datos global (replicación entre regiones) cuesta $0.6 por 100 000 comandos. En comparación, el Redis gestionado más barato de AWS (ElastiCache) empieza en $12/mes por una instancia diminuta.

Kafka: gratis 10 000 mensajes al día. A partir de ahí, $1 por millón de mensajes. Sin coste por almacenamiento, particiones ni instancias.

Esto es varias veces más barato que las soluciones gestionadas de los gigantes de la nube para cargas pequeñas y medianas. Para escenarios de alto rendimiento (miles de millones de operaciones), la economía cambia y conviene usar una calculadora.

Replicación global

La característica estrella de Upstash son las bases de datos globales. Una sola base Redis replicada automáticamente entre regiones. Los datos se leen desde la región más cercana y se escriben en la primaria. La latencia de lectura es inferior a 5 ms para el 90% de los usuarios del planeta.

Para aplicaciones serverless, esto es una killer feature. Una función de Vercel en us-east lee de la base global de Upstash y un usuario en Singapur obtiene los datos con una latencia como si estuviera en un centro de datos local.

Integraciones

SDK para TypeScript, Python y Go. Integración directa con Vercel, Netlify, Cloudflare Workers y AWS Lambda. La API REST permite trabajar con Redis desde cualquier entorno sin conexión TCP (Cloudflare Workers, Deno Deploy).

La librería @upstash/redis para TypeScript es una de las mejores del ecosistema. Tipado completo, soporte para pipelines, transacciones y pub/sub. Documentación con ejemplos para cada framework.

Limitaciones del enfoque serverless

Tamaño máximo de valor: 10 MB para Redis. Suficiente para caché, sesiones y rate limits, pero no para almacenar archivos.

El connection pooling en entornos serverless es un problema. Upstash lo resuelve mediante HTTP API, pero el rendimiento de las peticiones HTTP es inferior al protocolo nativo de Redis. Para rutas críticas con requisitos de latencia de microsegundos, mejor usa un Redis tradicional.

El vendor lock-in es moderado: la API es compatible con Redis y los datos se pueden exportar, pero la replicación global y la API REST son extensiones propietarias. Se puede volver a un Redis normal, pero perderás esas funciones.

Veredicto

Upstash es el Redis ideal para el mundo serverless. El nivel gratuito cubre hackatones y proyectos personales. El pago por uso es más justo que pagar una cuota mensual por una instancia que está inactiva el 90% del tiempo. Si tu stack es Vercel/Netlify/Cloudflare Workers, Upstash prácticamente no tiene alternativa. Para monolitos clásicos en VPS, un Redis normal en Docker sigue siendo más simple y rápido.