Webařské tipy

Bezvýpadkové nasazení webu

Na jednom projektu jsem vyzkoušela bezvýpadkové nasazení, kdy klient neměl při migraci webu za nový ani vteřinový výpadek.

O co vlastně jde

Ne vždy má člověk štěstí na to, aby dělal nový web od základu a občas je potřeba udělat obměnu původního webu, ať po stránce technologické (změna technologie, frameworgů, pluginů…) nebo vzhledové (nová šablona aj). A jsou “typy” webů, jejichž nasazení se neobejde bez výpadku, např. weby s e-shopy, rezervačními systémy apod.

Jak to řešit?

A jaké se nabízí možnosti ohledně procesu tvorby v těchto situacích?

  1. Odstavit původní web, nahrát tam nový a postupně ho tam tvořit:
    • řeší to sice problém s tím, že je jednodušší migrovat stará data do nového webu (protože vlastně žádná nová data nepřibudou)…
    • zákazníci nemůžou web používat, což je celkem nepřípustné.
  2. Tvořit web na subdoméně a následně ho přesunout na nové místo:
    • data je třeba synchonizovat s originálním webem, což je někdy hodně pracné (v případě e-shopu je ideální to nechat na začátek nového roku, protože začne nová účetní číselná řada a pod.),
    • klienti můžou web nadále používat,
    • (nejen) v případě změny hostingu se pak dá udělat i bezvýpadkové nasazení. (Bez změny hostingu by bylo potřeba se domluvit místo pro nový web “stranou” a pak prohodit adresy domény a subdomény).

Reálný příklad ze života

Nedávno jsem si takové bezvýpadkové nasazení vyzkoušela, ač to bylo jednodušší o to, že na původním webu přibývala nová data velice pomalu (neobsahoval e-shop nebo rezervační systém, pouze +- statické stránky a příspěvky na blogu).

atletika pacov

Jak to probíhalo

  1. Jako vždy jsem zajistila jsem požadavky, analýzu a cenový odhad a zjistila jsem, kdo a jak web spravuje (ať už změny obsahové nebo hosting a doménu jako takovou).
  2. Web jsem postupně tvořila na subdoméně:
    1. zmigrovala jsem obsah původního webu,
    2. přidala nový,
    3. aplikovala šablonu, přidala potřebné pluginy…
      • Zde pozor na jednu věc – např. WPBakery má identifikaci licence podle domény, kde je použita, proto bylo možné provést aktivaci až na konci, když byl web na správním místě (tj. až úplně nakonec).
  3. Když byl web skoro hotov, objednala jsem (pouze) hosting u nového poskytovatele (zde to byl OneBit).
  4. Dostala jsem přístupy na hosting
    • detail: protože nebyla ještě k dispozici doména, bylo třeba najít v administraci hostingu alternativní přístupy pro FTP.
  5. Ve svém počítači jsem namapovala IP adresu hostingu na cílovou doménu (najde se v administraci u OneBit) u sebe v počítači
    • v případně Windows je cesta: windows/system32/drivers/etc/hosts
    • formát je <ip adresa><1 nebo více mezer><jméno domény>
    • např. 77.75.74.176 www.sez.cz (odteď by bylo možné otevírat seznam.cz u sebe na počítači pod touto zkrácenou adresou)
  6. Na hosting jsem přenesla nový web, naplnila databázi a ověřila, že všechny cesty vedou tam, kam mají (na nový web, nikoli do Říma :-)) Diky mapování u mě v počítači šlo vše ověřit.
  7. Následně jsem použila kód od původního držitele domény a předala ho OneBitu, aby doménu přenesli k sobě. Zároveň jsem je poprosila, ať na webu nasadí SSL certifikát.
  8. Aplikovala jsem potřebné licence pluginů a šablon, případně provedla další potřebné změny.
  9. Hotovo – výpadek byl 0s.

Ráda jsem si tenhle postup vyzkoušela na zakázce, kde by případné problémy byly víceméně bezbolestné a vyřešila by je oprava a uctivá omluva klientovi za případné problémy. K tomu naštěstí nedošlo, vše proběhlo hladce. Je ale třeba říci, že v případě běžícího e-shopu nebo rezervačního systém by takové nasazení bylo o něco složitější kvůli převodu živých dat a tam by se to možná bez nějaké kratší odstávky neobešlo.

Vysvětlení termínů

Pokusím se (ač uznávám, že velmi stručně, možná trochu nepřesně) vysvětlit několik termínů, které jsem použila:

  • IP adresa: identifikátor počítače v síti
  • hosting: server, kde jsou uloženy všechny soubory webu – obrázky, zdrojové soubory, data v databázi…
    • V případě WordPressu se jedná zjednoušeně o všechen “statický” obsah (který se pak během používání a administrace WordPressu nemění, mimo přidávání obrázků, cache a několika dalších specialit).
    • “Dynamický” obsah (např. revize příspěvků, nastavení pluginů a pod. (jsou uloženy v databázi, která bývá někde “vedle” hostingu).
  • poskytovatel hostingu: služby jako OneBit, Forpsi, Wedos, a další… které za poplatek pronajmou “kus” serveru, který spravují, starají se o jeho správný běh a mnoho věcí, které to obnáší.
    • je možné web hostovat u sebe, např. mít doma nějaký počítač, který je připojený k síti a viditelný, ale je třeba počítat s tím, že musíte řešit zálohy, zabezpečení a další věci. Z mnoha ohledů je pronájem hostingu u poskytovatele jednodušší.
  • doména: je jméno počítače v síti. V podstatě jde o název webu (např. www.google.com), který je nasměrovaný na IP adresu hostingu.
    • Je možné přenést web na jiný hosting (s jinou IP adresou), kdy doména zůstane u původního poskytovatele, a pouze se nasměruje IP adresa na nový hosting.
  • poskytovatel domény: služba, kde si můžete doménu koupit. Náš národní nic.cz spravuje veškerý seznam těchto domén, proto lze ověřit na jejich webu, jestli je doména k dispozici nebo ne.
  • DNS: Domain name system je velice zjednodušeně tabulka obsahující mapování IP adres hostingů na domény.
    • Tyto IP adresy můžete zjistit velmi zjednodušeně pomocí příkazu ping v terminálu.
  • DNS server: Jsou rozeseté všude po světě a v podstatě umožňují fungování internetové sítě. Všechny obsahují tabulky s překlady domén na IP adresy.
    • Pokud se nějaké doméně změní IP adresa, je třeba na všech DNS serverech po světě, které toto mapování mají uložené, záznam změnit, což je obvykle v řádu hodin. Pomocí správných nástrojů je možné ověřit, že se změněný DNS záznam už propsal ve všech (alespoň hlavních) uzlech.

Jitka Klingenbergová

Jitka Klingenbergová

Absolventka ČVUT FIT oboru Informatika Programátorka | Webová vývojářka, konzultantka a mentorka
tvorime@vyladeny-web.cz

Líbil se vám článek? Pošlete ho dál:

Pravidelná dávka užitečných tipů až do schránky