Aktualizace databází

Aktualizace databází

V současné době používáme dva databázové stroje. Store 3 a 4. První a druhý store patřily starému Roští a už neexistují. Dnes jsme pár dní od přidání dalšího store serveru s databázemi MariaDB a PostgreSQL, na které budeme směřovat nově vytvořené databáze. Na tomto novém serveru se pár detailů změní. Ani ne tak z pohledu uživatele, ale interně. Pojďme se na to podívat.

Aktuálně řešíme dva problémy s aktualizací Debianu a databází na současných store serverech. Snažili jsme se dát dohromady nějaký plán, se kterým bychom se rychle dostali na podporovaný systém, zároveň nemuseli měnit verzi databáze, resp. to udělat později a kromě toho ještě vyzkoušet poslední verze MariaDB a PostgreSQL.

Rozhodli jsme se tedy oddělit databáze od systému pomoci Dockeru a udělat co nejdříve jejich migraci pryč. To by mělo proběhnout beze změn ze strany uživatele. Kromě několika krátkých nočních výpadků se nic dalšího nestane.

Vytvoříme také další store server pro nové databáze. Je to taková varianta na canary deployment, kdy se části uživatelů zpřístupní nová verze systému. V tomto případě to bude poslední verze MariaDB a PostgreSQL. Tento krok děláme z toho důvodu, že bychom rádi aktualizovali i node servery, kde ale po aktualizaci dochází k problémům se spojením do databáze. Nedokážeme si to zatím vůbec vysvětlit, takže chceme zkusit tuto cestu.

Co se tedy bude dít:

  • ☐ Nainstalujeme docker na současné store servery a pustíme databáze z kontejnerů. Pokud dojde ke změně verze databáze, tak jen v minor části verze.
  • ☑ Přidáme nový Store 5 s posledním Debianem a dockerem a poslední verzí MariaDB a PostgreSQL. Na ten pošleme kanárky, resp. nové databáze.
  • ☐ Přidáme nové stroje pro Store 3 a 4, které budou stejné jako Store 5, jen tam poběží databáze ve verzích jako na původních serverech.
  • ☐ Přesuneme data ze starých serverů na nové.
  • ☑ Pokud bude vše v pořádku na Store 5, vytvoříme nový node server, abychom vyzkoušeli Debian 10 s novými databázemi - jak na starých tak novém storu. Máme na to vytipované naše vlastní aplikace, které nefungovaly. Zároveň sem budeme posílat aplikace nové.

Poslední bod takového seznamu by měl být profit, ale v tomto případě to bude hlavně oddech. Plánujeme začít už tento víkend. Pokud bude nějaký krok vyžadovat výpadek, budeme ho dělat v noci. Hotovi chceme být během února. Tento post budeme postupně aktualizovat, abyste měli přehled o aktuálním stavu. Další informace budeme zveřejňovat na našem standardním kanále na Twitteru.