Windows czy Linux - bez emocji i uprzedzeń

Serwery webowe

Linux odnosi sukcesy także jako platforma dla serwerów webowych. We wczesnych latach 90., gdy Internet zaczynał podbijać świat, oprogramowanie serwerów webowych pisano przeważnie na platformy uniksowe. Serwer HTTP, który narodził się w National Center for Supercomputing Applications, ewoluował w coś, co dzisiaj znamy pod nazwą Apache Web Server. Jest to zdecydowanie najbardziej popularny serwer webowy.

Microsoft wraz z Windows NT4 wprowadził serwer webowy IIS, którego obecna wersja jest związana z Windows Server 2003. Interesujące jest to, że popularność Apache stale rośnie, podczas gdy udział IIS spada.

Wybór platformy webowej jest w dużym stopniu podyktowany językiem, którego chce się używać. IIS jest z natury związany z ASP (skryptowy język programowania oparty na VBScript/Jscript) i ASP.Net (rozwinięcie ASP wprowadzające nową strukturę językową .Net i używające Common Language Runtime). Apache, oparty na serwerach linuksowych, jest bardziej związany z tradycyjnymi skryptami CGI (podstawowy sposób programowania serwerów webowych ze skryptami tradycyjnie pisanymi w Perl lub C/C++) lub PHP (wyciąg z Perl, który jest łatwiejszy do integracji ze stronami webowymi).

Przy wyborze ASP czy ASP.Net wskazanie jest na Windows. Chociaż ASP mogą pracować również na Linuksie, to jednak nie są wtedy dostępne różne użyteczne dodatki dostarczane przez firmy niezależne i pracujące wyłącznie na platformie Windows. Podejmowane są również próby opracowania ekwiwalentnego Open Source .Net Framework. Pomijając sprawy językowe, należy jednak zwrócić uwagę, że Apache ma trzykrotnie większą bazę instalacyjną niż IIS.

Bazy danych

Wybór języka programowania jest ważniejszy niż wybór bazy danych zaplecza. Ponieważ większość systemów webowych stanowią systemy klient-serwer, strony webowe mogą funkcjonować na jednej platformie, a baza danych na innej. Microsoft SQL Server jest oczywistym wyborem dla ośrodków webowych na platformie Windows: połączenia pomiędzy SQL Server i ASP są naturalne i nie muszą przechodzić przez warstwy pośredniczące w rodzaju ODBC. Z drugiej jednak strony możliwe jest zintegrowanie serwera webowego pracującego na platformie Windows z linuksowym serwerem bazy danych, na którym pracuje MySQL lub PostgreSQL, ponieważ istnieją sterowniki klienckie Windows ODBC dla obu tych baz danych (i wielu innych). W mieszanych systemach webowych często jest wybierana także platforma Oracle - producent dysponuje systemami baz danych na obie platformy. Inni dostawcy komercyjnych baz danych, np. IBM, również dostarczają bazy danych na platformę Linux.

Zarządzanie i bezpieczeństwo

Windows i Linux mają możliwość zdalnego zarządzania i instalacji. Windows jest lepiej pod tym względem rozwinięty, a to z powodu ścisłych powiązań z systemem domenowym, w którym serwery i desktopy są bezpiecznie połączone i reguły polityki mogą być definiowane w odniesieniu do użytkowników i maszyn. Oznacza to, że kiedy stacja robocza jest włączana czy przeładowywana, serwer domeny może przekazać jej uaktualnienia lub zmiany konfiguracyjne, a użytkownik może być kontrolowany przez administratora systemu. Koncepcja "wędrownych profili" Windows dopuszcza także ustawienia personalne użytkownika, które podążają za nim ze stacji do stacji (czasami oznacza to gigabajty informacji, które trzeba skopiować na komputer, z którego aktualnie użytkownik chce skorzystać.)

Linux ma te same zalety co serwery Windows w kontrolowaniu dostępu użytkownika. Z dodatkowym oprogramowaniem stacja robocza Linux może stać się częścią domenowego systemu uwierzytelniania Windows, drzewa NDS Novella lub uniksowego systemu uwierzytelniania, takiego jak NIS. Ponieważ systemy w stylu Uniksa są z natury wielodostępne, administrator systemu może połączyć się zdalnie i wykonać zmiany w instalacji bez przerywania sesji użytkownika.

Gdy po raz pierwszy wprowadzono Unix, sprzęt był bardzo drogi i sensowne było posiadanie tylko jednego zestawu dysków w pomieszczeniu serwera i stacji roboczych bez dyskietek, ładowanych wprost z serwera i używających sieci jako drogi dostępu do dysków. Ta możliwość nie znikła w Linuksie.

Microsoft coraz szerzej wprowadza podobną funkcjonalność, poczynając od Terminal Services w Windows XP Professional i serwerach Windows. Wymaga to jednak stosowania szybkich łączy pomiędzy dwoma punktami końcowymi i ich opartymi na GUI systemami, ponieważ dane odświeżające ekran generują spory ruch. W Linuksie też można korzystać z GUI, ale niekoniecznie - został on zaprojektowany do zarządzania wierszami komend. Inną zaletą Linuksa jest to, że ze względu na to iż większość aplikacyjnych plików konfiguracyjnych stanowią pliki tekstowe, łatwo jest kopiować konfiguracje maszyn na PC administratora, tak aby mógł je rozpowszechniać w kontrolowanym środowisku.

Bezpieczeństwo

Bezpieczeństwo w Windows i Linux jest oparte na ustawieniach użytkowników i grup, z których każda ma zdefiniowane uprawnienia do oglądania, otwierania i zmiany plików. Oba systemy pozwalają na używanie zarówno lokalnych, jak i sieciowych plików logowania. Możliwe jest także - poprzez standardowe protokoły, takie jak LDAP - połączenie z dowolną liczbą różnych usług katalogowych. Bezpieczeństwo plików i katalogów w Linuksie dzieli się na trzy kategorie (poziomy): użytkownika, grupy i "każdy". Na wszystkich tych poziomach, w odniesieniu do każdego pliku, jednostce może być udzielone pozwolenie do czytania, pisania lub wykonania pliku. Istnieją także dodatkowe uprawnienia, które pozwalają na określanie, czy np. poszczególne programy mogą być wykonywane tylko przez użytkowników z pewnymi identyfikatorami.

Windows ma podobne typy uprawnień jak standardowe środki bezpieczeństwa Uniksa, z dodatkową flagą modyfikacji towarzyszącą uprawnieniu do zapisu, która daje trochę większy zakres kontroli nad usuwaniem plików. W obu systemach możliwe jest przenoszenie uprawnień do katalogu na wszystkie podkatalogi.

Oprócz ogólnego systemu kontroli dostępu jest jeszcze sprawa bezpieczeństwa aplikacji. Linux jest tu silniejszy niż Windows dzięki mechanizmom ochronnym na poziomie jądra. Wrodzony mechanizm wielodostępu Linuksa stwarza potencjalny problem bezpieczeństwa, tak więc tradycyjne metody nieszyfrowanego zdalnego dostępu, takie jak Telnet, są stopniowo podmieniane przez programy terminalowe oparte na SSL (Secure Socket Layer).

Podsumowując: oba systemy zapewniają bezpieczeństwo inaczej, jednak nie na tyle, by był to czynnik istotnie różnicujący te platformy.

Logi systemowe

Linux zawiera usługę syslog, która jest konfigurowalnym, sieciowym mechanizmem rejestracji zdarzeń, z udogodnieniami znacznie przewyższającymi to, co zapewnia dziennik zdarzeń Windows. Ten ostatni pozwala aplikacjom tworzyć własny strumień zdarzeń poza standardowymi: Application, System i Security, ale bardziej elastyczna jest koncepcja syslog Unix/Linux, która zapewnia użyteczniejsze dane logu. Przede wszystkim pozycje logu mogą być w łatwy sposób skierowane do centralnego logu do zestawień. Co ważniejsze, możliwe jest ustawienie systemu na wysyłanie różnych typów wiadomości logu (informacja, odpluskwianie, błędy) do różnych plików. Protokół syslog jest także obsługiwany przez wiele urządzeń sieciowych (zwłaszcza zapory ogniowe) i dlatego można używać serwera linuksowego jako centralnego punktu zestawiania pozycji logu z całej sieci.

Zarządzanie siecią

Zarówno Windows, jak i Linux nie są zbyt dobrze wyposażone w mechanizmy monitorowania potrzebne w sieci przedsiębiorstwa. Oba systemy mają podstawowe funkcje analizy procesów, podglądania sieci itp. W dużym stopniu zarządzanie pozostawia się aplikacjom i osiąga przez funkcjonalność związaną z logiem. Istnieje wiele pakietów oprogramowania dostępnego na obie platformy, z pomocą których administrator może wykonywać tego typu zadania.


TOP 200