[ vujkev @ 09.02.2016. 23:33 ] @
Zdravo,

Pitanje je veoma jednostavno: Kako preći na novi hosting, a pri tom imati downtime ravan nuli (ili max par minuta).

Sajt je urađen u .net-u (MVC)
Baza je SQL express 2012

Kopiranje samog sajta nije problem, promena DNS-a nije problem i to mi je jasno kako napraviti da dowtime bude 0. Problem je što treba da prebacim i bazu koja je trenutno oko 1GB i koja mora biti stalno dostupna i starom i novom serveru (dok traje propagiranje novog DNS-a).

Moja ideja je da u nekom trenutku uradim FULL backup baze na starom serveru, podignem bazu sa tim bekapom na novom serveru i u trenutku kad budem gasio stari hosting uradim samo Diff bekap baze. Taj diff bekap ću brže kopirati na novi server i ubaciti u bazu.
Što se tiče povezivanja novog servera na staru bazu (dok traje propagiranje DNS-a), mislio sam da na starom serveru u firewall-u otvorim port za direktan pristup SQL-u, dozvolim samo toj jednoj IP adresi (adresi novog servera) da prođe firewall i da novi server uzima podatke direktno iz stare baze dok ne dođe trenutak za prebacivanje i baze. Preuzimanje podataka će biti sporije, ali nadam se ne previše.

Ako je bitno prebacivanje bi trebalo da bude sa GoDaddy VPS na Amazon VPS

Da li ovo rešenje pije vodu i kakva je praksa u svetu za ovakve slučajeve?

Hvala unapred.
[ jablan @ 10.02.2016. 08:18 ] @
Ja bih izbegao da obe baze budu u funkciji neko vreme, ne znam koliko ti je komplikovano da uradiš taj DIFF copy, ali za većinu slučajeva to je no-no.

Ja bih razmišljao u pravcu:
1) uzimanje privremenog domena za novi server,
2) stopiranje baze i aplikacije na starom,
3) proxy call ili 302 redirect sa starog servera na novi domen dok se propagira DNS,
4) kopiranje baze na novi server,
5) dizanje aplikacije na novom serveru na oba domena,
6) kompletno gašenje starog servera.

Tako imaš downtime samo tokom kopiranja baze sa jednog na drugi server, ali su ti zato podaci konzistentni. Ako ti ni toliki downtime ne igra, pogledao bih koje su opcije za neku replikaciju baze.
[ vujkev @ 10.02.2016. 09:33 ] @
Nisam ni planirao da obe baze budu u funkciji istovremeno. Tačnije
biće podignute i dostupne istovremeno, ali će se u jednom trenutku
koristiti samo jedna od njih.
Na novom serveru bih podigao bazu sa full bekapom i ta baza bi stajala
u tom stanju dok kompletno ne pređem na novi server (dok se ne završi
propagiranje, ne dodam diff bekap i ugasim stari host). Podizanje nove
baze sam planirao u dva koraka samo da bih ubrzao kopiranje podataka
na novi host u trenutku gašenja starog.
[ jablan @ 10.02.2016. 09:42 ] @
Jasno, moj predlog onda ostaje, samo što se dodaje jedan korak pre (kopiranje full bekapa) a 4) postaje kopiranje diffa.

U principu verovatno može i kako si ti zamislio, ali ja sa tim rešenjem (povezivanje na SQL preko mreže) nemam iskustva. :(

[Ovu poruku je menjao jablan dana 10.02.2016. u 11:46 GMT+1]