Infrastruktura, na které běží vaše aplikace.

Vlastní železo, vlastní dohled. Vaši aplikaci provozujeme sami, od serverů přes zálohy po bezpečnost, a víte, kde leží vaše data.

Jak to funguje

Co se stane po kliknutí.

Návštěva vašeho webu projde čtyřmi kroky, od adresy po hotovou stránku.

Cesta návštěvy a nástroje kolem ní. Návštěvník otevře váš web. Prohlížeč si nejdřív v DNS zjistí adresu: odpoví mu Cloudflare, přes který ale samotná návštěva nejde. Návštěva sama pak přichází z veřejného internetu přes HTTPS a HTTP/3 do naší sítě, kde projde routerem MikroTik s firewallem a bránou HAProxy. Brána převezme šifrované spojení a podle domény pošle návštěvu na server XCP-ng, do virtuálního serveru s vaší aplikací. Aplikace zpravidla běží každá ve vlastním virtuálním serveru: na serveru jich je víc a v každém z nich, i ve vašem, běží agent Wazuh a exportér Prometheus. Bezpečnost: Suricata kontroluje kopii provozu z routeru MikroTik a CrowdSec blokuje útočníky na bráně HAProxy. Upozornění obou nástrojů sbírá Wazuh, který dostává data i od agentů z virtuálních serverů. Dohled: Uptime Kuma zvenku kontroluje, že služby běží, Grafana zobrazuje zátěž serverů v čase a Notifier, náš vlastní vývoj, který čte data z databáze a z heartbeatů Uptime Kuma a hlídá dostupnost, zálohy, platnost domén a certifikátů i chyby aplikací. Zálohy: Xen Orchestra zálohuje celé virtuální servery delta zálohami, takže se ukládají jen změny, a průběžnou replikací do úložiště záloh v Tršicích a v Prostějově.

Návštěvník

Otevře váš web

HTTPS a HTTP/3

Cloudflare

Odpoví jen adresou, provoz přes něj nejde

MikroTik

Router s firewallem

HAProxy

Brána: šifrování a směrování podle domény

Server XCP-⁠ng

  • Vaše aplikace

    Virtuální server

  • Další aplikace

    Virtuální server

  • Další aplikace

    Virtuální server

Aplikace zpravidla běží každá ve vlastním virtuálním serveru, v každém agent Wazuh a exportér Prometheus.

Bezpečnost

  • Suricata

    Kontroluje kopii provozu z routeru MikroTik

  • CrowdSec

    Blokuje útočníky na bráně HAProxy

  • Wazuh

    Sbírá upozornění, agent běží v každém virtuálním serveru

Dohled

  • Uptime Kuma

    Zvenku kontroluje, že služby na serverech běží

  • Grafana

    Zobrazuje zátěž každého serveru v čase

  • Notifier

    Vlastní vývoj: čte data z databáze a z heartbeatů Uptime Kuma, hlídá dostupnost, zálohy, domény, certifikáty a chyby aplikací

Zálohy

  • Xen Orchestra

    Zálohuje celé virtuální servery

  • Úložiště záloh

    Sem ukládá Xen Orchestra, v Tršicích a v Prostějově

  • Provoz návštěvníků
  • Dohled, řízení a DNS
  • Kopie provozu a upozornění
  • Zálohy
  • Tečka: tudy něco putuje

Název nástroje vede k jeho popisu níže.

  1. Nejdřív adresa. Prohlížeč si v DNS zjistí, kde web najde. U domén, které spravujeme, odpoví Cloudflare jen adresou, návštěva přes něj nejde.
  2. Pak vstup do sítě. Router MikroTik s firewallem pustí dál jen provoz, který na web patří.
  3. Potom brána. HAProxy převezme šifrované spojení a certifikáty Let's Encrypt si obnovuje sama.
  4. Nakonec server s vaší aplikací. Připraví stránku a brána ji pošle návštěvníkovi.

HAProxy

Směrování provozu: Jedna vstupní brána pro všechny weby: podle domény pošle každou návštěvu na správný virtuální server.

HTTP/3

Moderní protokol: Stránky se načítají rychleji, zvlášť na mobilu a při slabém signálu.

Servery

Údržbu necháte na nás.

Měsíční náklady máte předvídatelné, bez výkyvů cloudových účtů.

  • Zpravidla vlastní virtuální server. Výkon i nastavení tak ladíme jen pro vaši aplikaci.

PatchMon

Aktualizace: Balíčky na serverech aktualizujeme z jednoho místa a hlídáme jejich bezpečnostní nastavení.

GitLab CI/CD

Nasazování: Po schválení změny jde nová verze do provozu automaticky, zpravidla až po testech, na našich vlastních serverech.

Vysoká dostupnost

Když vypadne celá lokalita.

Provoz běží ve dvou lokalitách, v Tršicích a v Prostějově.

Vysoká dostupnost. Servery stojí ve dvou lokalitách: v Tršicích, které jsou hlavní lokalitou a kam jdou návštěvy, a v Prostějově, který je lokalitou záložní. Každá lokalita má vlastní adresu v DNS u Cloudflare. Cloudflare jen odpovídá adresou lokality, provoz přes něj nejde. Návštěva jde z adresy do routeru MikroTik s firewallem, dál do brány HAProxy a z ní do virtuálních serverů na serveru XCP-ng. Cesta do záložní lokality je čárkovaná, použije se po přepnutí DNS. Dva hlídači v Praze sledují obě lokality: Notifier hlídá signál z obou lokalit a Uptime Kuma je nezávisle kontroluje zvenku, spolu si ověřují výpadek. Až když se oba shodnou, že lokalita nefunguje, přepnou přes rozhraní Cloudflare adresu v DNS na druhou lokalitu. Každý virtuální server z obou lokalit čte a zapisuje do databáze YugabyteDB, která je kompatibilní s PostgreSQL, i do úložiště souborů S3. Obojí běží ve třech instancích, v Praze jako arbitr, v Tršicích a v Prostějově: data jsou ve třech kopiích a stačí, aby fungovala většina z nich. Notifier a Uptime Kuma řídí jen vstupní provoz, tedy DNS. Databáze a úložiště souborů zvládnou výpadek uzlu samy.

Cloudflare DNS

Odpoví adresou lokality, provoz přes něj nejde

  • Adresa v Tršicích

  • Adresa v Prostějově

TršiceHlavní lokalita

MikroTik

Router s firewallem

HAProxy

Vstupní brána

Server XCP-⁠ng

  • Virtuální server
  • Virtuální server
  • Virtuální server

ProstějovZáložní lokalita

MikroTik

Router s firewallem

HAProxy

Vstupní brána

Server XCP-⁠ng

  • Virtuální server
  • Virtuální server
  • Virtuální server

Hlídači v Praze

Hlídají obě lokality a spolu si ověřují výpadek. Přepnou DNS, až když se shodnou.

Data ve třech kopiích, stačí většina

  • Databáze YugabyteDB

    SQL, kompatibilní s PostgreSQL

    • Praha arbitr
    • Tršice
    • Prostějov
  • Úložiště souborů S3

    Soubory a média

    • Praha arbitr
    • Tršice
    • Prostějov

Obě lokality používají databázi i úložiště souborů.

  • Provoz návštěvníků
  • Záložní cesta návštěvníků
  • Hlídání a řízení
  • Přístup k datům
  • Replikace mezi uzly
  • Tečka: tudy něco putuje

Vrstvy

  1. 1 Cloudflare - vstup a DNS
  2. 2 Hlídači - detekce a rozhodnutí
  3. 3 Infrastruktura - dvě lokality
  4. 4 Databáze
  5. 5 Úložiště souborů

Notifier a Uptime Kuma řídí jen vstupní provoz (DNS). Databáze a úložiště souborů zvládnou výpadek uzlu samy.

Název nástroje vede k jeho popisu níže.

  • Data ve třech kopiích. Databáze YugabyteDB i úložiště souborů běží obojí ve třech instancích, výpadek jedné z nich provoz nezastaví.
  • Přepnutí na druhou lokalitu. Dva nezávislí hlídači výpadek ověří a teprve pak přepnou adresu v DNS na druhou lokalitu.

Zálohy

Zálohy leží mimo server.

Kopírujeme celé virtuální servery i s daty a posíláme jen změny.

  • V Tršicích i v Prostějově. Zálohy můžeme ukládat na dvě nezávislá úložiště, každé v jiné lokalitě.
  • Jak často a jak dlouho chcete. Interval záloh i dobu jejich uchování nastavíme podle domluvy, třeba každou hodinu, den nebo týden.

Xen Orchestra

Virtualizace: Virtuální servery na XCP-⁠ng, jejich snímky i zálohy spravujeme z jednoho místa.

Notifier

Vlastní vývoj

Řídicí centrum: Jedno místo pro všechny klientské projekty: zálohy, dostupnost webů, expirace domén a certifikátů, chyby aplikací i upozornění.

Bezpečnost

Hlídáme síť i servery.

Provoz kontrolujeme na jeho kopii, takže ochrana web nezpomalí.

Suricata a CrowdSec

Detekce útoků: Suricata kontroluje provoz na síti, CrowdSec blokuje útočníky rovnou na vstupu.

Wazuh

Bezpečnost: Nepřetržitě hlídá pokusy o průnik, změny souborů i podezřelé procesy.

Dohled

Vaše služby hlídáme.

Automatické kontroly běží nepřetržitě a při potížích upozorní nás.

  • Historie každého serveru. Zátěž si ukládáme, takže zpětně najdeme, kdy a proč se něco zhoršilo.

Aktuální stav služeb (otevře se v novém okně)

Uptime Kuma

Dostupnost: V krátkých intervalech kontrolujeme, že vaše služby běží.

Grafana

Přehled serverů: Procesor, paměť, odezva i provoz serverů na jedné obrazovce, v reálném čase.

Porovnání

Víc než hosting.

Běžný hosting vám pronajme místo, o aplikaci se ale staráte sami.

  • Člověk místo fronty požadavků. S problémem píšete přímo člověku, který servery s vaší aplikací spravuje.
  • Kdy vám stačí běžný hosting. Pro jednoduchý web bez vlastní aplikace je levnější a obvykle stačí.

Kde poběží vaše aplikace?
Napište nám.

Pošlete pár vět o tom, co provozujete. Ozveme se a domluvíme si první hovor.