Sve studije slučaja

Studija slučaja · Infrastruktura / Inženjering platformi

GCH migracija na Cloudflare

Prebacivanje portfolija aplikacija Greater Change Health-a sa jednog deljenog VPS-a na Cloudflare edge mrežu i sa Supabase-a na Neon Postgres, jednu po jednu aplikaciju.

  • Godina2025–2026
  • UslugeMigracija na Cloudflare · Migracija baza podataka · Modernizacija platformi
Redizajniran sajt - GCH migracija na Cloudflare

Pregled projekta

Jedan VPS, jedan obrazac migracije, ponovljen kroz ceo portfolio.

Platforma za naplatu Greater Change Health-a i Nora bile su dve od oko osam klijentskih aplikacija koje smo prvobitno postavili na jedan deljeni VPS. Kako je portfolio rastao, preselili smo ga, zajedno sa susednim aplikacijama, na Cloudflare edge mrežu i sa Supabase-a na Neon Postgres, tretirajući svaku aplikaciju kao zaseban, redom izveden projekat migracije.

Izazov

Deljeni VPS je jedan incident daleko od obaranja svih klijenata.

01 / 02

Oko osam klijentskih aplikacija, uključujući platformu za naplatu Greater Change Health-a i Noru, plus nekoliko internih tabli, radilo je na jednom Ubuntu VPS-u. Besplatni Supabase plan ograničava nalog na dve aktivne baze, pa je rastući portfolio značio žongliranje sa više Supabase naloga samo da bi svaka aplikacija ostala na besplatnom planu.

Šta smo uradili

Migracija aplikaciju po aplikaciju, uz proveru svakog koraka.

02 / 02

Svaku aplikaciju smo tretirali kao zaseban projekat migracije: svaku Next.js aplikaciju prebacili smo sa verzije 14 na 15 (React 18 na 19) preko OpenNext-a da bi radila kao Cloudflare Worker, a svaku Postgres bazu preselili na Neon, čiji besplatni plan dozvoljava do 100 projekata po nalogu umesto dva na Supabase-u. Podaci su preneti idempotentnim skriptama samo za čitanje koje su povukle svaki red iz Supabase REST API-ja i proverile broj redova pre prelaska, a svaki domen je prvo prešao na samo DNS i prošao smoke test prijave i podataka pre uključivanja Cloudflare proksija, dok je originalni VPS sve vreme ostao aktivan kao rezerva.

Šta je migracija zaista obuhvatala

Stvarni problemi edge okruženja, a ne samo promena hostinga.

01

Bez nativnih Node dodataka

Workers ne mogu da pokreću nativni bcrypt, pa je heširanje lozinki prešlo na bcryptjs ili Web Crypto, zavisno od aplikacije.

02

Bez stanja po podrazumevanju

Aplikacije koje su čuvale podatke u lokalnim JSON fajlovima ili zavisile od stalnog Postgres pool-a zahtevale su prave promene skladišta: Cloudflare D1 za Noru, Neon serverless drajver za ostale.

03

Suptilne razlike u obliku podataka

Neon drajver vraća nativne JS datume tamo gde je Supabase REST API vraćao stringove, a stari Supabase kolačići za autentifikaciju bili su toliko veliki da su rušili Nginx. Oba problema morala su da se pronađu i reše, a ne da se pretpostavi da ih nema.

04

Redom izveden prelazak DNS-a

Prvo su preseljeni mejl zapisi, a zatim je svaka aplikacija prelazila sa samo DNS-a na proksi tek posle sopstvenog smoke testa, uz originalni VPS aktivan kao rezervu.

Rezultati

Portfolio objedinjen na jednoj edge platformi.

Rezultat je bio Postgres celog klijentskog portfolija objedinjen na jednom Neon nalogu umesto na više Supabase naloga razdvojenih da bi ostali u besplatnim limitima, i oko osam aplikacija prebačenih sa jednog deljenog VPS-a na Cloudflare edge mrežu, većina uz iznova napravljen sloj identiteta, jer Neon ne uključuje servis za autentifikaciju kao Supabase. Svaka aplikacija zadržala je svoju mogućnost povratka dok njen prelazak nije potvrđen.

Razgovarajmo o vašem projektu
Razgovarajte sa osnivačima

Nađimo pravi oblik za vaš projekat.

Donesite ciljeve, ograničenja i nesređene delove. Pretvorićemo ih u jasan sledeći korak.