Alle Case Studies

Case Study · Infrastruktur / Platform Engineering

GCH-Migration zu Cloudflare

Das App-Portfolio von Greater Change Health von einem einzelnen geteilten VPS auf das Edge-Netzwerk von Cloudflare und von Supabase zu Neon Postgres bringen - eine App nach der anderen.

  • Jahr2025–2026
  • LeistungenMigration zu Cloudflare · Datenbankmigration · Plattform-Modernisierung
Neu gestaltete Website von GCH-Migration zu Cloudflare

Projektüberblick

Ein VPS, ein Migrationsmuster, wiederholt über ein ganzes Portfolio.

Die Abrechnungsplattform von Greater Change Health und Nora waren zwei von rund acht Kundenanwendungen, die wir ursprünglich auf einem einzigen geteilten VPS ausgeliefert hatten. Als das Portfolio wuchs, haben wir es samt Nachbar-Apps auf das Edge-Netzwerk von Cloudflare und von Supabase zu Neon Postgres migriert - jede Anwendung als eigenes, geordnetes Migrationsprojekt.

Die Herausforderung

Ein geteilter VPS ist einen Vorfall davon entfernt, alle Kunden lahmzulegen.

01 / 02

Rund acht Kundenanwendungen, darunter die Abrechnungsplattform von Greater Change Health und Nora sowie mehrere interne Dashboards, liefen alle auf einem Ubuntu-VPS. Der kostenlose Supabase-Tarif begrenzt auf zwei aktive Datenbanken pro Konto, ein wachsendes Portfolio bedeutete also, mehrere Supabase-Konten zu jonglieren, nur um jede App im kostenlosen Tarif zu halten.

Was wir getan haben

App für App migrieren, jeden Schritt prüfen.

02 / 02

Wir haben jede Anwendung als eigenes Migrationsprojekt behandelt: jede Next.js-App von 14 auf 15 (React 18 auf 19) über OpenNext portiert, damit sie als Cloudflare Worker läuft, und jede Postgres-Datenbank zu Neon gebracht, dessen kostenloser Tarif bis zu 100 Projekte pro Konto erlaubt statt zwei bei Supabase. Die Daten zogen über idempotente, rein lesende Skripte um, die jede Zeile aus der REST-API von Supabase holten und die Zeilenzahlen vor der Umstellung prüften, und jede Domain lief zunächst nur über DNS und bestand einen Login- und Daten-Smoke-Test, bevor der Cloudflare-Proxy aktiviert wurde - der ursprüngliche VPS blieb die ganze Zeit als Rückfall aktiv.

Was die Migration wirklich bedeutete

Echte Edge-Runtime-Probleme, nicht nur ein Hosting-Wechsel.

01

Keine nativen Node-Addons

Workers können kein natives bcrypt ausführen, daher wechselte das Passwort-Hashing je nach App zu bcryptjs oder Web Crypto.

02

Standardmäßig zustandslos

Apps, die Daten in lokalen JSON-Dateien speicherten oder einen dauerhaften Postgres-Pool brauchten, benötigten echte Änderungen am Datenspeicher: Cloudflare D1 für Nora, Neons Serverless-Treiber für den Rest.

03

Subtile Unterschiede in der Datenstruktur

Neons Treiber liefert native JS-Datumswerte, wo die REST-API von Supabase Strings lieferte, und alte Supabase-Auth-Cookies waren so groß, dass sie Nginx zum Absturz brachten. Beides musste gefunden und behoben werden, statt es wegzudefinieren.

04

Eine geordnete DNS-Umstellung

Zuerst zogen die Mail-Einträge um, dann wechselte jede App erst nach bestandenem eigenem Smoke-Test von reinem DNS auf den Proxy - mit dem ursprünglichen VPS als aktivem Rückfall.

Die Ergebnisse

Ein Portfolio, gebündelt auf einer Edge-Plattform.

Das Ergebnis: das Postgres eines ganzen Kundenportfolios gebündelt in einem Neon-Konto statt in mehreren Supabase-Konten, die nur zur Einhaltung der Gratis-Limits getrennt waren, und rund acht Anwendungen von einem geteilten VPS auf das Edge-Netzwerk von Cloudflare umgezogen - die meisten mit neu gebauter Identitätsschicht, da Neon keinen Auth-Dienst mitbringt wie Supabase. Jede App behielt ihren eigenen Rückfallweg, bis ihre Umstellung geprüft war.

Über Ihr eigenes Projekt sprechen
Mit den Gründern sprechen

Finden wir die richtige Form für Ihr Projekt.

Bringen Sie Ziele, Einschränkungen und die chaotischen Teile mit. Wir machen daraus einen klaren nächsten Schritt.