- Der API-Server wurde auf Hono umgestellt, die Runtime auf Bun und das Hosting auf Fly.io
Gründe für die Migration
- Bedarf an einem schlanken Server: Für den Monitoring-Endpunkt wurde ein schlanker Server mit einer einfachen REST-API benötigt. Der Next.js-Server von Vercel bringt unnötige Zusatzfunktionen mit und ist schwergewichtiger. Daher kamen Hono und Bun zum Einsatz. Start in 0.19ms bei 91MB Speicher
- Preisproblem: Bei gleichzeitiger Aufrechterhaltung von Monitoring über mehrere Regionen hinweg waren die Kosten schwer vorhersehbar. Vercel berechnet zwar nur die genutzte CPU-Zeit, doch mit wachsender Nutzerzahl steigen die Kosten. Fly.io ist dagegen günstiger
Herausforderungen während der Migration
- Docker und Monorepo: Anfangs war das Docker-Image mit 2GB übermäßig groß, konnte durch Optimierungen aber auf 700MB reduziert werden
- Timeout-Probleme bei Fly-Deployments: Deployments auf Fly liefen häufig in Timeouts, sodass das Timeout-Limit erhöht werden musste. Im Vergleich zu Vercel sind Fly-Deployments weniger stabil, und es gibt keine Möglichkeit, schnell auf eine vorherige Version zurückzurollen
- Bun-Bug: Bei Nutzung der Bun-Runtime nahmen fehlgeschlagene Requests zu; der Parameter
keepalive musste auf false gesetzt werden
Fazit
- Die Migration war herausfordernd, aber das Ergebnis war letztlich zufriedenstellend.
- Natürlich wird Vercel weiterhin geschätzt. Wenn jedoch Hosting für andere Anwendungen als Next.js benötigt wird, ist dies möglicherweise nicht die optimale Wahl
Noch keine Kommentare.