Dočasná stránka počas migrácie webu | Platon.SK Blog

7

okt

Dočasná stránka počas migrácie webu

U nás v Platon Technologies sa neustále niečo migruje. Buď klasický webhosting na virtuálny server, alebo virtuálny server na fyzický dedikovaný server, alebo dedikovaný server na tzv. cluster, čo je viacero serverov vykonávajúcich tie isté úlohy.

Ak má už zákazník svoj cluster s niekoľkými servermi (spravidla párny počet) a dynamicky rastie, pridávame mu do clusteru ďalšie servery (opäť väčšinou párny počet).

Ak sa náhodou nedeje nič z uvedeného, tak potom migrujeme aspoň virtualizačné platformy a konvertujeme virtuálne servery, tak ako je to napríklad popísane v tomto článku. Inými slovami — vždy je čo migrovať.

Ak sa však migruje existujúci projekt, ktorý má svojich návštevníkov a zákazníkov, je dobré im dať o tom vedieť e-mailom niekoľko dní vopred. To je obvykle úloha zákazníka. Našou úlohou však je informovať návštevníkov migrovanej stránky krátkym oznamom v čase keď sa migrácia vykonáva. Je jasné, že je lepšie keď sa zobrazuje krátky oznam o migrácii, ako nefunkčná stránka plná chýb, varovaní a podobne.

Najčastejšie sa migruje zo zdieľaného hostingu bežiaceho s webserverom Apache2 na server s nginx. Keď nemusíme, Apache nepoužívame.

Zhruba deň pred začatím migrácie najskôr znížime DNS TTL na migrovanej doméne na hodnotu cca. 5 minút. Potom po začatí samotného procesu migrácie na zdieľanom hostingu pridáme do .htaccess súboru nasledujúci kód:

RewriteCond %{REQUEST_URI} !/migration.html$
RewriteRule ^.*$ /migration.html [R=302,L]

Veľmi doležité je aby oznamovacia stránka mala svoju vlastnú unikátnu URL, aby nám náhodou neprepísala zaindexované stránku v Google a iných vyhľadávačoch. Každá iná podstránka webu bude dočasne presmerovaná na túto oznamovaciu stránku. Presmerovanie musí byť typu 302, čo znamená dočasné presmerovanie. Zadať trvalé presmerovanie 301 by sa rovnalo katastrofe. Rovnako tak chceme aby uvedená stránka migration.html bola zo zrejmých dôvodov neindexovateľná, tj. NOINDEX,NOFOLLOW.

Stránku migration.html si samozrejme pripravíme vopred a mala by mať aspoň takýto minimalistický obsah:

<!DOCTYPE html>
<html>
    <head>
        <title>Migracia</title>
        <meta name="robots" content="NOINDEX,NOFOLLOW">
    </head>
    <body>
       Stranka sa migruje na novy server.
    </body>
</html>

Samozrejme nie je na škodu obohatiť informačnú stránku o ďalšie informácie, ako napríklad kedy bude opäť dostupná, kto vykonáva migráciu a podobne. Pridať môžete aj logo klienta. Výsledok môže teda vyzerať nejako takto:

Ukážka migračnej stránky

Týmto máme zabezpečené, že návštevníci budú informovaní a zároveň nebude možné na stránke vykonávať žiadnu aktivitu. Takže môžeme v pokoji urobiť posledný sync súborov, vydumpovať a presunúť databázu a všetko ešte naposledy otestovať pred spustením do produkcie na novom serveri.

Spustenie do produkcie je už potom jednoduchá záležitosť. Keďže TTL na doméne máme znížené, zmeníme iba IP adresu webstránky v DNS a do piatich minút sa stránka rozbehne. Píšeme síce, že fungovať to začne až ráno, ale spravidla sa to rozbehne už počas noci.

Kauza “Hazard”
Kauza Hazard

Pozrite si reportáž TV Markíza o našom prípade neoprávnenej pokuty 20,000 EUR


Rekordér medzi servermi bežal 2487 dní
1.2 2019

Posledný januárový deň roku 2019 nám priniesol malé melancholické výročie. V USA sme vypli server, ktorý mal uptime 2487 dní. To znamená, že bežal bez prestávky, bez výpadku a bez reštartu takmer 7 rokov -- presnejšie 6 rokov, 9 mesiacov a 23 dní. Za ten čas prežil niekoľko DDoS útokov, ale aj zopár výpadkov elektriky, od ktorých ho zachránilo najmä to, že mal dva zdroje napájané z dvoch nezávislých vetiev. Se

čítať ďalej