Poniższy wpis odpowie m.in. na następujące pytania:
- Jakie są różnice między Windowsem i Linuksem w kontekście usług Data Center i cloud?
- Jakie zastosowania mają systemy operacyjne w chmurze w kontekście aplikacji biznesowych?
- W jakich sytuacjach wybrać dany system operacyjny?
1. Czym jest system operacyjny? #
System operacyjny (ang. operating system – OS) to oprogramowanie umożliwiające zarządzanie całym systemem komputerowym (sprzęt fizycznym i oprogramowaniem). Dzięki niemu możliwe jest uruchamianie programów oraz sprawowanie kontroli nad resztą zadań na komputerze. Nadzoruje on m.in. komunikację z urządzeniami podłączonymi do komputera, zapis plików na twardym dysku czy wyświetlanie informacji na ekranie.
Najpopularniejsze systemy operacyjne w chmurze, używane w ośrodkach Data Center to Windows Server oraz różne dystrybucje Linuksa.
2. Windows i Windows Server #
Systemy Windows dzielimy na dwie główne kategorie:
- Windows „konsumencki” przystosowany do użytku osobistego – dostępny m.in. w edycjach Home, Pro, Enterprise, instalowany na urządzeniach typu komputer stacjonarny, laptop czy tablet.
- Windows Server dedykowany do zastosowań Enterprise – instalowany głównie na fizycznych serwerach (np. typu Rack, Tower, Blade) oraz maszynach wirtualnych.
Z tego powodu możemy wymienić m.in. następujące różnice między nimi (dotyczy najnowszych edycji z danej kategorii):
Windows 11 Home | Windows Server 2022 Datacenter |
---|---|
Obsługuje maksymalnie 64 rdzenie procesorów | Obsługuje nieograniczoną liczbę rdzeni |
Obsługuje do 128 GB pamięci RAM (wersja Pro do 2TB) | Obsługuje do 24 TB pamięci RAM |
Skonfigurowany do wykonywania zadań na pierwszym planie | Skonfigurowany do wykonywania zadań w tle |
Przystosowany do obsługi aplikacji typu klient – łączących się z serwerami | Przystosowany do obsługi aplikacji serwerowych, baz danych i oprogramowania dla przedsiębiorstw |
Obsługuje 1 procesor | Obsługuje do 64 procesorów |
Systemy operacyjne w chmurze wykorzystywane w Data Center to głównie systemy Windows Server w środowiskach, natomiast wersje „konsumenckie” wykorzystywane są do pracy biurowej.
3. Linux #
Linux to rodzina systemów opartych na jądrze Linux, które bazują na otwartym kodzie źródłowym i w większości dystrybucji są dostępne dla użytkowników bezpłatnie. Charakteryzują się one elastycznością, stabilnością oraz dużą możliwością dostosowywania do różnorodnych zastosowań. Linux jest powszechnie stosowany w rozwiązaniach serwerowych. Posiada szeroką gamę dystrybucji takich jak Ubuntu, Debian i Fedora.
Dystrybucje Linuksa: #
- Red Hat (dokładnie Red Hat Enterprise Linux) – oferuje różne narzędzia i usługi wspierające zarządzanie infrastrukturą IT, w tym rozwiązania do wirtualizacji, zarządzania kontenerami, oraz chmurą hybrydową.
- CentOS – system ten jest najczęściej używany przez klientów, którzy potrzebują korzystać z narzędzia IdM (służącego do zarządzania tożsamościami w środowiskach informatycznych).
- Ubuntu – rekomendowany dla serwerów aplikacyjnych, kiedy klient nie ma specjalnych wymagań, wymuszających użycie innego systemu, takich jak wyżej wspomniany IdM. Dodatkowo Ubuntu jest open-source, co oznacza, że można go używać i dostosowywać bez opłat licencyjnych. Czyni go to dobrym wyborem zarówno dla małych jak i wielkich przedsiębiorstw.
Te dystrybucje Linuksa mają również wiele zastosowań w ośrodkach Data Center.
4. Systemy operacyjne w chmurze – Windows i Linux w aplikacjach biznesowych #
Każdy ze wspomnianych wcześniej systemów obsługuje szeroki wachlarz oprogramowania, natomiast nie każde oprogramowanie będzie działać w ten sam sposób na każdym systemie operacyjnym. Dzieje się tak z wielu powodów, np. oprogramowanie jest przystosowane do pracy na konkretnym systemie czy producenci oprogramowania wspierają tylko konkretne dystrybucje. Wówczas instalacja na nierekomendowanej dystrybucji może sprawić, że producent odmówi wsparcia w rozwiązywaniu problemu.
Windows #
Programy księgowe – większość programów księgowych jest instalowana na Windowsie ze względu na jego integrację z takim oprogramowaniem jak pakiet Office, są to m.in.:
- eNova
- Dynamics 365 Business Central
- Płatnik
- Comarch ERP Optima
Aplikacje biurowe – pakiet programów Microsoft Office jest zdecydowanie najpopularniejszy wśród aplikacji biurowych. Jako że jest on rozwijany przez firmę, do której należy system Windows, naturalnie pakiet ten jest przystosowany do pracy na tym systemie:
- Outlook
- Excel
- Word
- Teams
- OneNote
Oprogramowanie do zarządzania projektami – jest powszechne na Windowsie m.in. z uwagi na popularność tego systemu w środowiskach korporacyjnych. Kolejną zaletą jest synchronizacja niektórych programów do project managementu ze środowiskiem Microsoft 365 (np. Jira):
- Microsoft Project
- Jira
Linux #
Konteneryzacja – ze względu na architekturę, rozwój narzędzi konteneryzacyjnych, wydajność i skalowalność, systemy operacyjne w chmurze oparte na Linuxie oferują najlepsze środowisko do uruchamiania i zarządzania kontenerami:
- Kubernetes
- Docker
Serwery aplikacji i middleware – większość serwerów aplikacji i middleware jest open-source i domyślnie rozwijane są pod Linuksa. Pozwala to na lepszą integrację i optymalizację pod ten właśnie system:
- Apache Tomcat
- JBoss (WildFly)
Systemy zarządzania konfiguracją oraz systemy monitorowania i zarządzania – są wykorzystywane głównie na Linuksie ze względu na jego integrację z narzędziami open-source, wsparcie dla scriptingu i automatyzacji jak również niskie zapotrzebowanie na zasoby obliczeniowe CPU, RAM, storage:
- Ansible
- Zabbix
Tego rodzaju oprogramowanie jest wykorzystywane przez inżynierów Data Center, żeby sprawnie zarządzać i monitorować środowiska dedykowane jak również chmur współdzielonych.
Oba systemy #
- Wirtualizacja – najpopularniejsze systemy wirtualizacji umożliwiają postawienie na maszynie wirtualnej zarówno systemu Windows jak i Linux. Różnicą jest tutaj to, na jakim systemie można zainstalować dany hypervisor. Dla przykładu, Hyper-V musi być hostowany na Windows Server, a KVM na Linuksie. VMware vSphere natomiast musi być hostowany na Photon OS – minimalistycznym, opartym na Linuksie systemie stworzonym przez VMware. Powyższe hypervisory są podstawą usług chmury (publicznej, prywatnej), oferowanych przez dostawców Data Center.
- Oprogramowanie Eset – kompleksowe rozwiązanie antywirusowe dla firm. Można je zainstalować na obydwu systemach, natomiast oferuje o wiele więcej funkcjonalności na systemie Windows. Przykłady zabezpieczeń, które występują wyłącznie na Windowsie w ramach tej samej licencji: skanowanie podczas pobierania plików, skanowanie podczas bezczynności, blokada programów typu exploit.
- Apache HTTPS server – jest to wszechstronne oprogramowanie serwerów www kompatybilne zarówno z Windowsem, jak i Linuksem ze względu na jego open-source’ową naturę.
- Systemy zarządzania bazami danych – podobnie jak w przypadku Apache, model open-source oraz niezależność platformy powoduje, że oprogramowanie może być obsługiwane na obydwu systemach, natomiast w zależności od potrzeb jeden z systemów może być korzystniejszy niż drugi. Na przykład MS SQL Server może być zainstalowany zarówno na systemie Windows jak i Linux, jednak na systemie Linux istnieją ograniczenia – brak możliwości zainstalowania SQL Server Reporting Services (SSRS) oraz aplikacji do zarządzania SQL Server Management Studio (SSMS). Natomiast PostgreSQL będzie działał wydajniej na platformie Linux.
5. Różnice między Windowsem a Linuksem #
Licencjonowanie: #
Windows Server #
- Prawo jedynie do używania systemu – nie można go modyfikować ani powielać kopii plików systemu. Aplikacje na Windows Server często są licencjonowane per core, czyli wg liczby fizycznych rdzeni procesora. Zakupionej wersji systemu nie można podnieść np. gdy zakupimy Windows Server 2016, nie możemy podnieść go do wersji Windows Server 2022 – konieczny będzie wówczas zakup nowych licencji.
- OEM – licencja ta wiąże sprzedaż oprogramowania z konkretnym sprzętem. Oznacza to, że gdy sprzęt ulegnie uszkodzeniu, licencji nie da się przenieść na inne urządzenie.
- Microsoft Volume Licensing – rodzaj licencjonowania zbiorowego, co oznacza, że wykorzystywana jest jedna licencja do autoryzowania wielu urządzeń. Ten rodzaj licencji różni się od OEM tym, że nie jest przywiązany do konkretnego urządzenia. Przeważnie wykorzystywana w Data Center.
Linux #
W niektórych dystrybucjach dozwolone jest modyfikowanie plików systemu. Można nawet stworzyć własną dystrybucję Linuksa w oparciu o już istniejącą. Zaletą tego systemu jest, w przeciwieństwie do Windowsa, możliwość upgrade’u wersji systemu. W Linuksie często występują licencje zgodne z zasadami wolnego oprogramowania:
- GNU GPL – opierająca się na czterech wolnościach: wolność uruchamiania programu w dowolnym celu, wolność analizowania, jak program działa i dostosowywania go do swoich potrzeb, wolność rozpowszechniania niezmodyfikowanej kopii programu, wolność udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń.
- MIT – daje użytkownikom nieograniczone prawo do używania, kopiowania, modyfikowania i rozpowszechniania (w tym sprzedaży) oryginalnego lub zmodyfikowanego programu. Jedynym wymaganiem jest, by we wszystkich wersjach zachowano warunki licencyjne i informacje o autorze.
- BSD – zbiór licencji zgodnych z zasadami wolnego oprogramowania. Zazwyczaj obejmują następujące elementy: oprogramowanie może być używane do dowolnych celów komercyjnych; oprogramowanie może być modyfikowane i rozpowszechniane bez żadnych ograniczeń; kod źródłowy musi być dołączony do każdej dystrybucji oprogramowania; kopia licencji musi być dołączona do każdej dystrybucji oprogramowania; zrzeczenie się odpowiedzialności musi być dołączone do każdej dystrybucji oprogramowania.
Interfejs użytkownika #
- Windows Server – oferuje przyjazny i spójny graficzny interfejs użytkownika, który znacznie ułatwia posługiwanie się systemem. Istnieje również wersja systemu Windows Server bez interfejsu, która zużywa mniej zasobów i daje te same możliwości, natomiast jest ona mniej popularna. Często producenci oprogramowania wymuszają instalację na wersji systemu z GUI.
- Linux – W zależności od dystrybucji, interfejs systemu i użycie okienek może się różnić. Zazwyczaj jednak dystrybucje z przyjaznym interfejsem przystosowane są do codziennego użytku, a te z mniej graficznym, do użytku profesjonalnego np. w Data Center.
Modularna budowa #
- Windows Server – system ten posiada swego rodzaju szkielet, w który użytkownik nie może ingerować. Producent dopuszcza możliwość deinstalacji części pakietów, jednak w bardzo ograniczonej ilości.
- Linux – nie posiada szkieletu, można go porównać do zestawu cegieł, z których tworzy się systemy operacyjne w chmurze i które można dowolnie ułożyć. Ta możliwość swobodnej konfiguracji znajduje szereg zastosowań w urządzeniach, które zajmują się wyświetlaniem grafiki ekranowej np. w bankomacie, gdzie domyślnie dla użytkownika powinien być dostępny jedynie ekran z aplikacją obsługującą transakcje. Używając Linuksa możemy usunąć części oprogramowania niepotrzebne dla użytkownika takiego programu.
Aktualizacja oprogramowania #
- Windows Server – system posiada mechanizm Windows Update aktualizujący główne jego komponenty, aktualizacje dotyczące bezpieczeństwa. Można również dodać Windows Server Update Services (WSUS). Jest to program stworzony przez Microsoft, który daje możliwość centralnego zarządzania dystrybucją aktualizacji. WSUS pobiera aktualizacje ze strony Microsoft Update, a następnie dystrybuuje je na wybrane stacje robocze oraz serwery poprzez sieć. Programem podobnym do WSUS w kontekście aktualizacji jest System Center Configuration Manager (SCCM). Pozwala on na przykład na ustawienie okna konserwacyjnego o konkretnych godzinach, podczas którego przeprowadzane są aktualizacje systemu.
- Linux – menedżery pakietów systemów linuksowych posiadają zintegrowane narzędzia aktualizujące. Aktualizacje do każdej dystrybucji Linuksa są udostępniane w innym okresie, jednak zazwyczaj dzieje się to częściej niż w przypadku Windows Server. Dodatkową charakterystyką niektórych dystrybucji Linuksa jest to, że społeczność sama znajduje i proponuje sposób naprawy podatnych części systemu.
Wsparcie producenta systemu #
- Windows Server – każda dystrybucja wspierana jest przez 5 lat, po czym następuje kolejne 5 lat wsparcia przedłużonego. Dla użytkowników potrzebujących korzystać z niewspieranych już systemów Windows dostępna jest płatna usługa Extended Security Update (ESU), z której można korzystać do trzech lat po zakończeniu wsparcia rozszerzonego.
- Linux – w zależności od dystrybucji Linuksa, kwestie licencjonowania takie jak częstotliwość aktualizacji mogą się mocno różnić. Ważną kwestią jest też to, że ze względu na open source-owość dystrybucji Linuksa, społeczność może wykryć podatność systemu i zrobić do niego łatkę. Dodatkowo warto zaznaczyć, że wybrane formy wsparcia systemu są płatne, np. Extended Life Phase w dystrybucji Red Hat.
- Red Hat – oferuje 5 lat wsparcia, 5 lat wsparcia technicznego (Maintenance Support) i 3 lata „wydłużonej fazy życia” (Extended Life Phase).
- Ubuntu – oferuje 5 lat wsparcia standardowego i dodatkowe 5 lat wsparcia dla Ubuntu Pro.
System (alokacji) plików #
System alokacji plików to metoda przechowywania i zarządzania plikami na nośnikach pamięci takich jak dyski twarde czy dyski SSD. Systemy plików różnią się między sobą i często są specyficzne dla danych systemów operacyjnych czy urządzeń.
Istnieje jeszcze wiele innych systemów alokacji plików. Niektóre z nich nie są domyślnie zainstalowane na żadnym z wyżej wymienionych systemów operacyjnych, ponieważ są przestarzałe i już się ich nie używa, bądź odchodzi od użytku. Często jednak można wymusić wstecznie obsługę danego formatu alokacji plików.
Bezpieczeństwo #
- Windows Server – system posiada różne funkcje zabezpieczeń, takie jak Windows Defender czy BitLocker. Wartym wspomnienia jest również usługa Active Directory, które umożliwia globalne wprowadzenie zabezpieczeń. Ze względu na swoją popularność, Windows jest znacznie częstszym celem ataków niż Linux, jednak posiada on też szerszą listę dostępnych antywirusów.
- Linux – jest ogólnie uznawany za bezpieczniejszy system. Spowodowane jest to jego modularną budową, co umożliwia izolowanie i osobne zabezpieczanie poszczególnych elementów systemu, oraz tym, że jest oprogramowaniem open-source, co pozwala społeczności samej nieprzerwanie udoskonalać zabezpieczenia systemu.