Provoz stránky se skládá z následujících prostředí:
- live prostředí - zde běží samotná živá aplikace
- staging prostředí - předprodukční prostředí pro finální test funkčnosti před nasazením
- feature preview - prostředí pro testování nových funkcí a oprav chyb
lokální dev prostředí - lokální vývoj funkcí a oprav chyb
Live prostředí
Toto prostředí zahrnuje provoz samotné stránky, na kterou přistupují zákazníci z externího prostředí (internetu). Navrhujeme ho provozovat na více fyzických serverech s ohledem na výkon a vysokou dostupnost.
Na serverech bude provozován operační systém Linux (distribuce Debian). Servery jako takové jsou pronajímané od hostingu (Hetzner Hetzner a spravované firmou ui42.
Staging prostředí
Toto prostředí slouží na finální kontrolu změn, které jsou připravené na nasazení do živého provozu. V procesu nasazování změn na něm probíhají unit testy, integrační seleniové testy a v případě potřeby i ruční testování. Také slouží na testování úprav systémových nastavení a updatů systémových komponent pro živé prostředí.
Toto prostředí by mělo co do setupu prostředí co nejvěrněji replikovat živé prostředí. Z pohledu výkonu a dostupnosti však na něj nejsou takové nároky a proto ho navrhujeme provozovat na jednom fyzickém serveru, na kterém budou jednotlivé servery živého prostředí simulovány jako virtuální servery běžící na platformě OpenStack
Toto prostředí není veřejně přístupné. Přístup je povolený na základě IP pro klienta a ui42, případně pro třetí strany pro potřeby testování.
Feature previews
Pro potřeby vývoje a testování nových funkcionalit, jakož i opravy chyb se používá prostředí feature previews. Toto prostředí umožňuje mít samostatnou instalaci pro každou vyvíjenou funkcionalitu. Každá taková instalace má vlastní URL a je vytvořena automaticky, pokud vývojář zveřejní větev se změnami v repozitáři projektu. Instalace je zároveň automaticky smazána, když vývojář novou funkcionalitu dokončí a své změny začlení do hlavní vývojové větve.
Takové instalace umožňují jednoduché sdílení nových změn s klientem pro potřeby testování nebo zpětné vazby během vývoje.
Toto prostředí je provozováno na jednom fyzickém serveru, na kterém běží kubernetes cluster pro možnost instalace více instalací přes docker. Data pro tyto instalace jsou automaticky kopírována z live prostředí s tím, že se při kopírování anonymizují a ořezávají jen na potřebné minimum.
Pro potřeby projektu je feature previews prostředí dimenzováno na maximálně 10 současně rozpracovaných funkcionalit nebo oprav chyb.