Co to jest serwer?

Osoby z branży być może uśmiechają się teraz pod nosem, ale z doświadczenia wiem, że dla osób nie związanych z informatyką, sprawa nie jest taka oczywista i warto omówić czym jest serwer 🙂
Być może lepszym pomysłem byłoby zacząć od tego czym jest komputer… ale przecież mamy już rok 2016 i każdy z Nas ma po kilka komputerów. Oprócz oczywistych typu telefon, tablet czy laptop, komputery są częścią dzisiejszych samochodów, kuchenek, lodówek czy pralek.

Co oznacza słowo serwer?

Na początek zacznijmy może od samego słowa serwer. Co ono właściwie oznacza i skąd się wzięło?
Otóż jak wiele słów wzbogacających Nasz słownik, szczególnie techniczny, pochodzi ono z języka angielskiego, od czasownika „to serve” czyli usługiwać, podawać.
A więc w dużym skrócie, serwerem nazywamy urządzenie lub oprogramowanie, które serwuje/podaje Nam pewną usługę. Skojarzenie z barmanem serwującym drinki, czy kelnerem podającym przepyszne specjały jest jak najbardziej na miejscu. Gdyż Nasza relacja z serwerem, Nasz z nim kontakt, jest nazywany relacją Klient – Serwer.
W Waszej ulubionej restauracji czy barze to Wy zamawiając dane jesteście klientem, a kelner czy barman są takim właśnie serwerem.

Co to jest serwer?

Serwerem w informatyce, jak wspomniałem wcześniej, nazywamy komputer, lub też oprogramowanie serwujące jakąś funkcjonalność. Oznacza to, że teoretycznie serwerem może być każdy komputer, wystarczy, że ma zainstalowane odpowiednie oprogramowanie.
Dlatego gdy mówimy serwer plików, serwer poczty, czy serwer www mamy najczęściej na myśli zainstalowane oprogramowanie serwerowe niż też fizyczną maszynę.
Wracając do przykładu z kelnerem czy barmanem to jest to zawód wykonywany przez tą osobę, ale łatwo sobie wyobrazić sytuację w której na organizowanym przez Nas przyjęciu imieninowym… to my sami, jako gospodarze pełnimy rolę barmana czy kelnera racząc Naszych szanownych gości domowymi specjałami. Tak więc mimo że nie jesteśmy z zawodu „serwerem”, w tym konkretnym przypadku pełnimy jego funkcję.
Podobnie jest w świecie informatyki, każdy komputer, a ściślej każdy system operacyjny może mieć zainstalowane oprogramowanie serwera i dostarczać jakąś usługę innym komputerom w sieci.
(Czym jest sieć komputerowa opowiem w przyszłym odcinku)

Ale Nasz informatyk mówił że serwer to ta czarna skrzynka pod biurkiem!
Czy nie miał racji?

Większość z Nas słysząc słowo serwer kojarzy go jednak z tajemniczą czarną skrzynką umiejscowioną gdzieś w kącie biura, lub w ciut większych firmach zamkniętą w szafie technicznej.
I tak to najczęściej wygląda w praktyce, ponieważ instalowanie oprogramowania na komputerze z którego korzystamy na co dzień, mimo iż jest wykonalne, jest najczęściej bardzo złym pomysłem.
Dlaczego? Ano wracając do porównania z kelnerem czy barmanem, o ile obsłużenie kilku gości na prywatnym spotkaniu nie powinno sprawić Nam problemu… to niestety nie jesteśmy w stanie zadbać należycie o ich potrzeby gastronomiczne na co dzień. 🙂
Tak samo sprawa wygląda z serwerami, stosuje się oddzielne urządzenia by zagwarantować klientom stabilną pracę usługi.

Po co to oddzielne urządzenie?

Wyobraźmy sobie, że w małej firmie istnieje potrzeba dzielenia się dokumentami. Zwykłymi plikami arkusza kalkulacyjnego czy też edytora teksu. Dlaczego takie rozwiązanie praktycznie każda firma powinna mieć, opowiem w innym odcinku, na razie załóżmy, że taka potrzeba została udowodniona i wdrożona w postaci oprogramowania zainstalowanego na jednym z dwóch komputerów. Gdy komputer A wykonuje drobne prace, komputer B, wykorzystując drzemiącą moc w komputerze pierwszym może swobodnie korzystać z udostępnionych przez niego plików. Ale gdy na komputerze A zostanie uruchomione bardziej wymagające zadanie – wymagające większej mocy obliczeniowej, wtedy komputer B zacznie otrzymywać usługę dużo wolniej, a gdy osoba pracująca na komputerze A pójdzie do domu, to komputer B straci dostęp do plików całkowicie.

Czy jeden komputer może być serwerem wielu usług?

Wracając do przykładu z restauracją i zakładając, że koniecznie mamy ochotę na dobry stek, a sami niestety nie potrafimy go przyrządzić, to istnieją one przecież właśnie dlatego byśmy mogli zaspokoić swój głód zawsze gdy go poczujemy, a nie tylko wtedy gdy Nasz znajomy, specjalista od steków, robi imieniny 🙂
Podobnie jak z dobrą restauracją, tak która robi świetne pierogi, nie koniecznie musi serwować najlepszą pizzę, dlatego dobrą praktyką jest stosowanie jednego serwera na jedną usługę. Szczególnie, że w dzisiejszych czasach mamy też na wyciągnięcie ręki wirtualizację… ale to temat już na osobny odcinek!

Oddzielny serwer w małej firmie to dodatkowe koszty!
Doceniam wspomniane korzyści, ale nie stać mnie na to!

Argument, że dodatkowy komputer w małej firmie to dodatkowe koszty, przyznaję, miał rację bytu… ale 20lat temu. No jeszcze 10lat temu można było dyskutować, gdy faktycznie firma miała tylko 2 komputery… ale dziś mamy rok 2016 i komputer będący w stanie serwować proste usługi w małej firmie nie dość że mieści się w dłoni, pobiera praktycznie tak mało energii co współczesny telefon komórkowy, to jeszcze kosztuje ok. 200zł, czyli zakładając, że alternatywą byłoby zostawianie jednego z komputerów klasy PC na noc, tak by inne komputery mogły z niego korzystać, to jego zakup i profesjonalne wdrożenie zwróci się już w ciągu paru miesięcy na samej różnicy w opłatach za prąd. Oczywiście małe firmy z pewnością też docenią małe rozmiary i brak wentylatorów, gwarantujący absolutną ciszę pracy.

Jak działa serwer?

Jak już wspomniałem, serwer komunikuje się z Klientami, czyli komputerami pełniącymi rolę stacji roboczych, innymi słowy tymi komputerami przy których wszyscy de facto siedzimy i pracujemy, poprzez sieć komputerową. Szczegóły działania sieci komputerowej przedstawię w innym odcinku.
Zasada działania jest prosta, oprogramowanie serwera uruchomione na danym komputerze cały czas nasłuchuje i oczekuje na połączenie przychodzące z sieci. Gdy ono nastąpi oferuje klientowi daną usługę. Świetną analogią będzie restauracja z dowozem na telefon. Przemiła pani dyspozytorka czeka nieustanie byśmy zamówili ich największą pizzę ze wszystkimi dodatkami i podwójnym ciągnącym się serem… 🙂

A o co chodzi z serwerami hostowanymi, dedykowanymi, wirtualnymi serwerami prywatnymi (VPS) i serwerami w chmurze?

Temat szeroko pojętej wirtualizacji i chmury obliczeniowej to bardzo dojrzałe i duże tematy. Na omówienie ich, oraz pokrewnych im tematów z pewnością poświęcę w przyszłości nie jeden odcinek.
W bardzo dużym skrócie, są to serwery umiejscowione u kogoś innego. Za które płaci się miesięczny abonament. Stanowi to przede wszystkim bardzo ciekawą alternatywę z punktu widzenia firm, ponieważ pozwala zamienić koszty projektowe/inwestycyjne na koszty operacyjne. Coś co przy większych projektach ma bardzo duże znaczenie, ponieważ pozwala na uruchomienie projektu i przetestowanie go bez pełnego zaangażowania finansowego, oraz w przypadku serwerów wirtualnych na płynne skalowanie przedsięwzięcia.
Jest to szalenie ciekawy temat z biznesowego punktu widzenia, dający zupełnie nowe możliwości rozwoju i wdrażania nowych technologi, więc z pewnością wielokrotnie do niego wrócimy w przyszłych odcinkach.

Podsumowanie

Mam nadzieję, że udało mi się wyjaśnić dziś czym jest serwer i jak działa i przynajmniej zasygnalizowałem dlaczego warto go posiadać nawet w małej firmie, a nawet sądzę, że w kolejnych odcinkach udowodnię korzyści z posiadania prostego serwera w domu. Tak więc z pewnością do tematu jeszcze wrócimy i przyjrzymy się bardziej szczegółowo serwerom różnych usług, które sprawdzą się nie tylko w firmie.