Hardwarové a softwarové požadavky na serverové řešení
Úvod
Hardwarové požadavky
Softwarové požadavky
Docker
Virtuální stroj
Úvod
Easy Project je komplexní webová aplikace s řadou technických závislostí, které jí umožňují hladce fungovat. Existuje řada operačních systémů, databázových serverů, nástrojů atd. Pro dosažení optimálního výkonu a celkové funkčnosti jsme vybrali konkrétní sadu podporovaných komponent.
Existují dva způsoby, jak se vyhnout údržbě všech potřebných technologií kolem naší aplikace:
- Cloudové řešení – veškerá údržba je outsourcována na Easy => tento článek pro vás postrádá relevanci
- Docker – pokud potřebujete Řešení na vlastním serveru, údržba je prakticky outsourcována na mechanismy Dockeru
Hardwarové požadavky
Minimální požadavky na hardware
Tyto specifikace jsou pro 25 současně připojených uživatelů s průměrnou frekvencí požadavků za sekundu.
Procesor | AMD Ryzen 7 PRO 7745 |
Paměť | 4 GB |
Kapacita disku | ~ 50 GB (3 GB pro soubory databáze + dostatek pro přílohy) |
Další | Požadována síťová karta |
Serverové požadavky pro větší implementace
Tato tabulka je zjednodušeným souhrnem vyšších úrovní užívání serverového řešení.
Uživatelé | Vlákna / vCPU | RAM | HDD |
50 | 8 | 12 GB | 50 GB |
100 | 12 | 32 GB | 100 GB |
200 | 24 | 64 GB | 200 GB |
500 | 24 | 128 GB | 500 GB |
Hodnoty v tabulce nejsou přísně stanovené a celková konfigurace závisí na rozsahu a významu užívání Easy Project ve firmě. Stejně tak na frekvenci přístupů uživatelů a požadavků zasílaných na server.
Požadavky na internetové připojení
Připojení uživatele k serveru, na kterém běží Easy Project, musí být minimálně 10 Mbit. Je třeba vzít v úvahu celou cestu od uživatele k serveru, takže u geograficky vzdálených lokalit může reakce serveru trvat delší dobu, bez ohledu na deklarované připojení uživatele od poskytovatele. Samozřejmě je také faktorem šířka pásma serveru.
Softwarové požadavky
Abychom vyvíjeli kvalitní software, který lze nainstalovat na váš vlastní server a současně zajistili jeho stabilitu a správné fungování, je nutné použít prostředí, s nímž software nejlépe funguje a na kterém je pravidelně testován. Tabulka níže kombinuje požadavky pro přímou instalaci, nebo pro použití Dockeru.
Nástroje Dockeru jsou uvedeny tučně, protože pouze ty jsou skutečně potřeba, pokud se rozhodnete pro Docker řešení. V takovém případě nepředepisujeme nic jiného (ani OS). Z tohoto důvodu důrazně doporučujeme použít řešení založené na Dockeru – žádné potíže se závislostmi.
Pro přímou (legacy) instalaci musí správce serveru nainstalovat uvedené požadavky před novou instalací Easy Project nebo aktualizací/upgradem.
Typ požadavku |
Požadavek |
Aktuální (v14) |
LTS (v13) |
Historická (v12) |
Historická (v11) |
Historická (v10) |
Operační systém |
Debian |
12 | 11 | 10/11 | 10/11 | 10/11 |
---|---|---|---|---|---|---|
Operační systém |
Architektura |
amd64 | amd64 | amd64 | amd64 | amd64 |
Docker |
Docker engine | 27.3.1 | 24.0.5 |
20.10.22 | nepodporováno | nepodporováno |
Docker |
Docker compose | 2.29.7 | 2.24.0 | 2.15.1 | nepodporováno | nepodporováno |
Programovací jazyk | Ruby | 3.3.4 | 3.1.2 až v13.5.x 3.1.4 od v13.6.x |
3.1.2 | 2.7.x | 2.6.3 |
Aplikační server (automaticky instalován) |
Puma | 6.4.2 | 6.3.1 | 6.2.2 | ||
Webový server | Nginx | 1.20.x | 1.20.x |
1.20.x |
||
Databázový server | Percona |
8.x | 8.x | 8.x | 5.7+ | 5.7+ |
Databázový server | MariaDB | nepodporováno | nepodporováno | nepodporováno | nepodporováno | 10.3+ |
Databázový server | PostgreSQL | nepodporováno | nepodporováno | nepodporováno | nepodporováno | podporováno |
Další požadavky | Bundler | 2.3.7+ | 2.3.7+ | 2.3.7+ | 2.2+ | 2.1.x |
Další požadavky | Redis | 7.x | 5.x | 5.x | 5.x | 5.x |
Další požadavky | NodeJS | 20.16 | 18.17.1 | 18.8 | 14.16 | 14.16 |
Automaticky instalováno | Rails | 6.x | 6.x | 6.x | 6.x | 5.x |
Automaticky instalováno | Sidekiq | |||||
Automaticky instalováno | Zeitwerk | částečně podporováno není vyžadováno |
částečně podporováno není vyžadováno |
nepodporováno | nepodporováno | nepodporováno |
Automaticky instalováno | Xapian | 1.5.0 | 1.5.0 | 1.5.0 | 1.4.20 | nepodporováno |
Podporované webové prohlížeče (klient)
Jiné prohlížeče nejsou testovány. Internet Explorer není podporován. Z důvodu stability a bezpečnosti vždy udržujte svůj prohlížeč aktuální.
Podporované operační systémy (klient)
Samozřejmostí je, že použití aktuálních verzí webových prohlížečů vyžaduje aktuální/podporované operační systémy na počítači nebo mobilním zařízení. Obecným pravidlem je podpora dvou nejnovějších verzí operačních systémů. To platí pro Windows, MacOS, Linuxové distribuce a mobilní systémy.
Docker
S potěšením oznamujeme oficiální podporu pro provozování naší aplikace na technologii Docker. Eventuálně se stane primárním (a jediným) podporovaným řešením. Toto rozhodnutí přichází po rozsáhlém testování a interní adopci v našem celém Cloudu, což vedlo k výraznému zvýšení stability.
O co jde
Nejedná se pouze o technologický posun, ale také o změnu přístupu a procesu instalace/aktualizace. Zatímco tradiční (legacy) instalace vyžadovala mnoho příprav před tím, než jste mohli nainstalovat aktualizaci Easy Projectu, Docker řešení to umožňuje prakticky jediným příkazem. Není již potřeba navštěvovat Klientskou zónu pro stažení aktualizačního balíčku, není potřeba aktualizovat Ruby, NodeJS, databázový server, OS. Také se minimalizuje riziko chyby v sekvenci manuální instalace a eliminuje riziko instalace neotestovaného kódu (aktualizace gemů, které jsou nyní plně pod naší kontrolou).
Legacy |
Docker |
---|---|
Správce serveru spravuje závislosti | Easy spravuje závislosti |
Mnoho kroků pro aktualizaci aplikace | Aktualizace jediným příkazem |
Předepsaný operační systém | Libovolný operační systém (musí podporovat Docker engine a compose) |
Upgrade (velké) major verze vyžaduje mnoho příprav (často i migrace na nový server) |
Upgrade (velké) major verze se instaluje stejně snadno jako aktualizace mini verze (bug-fix) |
Riziko instalace neotestovaných závislostí (kvůli bundle update) |
Závislosti jsou předem sestavené v Docker image a testovány před vydáním |
Podrobnosti o procesu nasazení pomocí Dockeru jsou vysvětleny v tomto článku.
Virtuální stroj (VM)
Jednoduchým způsobem nasazení na vlastní server je pomocí virtualizace. Generujeme VM (ova image) na vyžádání, stačí jej spustit => prakticky není třeba nic instalovat.
Obsahuje již nainstalovaný Easy Project se všemi souvisejícími komponentami v podporovaných verzích. Nicméně, pro aktualizace aplikace bude muset správce serveru sledovat požadované verze potřebných komponent, protože současná podoba VM používá legacy způsob instalace.
Od verze 14 generujeme VM image s Dockerem uvnitř, což umožní velmi snadné počáteční nasazení a instalaci aktualizací.