Upstash : Redis et Kafka serverless sans administration

Avis sur Upstash — plateforme serverless pour Redis et Kafka. Paiement à l'usage, réplication globale, API REST et zéro connexion SSH au serveur.

Upstash est une plateforme de données serverless. Redis et Kafka sans serveurs à administrer. Fondée en 2020, avec des investisseurs comme a16z. Si vous avez besoin de Redis pour des fonctions serverless sur Vercel ou Cloudflare Workers — Upstash est pratiquement en situation de monopole dans cette niche.

Site : upstash.com

Produits

Upstash Redis — un service compatible avec l’API Redis, fonctionnant sur le modèle du paiement à l’usage. Pas besoin de lancer une instance, de configurer la réplication, de surveiller la mémoire. Vous payez pour les opérations réellement effectuées.

Upstash Kafka — Apache Kafka serverless. Producteurs, consommateurs, topics — tout comme dans Kafka classique, mais sans brokers ni ZooKeeper. API REST en complément du protocole Kafka natif.

Upstash QStash — une file de messages avec garantie de livraison. Idéal pour les tâches asynchrones dans un environnement serverless : la requête arrive, la tâche part dans QStash, réponse au client — 200 OK, le traitement se fait en arrière-plan.

Tarification — du serverless honnête

Redis : gratuit 10 000 commandes par jour. Ensuite 0,2 $ pour 100 000 commandes. Base de données globale (réplication entre régions) — 0,6 $ pour 100 000 commandes. À titre de comparaison : le Redis managé minimum chez AWS (ElastiCache) commence à 12 $/mois pour une toute petite instance.

Kafka : gratuit 10 000 messages par jour. Ensuite 1 $ par million de messages. Aucun frais de stockage, de partitions ou d’instances.

C’est plusieurs fois moins cher que les solutions managées des géants du cloud pour les charges petites et moyennes. Pour les scénarios à haut débit (des milliards d’opérations), l’économie change — il faut sortir la calculatrice.

Réplication globale

La principale fonctionnalité d’Upstash — les bases de données globales. Une seule base Redis, automatiquement répliquée entre les régions. Les données sont lues depuis la région la plus proche, écrites dans la région primaire. Latence en lecture < 5 ms pour 90 % des utilisateurs de la planète.

Pour les applications serverless, c’est une killer feature. Une fonction Vercel dans us-east lit depuis la base globale Upstash — et l’utilisateur à Singapour reçoit les données avec une latence comme depuis un datacenter local.

Intégrations

SDK pour TypeScript, Python, Go. Intégration directe avec Vercel, Netlify, Cloudflare Workers, AWS Lambda. L’API REST permet de travailler avec Redis depuis n’importe quel environnement sans connexion TCP (Cloudflare Workers, Deno Deploy).

La bibliothèque @upstash/redis pour TypeScript est l’une des meilleures de l’écosystème. Typage complet, support des pipelines, transactions, pub/sub. Documentation avec des exemples pour chaque framework.

Limitations de l’approche serverless

Taille maximale de la valeur : 10 Mo pour Redis. C’est suffisant pour le cache, les sessions, les limites de débit, mais pas pour le stockage de fichiers.

Le connection pooling dans un environnement serverless est un problème. Upstash le résout via l’API HTTP, mais la performance des requêtes HTTP est inférieure au protocole Redis natif. Pour les chemins critiques avec des exigences de latence en microsecondes — déployez un Redis classique.

Vendor lock-in modéré : l’API est compatible avec Redis, les données peuvent être exportées, mais la réplication globale et l’API REST sont des surcouches propriétaires. Revenir à un Redis classique est possible, mais les fonctionnalités seront perdues.

Verdict

Upstash est le Redis idéal pour le monde serverless. Le niveau gratuit couvre les hackathons et les projets personnels. Le paiement à l’usage est plus honnête que la location mensuelle d’une instance qui est inactive 90 % du temps. Si votre stack est Vercel/Netlify/Cloudflare Workers, Upstash est pratiquement sans alternative. Pour les monolithes classiques sur VPS — un Redis classique dans Docker reste plus simple et plus rapide.