Migrace do DigitalOcean

Na Twitteru už jste mohli postřehnout, že chystáme stěhování ze Scaleway do DigitalOcean. Psali jsme o tom i minulém zápisku a tento zápisek je jen popsání toho, co se bude v příštích týdnech dít.

Migrace se týká všech aplikací, které jsou hostovány v novém Roští, což jsou ty, co byly vytvořeny v posledních třech letech. Ze strany uživatelů není potřeba žádná spolupráce, pouze budeme měnit doménové názvy serverů, na kterých jsou aplikace hostované. Ty si prosím upravte ve svých skriptech či nastavení podle tabulky níže.

To nejdůležitější, migraci administrace, máme již za sebou. Neobešlo se to bez problémů, ale to už je za námi a také jsme díky nim upravili kontaktní formulář a schránku podpory tak, aby nebyla na našem mail serveru jakkoli závislá.

V druhém kroku musíme přenést servery pro aplikace. Rozhodli jsme se jít cestou, která je pro nás nejjednodušší, protože jednoduchý proces bude méně náchylný na chyby. Přeneseme aplikace ve dvou vlnách. V první půjdou aplikace, které používají databázi store3.rosti.cz. V druhé pak ty, co používají store4.rosti.cz.

Databázi už jsme přenesli a máme připravený skript, který je udělá finální synchronizaci. U aplikací je to složitější, protože budeme spojovat některé servery. Scaleway používá méně výkonné serverové procesory Atom, takže jsme na jeden stroj dávali méně aplikací. DO na druhou stranu má rychlé Xeony a dává i dostatek prostoru, takže limitujícím faktorem pro nás není procesor, ale paměť RAM a tam jsme schopni přesně říct, kolik aplikací může na jednom serveru být.

Prozatím plánujeme jednoduché spojení serverů podle následující tabulky. Později ho ještě upravíme po jednotlivých aplikací tak, abychom měli servery rovnoměrně zatížené. Zároveň přidáme čtvrtý, node-14, na kterém budou hostovány nové aplikace.

Původní server Nový server
alpha-node-4.rosti.cz node-12.rosti.cz
alpha-node-5.rosti.cz node-12.rosti.cz
alpha-node-6.rosti.cz node-13.rosti.cz
alpha-node-7.rosti.cz node-11.rosti.cz
alpha-node-8.rosti.cz node-11.rosti.cz
alpha-node-9.rosti.cz node-11.rosti.cz
node-10.rosti.cz node-14.rosti.cz

Pokud tato doménová jména používáte ve svých skriptech, tak je prosím změňte na nová. Stará přesměrujeme, ale na konci února je smažeme.

Status

  • 1.-2. února*: Úprava administrace – funkce pro notifikování uživatelů o změnách
  • 1.-2. února*: Úprava administrace – nástroje pro jednodušší migraci mezi servery
  • 3. února: v ranních hodinách*: Migrace alpha-node-7, 8, 9 a store3
  • 10. února: v ranních hodinách: Migrace alpha-node-4, 5, 6, 10 a store4
  • 28. února**: smazání starých doménových jmen

* Termíny nejsou pevné a mohou se změnit.

Kdy k jednotlivým krokům dojde ještě doplníme.

Celý proces je vzhledem k naší softwarové architektuře velmi přímočarý a není v něm moc prostoru na chyby. Kromě výpadku během přenášení by nemělo dojít k žádným dalším problémům. Před migrací se prosím přesvědčte, zda vaše aplikace přežije restart kontejneru. V administraci stačí kliknout na tlačítko restart.

Nedostupnost

Do migrace se pustíme během noci, přibližně od půlnoci a bude trvat kolem dvou až tří hodin. Během této doby budou aplikace nedostupné. Plánovali jsme to udělat mnohem rychleji s výpadkem maximálně několik minut, ale spojování serverů nám do toho hodilo trochu vidle.

K migraci dojde během následujících dvou týdnů a o krocích, které mohou ovlivnit dostupnost vaší aplikace budete informování emailem. Proto chceme do administrace přidat novou sekci podpory, kde vám budeme moci poslat notifikace o změnách a zároveň je patřičně cílit.

Jiných služeb, než hostingu aplikací, se migrace nedotkne. Emaily jsou umístěny na našich fyzických serverech v Master DC v Praze, stejně jako všechno okolo starého Roští a záloh.


Aktualizace 3.2.2018 4:00

Server node-11.rosti.cz už běží a jsou na něj přemigrovány všechny aplikace podle tabulky výše. Pokud vše půjde dobře, druhé vlně příští týden v pátek nic nebrání.

Aktualizace 3.2.2018 14:15

Kvůli nepatrnému překliku před pěti dny musíme dnes ještě na chvíli shodit všechny aplikace na node-11. Máme ho totiž ve špatné lokalitě. Půjde o jednodušší proces než z dnešní noci, protože to je přenesení 1:1 a aplikace by neměly být dole déle než pár minut. Akci provedeme mezi 1:00 a 3:00. Jinak vše běží v pořádku a nový stroj je zatížen podle očekávání.

Zatížení node-11.rosti.cz

Aktualizace 9.2.2018

Na zítřejší migraci je vše připraveno. Přes týden jsme nezaznamenali žádné problémy a tak nám nic nebrání v přenesení zbytku.

Aktualizace 9.2.2018 13:30

Aktualizovali jsme tabulku s doménovými názvy nodů. Prohodil se cílový node mezi alpha-node-4,5 a 6.

Aktualizace 10.2.2018 2:50

Všechny servery jsou přenesené. Děkujeme za trpělivost. Tahle zkušenost nám pomohla dopilovat role v Ansiblu a implementovali jsme kvůli ní notifikační systém do administrace, přes který vám můžeme posílat emaily, pokud se bude dít něco důležitého. Ale o tom ještě napíšeme nějaký článek. Prozatím dobrou noc.

Aktualizace 28.2.2018 18:00

DNS záznamy byly upraveny.