Migracija bez prekida rada · Procjena
Prelazak na novi sistem dok stari i dalje radi
Za migraciju koja se stalno odgađa: dvosedmični pisani plan koji uključuje i put nazad. Američki marketplace prešao je s PHP-a na Node.js bez prekida rada.
FormatPisana procjena
Rok2 sedmice za plan
CijenaProcjena po fiksnoj cijeni · rad po satu
Dokaz3 projekta
Procjena u 4 dijela
01 · Kada vam treba
Ako su dvije od ovih tačne, ovo vam odgovara.
- Migracija je odgođena tri puta
- Planirana je za subotu u tri ujutro
- Niko ne zna kako biste se vratili nazad
- Novi sistem je gotov i mjesecima čeka
- Plaćate oba, i to duže nego što je planirano
02 · Šta dobijate
Plan određuje:
- Redoslijed kojim se dijelovi sistema prebacuju i jednu stvar koja ostaje nepromijenjena dok traje migracija. Najčešće je to interfejs, šema ili adresa.
- Put nazad, napisan kao procedura koju neko može provesti u tri ujutro, a da ne mora donijeti nijednu odluku.
- Koji dijelovi rade u oba sistema istovremeno, koliko dugo i kako se ta dva sistema za to vrijeme drže usklađenima.
- Mjerenje po kojem se zna da se stari sistem može ugasiti, umjesto datuma koji je neko odredio na sastanku.
03 · Kako odlučujemo
KORAK 01Jedna stvar ostaje nepromijenjena.Na jednom američkom marketplaceu zadržali smo MySQL bazu dok su se jezik, framework, hosting i mobilne aplikacije mijenjali. Tako smo imali fiksnu tačku prema kojoj smo provjeravali ponaša li se nova verzija kao stara.
KORAK 02Sinhronizacija u oba smjera.Zapis napravljen u novom sistemu pojavi se i u starom, i obrnuto, sve dok se koriste oba.
KORAK 03Put nazad ne smije zavisiti od onoga što mijenjate.Ako povratak zavisi od dijela koji zamjenjujete, kvar na tom dijelu blokira i put nazad.
KORAK 04Stari sistem se gasi kad ode posljednji korisnik.Analitika pokazuje ko ga još koristi. Kod mobilnih aplikacija to potraje, jer korisnik ažurira aplikaciju kad mu se prohtije, a gašenje starog backenda pokvarilo bi verziju koja mu je još na telefonu.
Detaljnije na blogu:S rollbackom od nekoliko sekundi mogli smo s PHP-a na Node preći danju
04 · Ako ništa ne nađemo
Ponekad se pokaže da migracija uopšte nije potrebna. Dokument tada navodi razloge.
Dokaz
Gdje smo ovo već radili
Projekat 04 · MarketplaceNula prekida radaAmerički marketplace prešao je s PHP-a na Node.js bez ijednog prekida rada. Dvije baze bile su sinhronizovane u oba smjera više od godinu dana, a povratak nazad bio je promjena origina na CDN-u, gotova za nekoliko sekundi.Pročitajte više o projektu →Projekat 09 · Identitet1 radni danNacionalni sistem identiteta postepeno je prešao sa starog registra: svaki mjesec je iz njega povlačio podatke, a oba sistema su sve vrijeme radila.Pročitajte više o projektu →Projekat 13 · Podaci15 min → 0,2 sSkladište podataka za izvještaje ponovo smo izgradili ispod BI alata čiji su upiti i šema morali ostati potpuno isti. Izvještaj za najvećeg kupca sada se otvara za dvije desetinke sekunde, a ranije mu je trebalo više od petnaest minuta. Svi sačuvani izvještaji kupaca nastavili su raditi.Pročitajte više o projektu →
Česta pitanja
Pitanja o ovoj usluzi
Pristup za čitanje koda i šeme oba sistema i neko ko zna zašto se stari sistem ponaša onako kako se ponaša. Dvije sedmice počinju teći kad dobijemo taj pristup. Za plan nam ne trebaju produkcijski podaci.
Možemo, kao poseban angažman. Dogovaramo ga nakon plana, jer tek tada znamo koliko dugo će dva sistema morati raditi paralelno.
Dok podaci ne pokažu da se stari više ne koristi. Na najdužoj migraciji koju smo radili to je trajalo više od godinu dana.
Sljedeći korak
Opišite problem i javit ćemo vam se s tri opcije.
Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.