- Le serveur API est passé à Hono, le runtime à Bun et l’hébergement à Fly.io
Pourquoi migrer
- Besoin d’un serveur léger : nous voulions un serveur léger avec une simple API REST pour un endpoint de monitoring. Le serveur Next.js de Vercel embarque des fonctionnalités supplémentaires inutiles et est plus lourd. Nous avons utilisé Hono et Bun. Démarrage en 0.19ms et mémoire à 91MB
- Problème de prix : il était difficile de prévoir les coûts tout en maintenant un monitoring multi-région. Vercel ne facture que le temps CPU utilisé, mais les coûts augmentent avec la croissance du nombre d’utilisateurs. À l’inverse, Fly.io est moins cher
Défis pendant la migration
- Docker et monorepo : au départ, l’image Docker atteignait 2GB, ce qui était excessif, mais l’optimisation l’a réduite à 700MB
- Problèmes de timeout lors des déploiements Fly : les déploiements Fly expiraient souvent, il a donc fallu augmenter le délai d’attente. Les déploiements Fly sont moins stables que ceux de Vercel, et il n’existe pas de moyen rapide de revenir à la version précédente
- Bug de Bun : l’utilisation du runtime Bun a entraîné une hausse des échecs de requêtes, et il a fallu définir le paramètre
keepalive sur false
Conclusion
- La migration a été difficile, mais le résultat est satisfaisant.
- Bien sûr, nous apprécions toujours Vercel. Mais si vous avez besoin d’héberger des applications autres que Next.js, ce n’est peut-être pas le choix optimal
Aucun commentaire pour le moment.