Prevádzka stránky sa skladá z nasledujúcich prostredí:
- live prostredie - tu beží samotná živá aplikácia
- staging prostredie - predprodukčné prostredie pre finálny test funkcionality pred nasadením
- feature preview - prostredie pre testovanie nových features a bugfixov
Live prostredie
Toto prostredie zahŕńa prevádzku samotnej stránky, na ktorú pristupujú zákazníci z externého prostredia (internetu). Navrhujeme ho prevádzkovať na viacerých fyzických serveroch s ohľadom na výkon a vysokú dostupnosť.
Na serveroch bude prevádzkovaný operačný systém Linux (distribúcia Debian). Servery ako také sú prenajímané od hostingu (Hetzner Hetzner a spravované firmou ui42.
Staging prostredie
Toto prostredie slúži na finálnu kontrolu zmien, ktoré sú pripravené na nasadenie do živej prevádzky. V procese nasadzovania zmien na ňom prebiehajú unit testy, integračné seléniové testy a v prípade potreby aj ručné testovanie. Takisto slúži na testovanie úprav systémových nastavení a updatov systémových komponentov pre živé prostredie.
Toto prostredie by malo čo do setupu prostredia čo najvernejšie replikovať živé prostredie. Z pohľadu výkonu a dostupnosti však naň nie sú také nároky a preto ho navrhujeme prevádzkovať na jednom fyzickom serveri, na ktorom budú jednotlivé servery živého prostredia simulované ako virtuálne servery bežiace na platforme OpenStack
Toto prostredie nie je verejne prístupné. Prístup je povolený na základe IP pre klienta a ui42, prípadne pre tretie strany pre potreby testovania.
Feature previews
Pre potreby vývoja a testovania nových funkcionalít, ako aj opravy chýb sa používa prostredie feature previews. Toto prostredie umožňuje mať samostatnú inštaláciu pre každú vyvíjajú funkcionalitu. Každá takáto inštalácia má vlastnú URL a je vytvorená automaticky, ak vývojár zverejní vetvu so zmenami v repozitári projektu. Inštalácia je zároveň automaticky zmazaná, keď vývojár novú funkcionalitu dokončí a svoje zmeny začlení do hlavnej vývojovej vetvy.
Takéto inštalácie umožňujú jednoduché zdieľanie nových zmien s klientom pre potreby testovania alebo feedbacku počas vývoja.
Toto prostredie je prevádzkované na jednom fyzickom serveri, na ktorom beží kubernetes cluster pre možnosť inštalácie viacerých inštalácií cez docker. Dáta pre tieto inštalácie sú automaticky kopírované z live prostredia s tým, že sa pri kopírovaní anonymizujú a orezávajú len na potrebné minimum.
Pre potreby projektu je feature previews prostredie dimenzované na maximálne 10 súčasne rozrobených funkcionalít alebo bugfixov.