Zalecenia do infrastruktury¶
Dla kogo są te zalecenia?¶
- zespoły serwisowe (w tym dedykowane)
- zespoły wdrożeniowe
- zespół sprzedażowo-projektowy
Podstawowe założenia¶
-
Środowisko produkcyjne powinno być odseparowane od środowisk deweloperskich, min. na poziomie logicznym (osobne wirtualne maszyny). Idealnym rozwiązaniem jest separacja na poziomie fizycznym (osobne serwery).
-
Użytkownicy końcowi klienta pracują na dedykowanych stacjach roboczych.
-
Serwer terminali służy do wsparcia klienta przez pracowników Sente. W awaryjnych wypadkach mogą też podłączać się do niego użytkownicy końcowi klienta, żeby móc korzystać z klienta desktopowego, ale trzeba to uwzględnić przy doborze parametrów serwera (w tym odpowiednia ilość licencji CAL).
Komponenty produkcyjnego systemu Teneum¶
-
Wymagane:
- Neos (serwer)
- główna baza danych systemu (Firebird)
- baza EDA (PostgreSQL) (Neos ≥ 5.4)
- Klient Desktop
- Klient Web
- Starter
- serwer http hostujący pliki Klienta Desktop
-
Opcjonalne:
- serwer proxy (tylko jeżeli klient nie posiada dedykowanego rozwiązania do kierowania ruchem między siecią WAN i LAN)
Dobór serwera¶
Podstawą do odpowiedniego dobrania parametrów serwera jest kalkulator Arkusz wymagań sprzętowych.
Uwaga!
Wartości obliczane przez kalkulator są wymaganiami minimalnymi dla systemu Teneum. Kalkulator nie uwzględnia zasobów systemowych potrzebnych do działania np. serwera PostgreSQL lub serwera http hostującego pliki Startera.
Uwaga!
Wartości obliczane przez kalkulator nie zawsze odpowiadają rzeczywistym parametrom sprzętu dostępnego na rynku.
Przykład
Ilość pamięci obliczonej przez kalkulator to 60GB. Wiadomo, że na rynku nie są dostępne kości pamięci o takiej wielkości. Najbliższa poprawna wartość w tym wypadku to 64GB, ponieważ tyle RAMu można już zakupić. Zawsze warto w takim wypadku zaokrąglić w górę, żeby utworzyć dodatkowy bufor na wypadek przyszłego skalowania serwera.
Przykładowa specyfikacja
Zakładamy, że docelowa ilość użytkowników po stronie klienta będzie wynosić łącznie 200 (150 dla klienta Web, 50 dla klienta desktop). Zakładamy również dostęp dla 5 użytkowników po stronie Sente, którzy będą korzystać z serwera terminali. Po wprowadzeniu ilości userów do "Arkusza wymagań sprzętowych" otrzymujemy następujący wynik:
Obliczenia arkusza zawierają wymagania dla serwera Neos, bazy danych systemu i serwera terminali.
Zakładając, że dysponujemy odpowiednim budżetem i zależy nam na komfortowej pracy, bierzemy pod uwagę "Zalecane wymagania".
Po przejrzeniu ofert na serwery szybko można ustalić, że:
-
najbardziej zbliżony do wyliczonej ilości rdzeni procesor będzie miał następujące parametry: 2 x 3.00GHz, 24 Rdzenie, 35.75MB Cache
-
najbardziej zbliżona do wyliczonej ilość pamięć będzie miała następujące parametry: 2 x 64GB, 3200MHz, DDR4 RDIMM, Dual Rank
-
najbardziej zbliżony do wyliczonej ilość dysk SSD będzie miała następujące parametry: 1 x 960GB SSD SATA, Hot-Plug, 6Gb/s, 2,5\"
Końcowa specyfikacja i kosztorys:
DELL PowerEdge R740
Konfiguracja serwera¶
Serwer może być zwirtualizowany w dowolny sposób, np. VMware, KVM, Proxmox czy Hyper-V. Zalecanymi i najbardziej powszechnymi rozwiązaniami są obecnie narzędzia linuxowe, tj. KVM czy Proxmox.
- Schemat
-
Oprogramowanie:
- system Windows Server: 2019
- .NET Framework: 4.8
- system Linux Debian: 9+
- Teneum (Neos, Klient Desktop): 6.1
- serwer db Firebird: .2.5.8+
- serwer db PostgreSQL: 9.6+
- serwer proxy nginx: najnowsza dostępna w wybranej dystrybucji i wersji Linuxa