Czym jest serwer – to po prostu komputer. Wszystko zależy od tego, co na nim zainstalujemy i jak go będziemy używać. Dlatego nie będę się rozpisywał na temat możliwości a po prostu postaram się w miarę zwięźle opisać, jak to funkcjonuje i sprawdza się całkiem dobrze w mojej w firmie od kilku lat.
Sprzęt
Każdy komputer przeznaczony na serwer składa się z kilku podstawowych podzespołów: płyta główna, procesor, pamięć ram, dysk, karta sieciowa i zasilacz.
Płyta główna i procesor – u mnie jest to po prostu stacja robocza bazująca na chipsecie Intel X99 i procesorze Intel Xeon E5 v3, której używam już od ładnych paru lat. Tu dodam, że warto wybierać sprzęt przeznaczony co najmniej na stacje robocze. Głównie ze względu na fakt „teoretycznie” lepszych komponentów. Choć komputer do zastosowań biurowych dla początkującej mikrofirmy też wystarczy, pod warunkiem, że nie zamierzamy korzystać z niego 24/7/365 (ponieważ ten sprzęt nie został stworzony zmyślą o ciągłej pracy). Jednak nie wszystkie firmy implementują w tej klasie sprzętowej niektóre przydatne w serwerach technologie. Głównie chodzi o wsparcie różnego typu wirtualizacji.

Pamięć RAM – co do pamięci RAM, używam niskotaktowanej pamięci ECC, a to ze względu na to, że w przypadku zastosowań produkcyjnych, liczy się bardziej stabilność pracy, niż szybkość. W moim przypadku sprawdza się 64 GB. A to ze względu, że niektóre okresowo działające procesy i użytkownicy potrzebują zarezerwować na stałe większą część pamięci RAM. Reszta przydzielana jest dynamicznie, w zależności od potrzeb. Jednak przez większość czasu 32 GB jest aż nadto. Staram się, by każdy użytkownik pracujący na serwerze miał do dyspozycji średnio od 2 do 8 GB RAMu (min. 2 GB, max. przydzielane dynamiczne to 8 GB).
Dysk twardy – powiem tylko, że do serwera należy używać dysków do serwera. I nie ma co na tym elemencie oszczędzać. Tu liczy się niezawodność i stabilność pracy. Jak padnie płyta główna czy karta graficzna, te części można bez problemu wymienić. Jak padnie dysk twardy, są małe szanse na odzyskanie danych i na pewno te szanse nie będą tanie. Poza tym, na danych zgromadzonych na serwerze opiera się przecież praca w firmie. Nie namawiam do inwestowania od razu w dyski SAS. Ja przyzwyczaiłem się do dysków Western Digital Re, ale śmiało można używać dysków serwerowych SATA innych firm.

Nie używam kontrolerów RAID. Stosuje redundancje, ale korzystam z wersji programowej RAID (dlaczego i jak, o tym później).
Pendrive – tu umieszczony jest podstawowy system operacyjny. Jest on potrzebny wyłącznie przy uruchomieniu serwera.
Karta graficzna – brak. Przyznam, że były zamontowane: przy instalacji i konfiguracji podstawowego systemu oraz przez pewien czas w celach produkcyjnych. Obecnie nie karta graficzna jest potrzebna, więc nie ma potrzeby by była w serwerze i zużywała bezczynnie prąd (w wielu serwerach, podstawowa karta graficzna jest czasami zintegrowana z płytą główną, jednak na mojej platformie opartej na Intel X99 jej nie ma).
Karty sieciowe – ich ilość i przepustowość zależy głównie od potrzeby i infrastruktury w firmie. Od razu mówię, że przynajmniej jedna dodatkowa karta sieciowa to minimum 2- lub 4-portowa. W opisywanym rozwiązaniu mam dwie 4-portowe 1 Gbit karty Intela, z czego 4 porty są przekierowane bezpośrednio do maszyn wirtualnych (ponieważ wymagają większej przepustowości). Jak na razie nie ma potrzeby przechodzenia na karty 10 Gbitowe.
Zasilacz do wyboru. Z racji tego, że nie używam kart graficznych w serwerze, nie potrzebuję dużej mocy. Ważna jest stabilność napięć i sprawność. W opisywanym serwerze od lat działa średniej mocy zasilacz, lecz z certyfikatem 80 PLUS PLATINUM i nie było z nim kłopotów.
Oprogramowanie
O ile w doborze sprzętu można pozwolić sobie na różnorodność, o tyle oprogramowanie jest dobrane i dopasowane pod moje potrzeby. W prywatnej firmie liczą się koszty, a oprogramowanie do wielu z nich może czasami kosztować więcej, niż początkowy budżet niejednego ze startupów. Dlatego przedstawiam wg mnie tani serwer firmowy o dużych możliwościach i elastyczności. Pamiętajmy, że jest on przeznaczony dla 5 – 10 aktywnych użytkowników biurowych.
I tak na pierwszym miejscu znajduje się ESXi (popularny hypervisor firmy VMware o nazwie vSphere Hypervisor ) ładowany przy starcie z pendriva do RAMu. Dlatego specjalny dysk startowy jest niepotrzebny. Dla bezpieczeństwa, przy okresowej konserwacji serwera, robię klon pendriva – wiadomo, wiecznie działać nie będzie i warto mieć zastępstwo. Jeżeli ktoś korzysta ze sprzętowego RAIDu, może zainstalować ESXi na na dwóch dyskach i zrobić Raid 1. Świetne rozwiązanie, ale należy pamiętać, że wtedy mamy zajęte i niewykorzystane dwa dyski w serwerze, a ESXi i tak załaduje się w RAM.

Ktoś mógłby się spytać: dlaczego nie Windows Server i Microsoft Hyper-V? A to dlatego, że kiedyś w serwerze znajdowały się karty graficzne, udostępniane/dedykowane dla konkretnych maszyn wirtualnych i użytkowników. ESXi daje możliwość GPU pass-through, czyli bezpośredniego udostępnienia/przypisania karty graficznej, pod konkretną maszynę wirtualną. W chwili obecnej Windows Server ma duże ograniczenia w tej kwestii. Co prawda w serwerze nie ma już kart graficznych, ale nie widzę sensu zmiany na Windows Server tylko z tego powodu.
pfSense znane i darmowe oprogramowanie opensource. To bazujący na dystrybucji FreeBSD firewall i router, wykorzystywany dla maszyn wirtualnych i nie tylko. Można równie dobrze podłączyć do niego inny sprzęt: komputer, drukarkę sieciową, monitoring, switch itp. Jak większość routerów zarządzać nim można przez aplikację webową i przeglądarkę internetową.
Debian GNU/Linux to wg mnie doskonały system operacyjny dla mojego serwera WWW, MySQL, FTP i SAMBA. Darmowy i bardzo stabilny system. Korzystam z niego w różnym stopniu już od wersji 3.0 i dlatego zapewne wybrałem go jako podstawowy system. Jednak mogę polecić też np. Ubuntu Server (też darmowy, bazujący na Debianie).

Na samym szczycie, do pracy codziennej każdy z użytkowników ma własną maszynę wirtualną z systemem Ubuntu GNU/Linux, dostosowaną do swoich potrzeb, z którą łączy się za pomocą terminala komputerowego lub zdalnie z domu. Dlaczego każdy ma swoją? Może nie jest to pozornie optymalne rozwiązanie. Jednak w przypadku, gdy podczas pracy jedna z osób „zrobi coś nie tak” lub „kliknie coś przypadkiem” i maszyna przestanie działać, to nie będzie to miało wpływu na innych. Daną maszynę wirtualną można zresetować bez szkody dla innych użytkowników serwera.

Powyższe rozwiązanie to tylko przykład funkcjonującej od lat niewielkiej infrastruktury sieciowej. Ma na celu pokazanie kilku rozwiązań pozwalających zaoszczędzić i tak zazwyczaj za mały budżet niewielkich firm.