
Planując stworzenie strony internetowej, nie ważne czy będzie to blog, czy strona biznesowa, zawsze stajemy przed wyborem usługodawcy, który zapewni nam miejsce na pliki strony czyli hosting, oraz nazwy dla naszego miejsca/strony – adresu internetowego – domeny. Wtedy spotykamy się też z terminami hosting, serwer, chmura, czy domena.
Na temat domeny powiemy sobie troszkę później, dziś skupimy się na usługach hostingowych i ich rodzajach.
Ale najpierw kilka definicji:
SERWER
Pojęcie serwer ma wiele znaczeń. Najczęściej przyjmuje się że serwer to program lub urządzenie świadczące usługi (serwujące) na rzecz innych programów /urządzeń zwanych Klientami. To model komunikacji zwany klient-serwer. Może brzmi to bardzo poważnie ale w uproszczeniu, serwer świadczy usługi dla klientów zgłaszających do niego żądania. Taki model wprowadza jasny podział pomiędzy klientem a serwerem. Klient wysyła żądanie, serwer je realizuje i odpowiada. Przykładem takiego rozwiązania jest np. serwer www, jako serwer i przeglądarka internetowa jako klient.
Innym modelem komunikacji jest peer-to-peer, gdzie nie ma już ścisłego podziału na klienta i serwera. Każdy jest zarazem i serwerem i klientem. Rozwiązanie to stosowane jest np. w sieci torrent.
Czy zatem każdy komputer może być serwerem?
Generalnie tak, choć nie każdy się nadaje do tego celu.
Profesjonalny serwer to specjalizowana konstrukcja komputera, która ma wiele rozwiązań zapewniających jego niezawodne działanie – dodatkowe zasilacze, wentylatory, specjalna konstrukcja umożliwiająca instalację wielu procesorów (CPU). Serwery w przeciwieństwie do innych komputerów przystosowane są do pracy ciągłej, co powoduje spore wydzielanie ciepła, stąd wyższe wymagania odnośnie jakości komponentów używanych do ich budowy.
Co to jest administracja serwerami
Każdy komputer/serwer, by działać niezawodnie wymaga opieki i zarządzania – to właśnie jest administracja serwerami. W ramach administracji wykonuje się szereg prac, które dla przeciętnego użytkownika/właściciela strony www są niezauważalne, np. optymalizacja pracy, instalacja/aktualizacja oprogramowania, zabezpieczanie, monitorowanie pracy, monitorowanie bezpieczeństwa, usuwanie awarii. Są to prace które wymagają specjalistycznego przygotowania, sporej wiedzy i doświadczenia.
Rodzaje serwerów
Serwery jak widzimy w definicji wyżej mogą mieć wielorakie zastosowania. W naszych internetowych zastosowaniach najczęściej występują: serwery www, serwery poczty, serwery FTP czy serwery SSH. Często korzystając z jakiejś usługi sieciowej nawet nie zdajemy sobie sprawy że… korzystamy z serwera.
Hosting, czyli hostowanie stron www realizowane jest właśnie przez program zwany serwerem www. Serwer www znajduje się na komputerze(serwerze) podłączonym do internetu i posiadającym odpowiednie oprogramowanie (np. Apache)
Podobnie jest z serwerem poczty elektronicznej czy FTP.
A teraz przyjrzyjmy się usługom hostingowym, czyli usługom serwerowym świadczącym/serwującym strony www.
Usługi hostingowe możemy podzielić na:
-
hosting współdzielony
-
serwer VPS
-
serwer dedykowany
-
cloud server
Nie bez powodu w tej kolejności. Pierwsze dwa to tak naprawdę najtańsze i najprostsze w zarządzaniu odmiany hostingu. Kolejne 2 to zaawansowane rozwiązania do specjalnych zastosowań.
Zatem przyjrzyjmy się pierwszemu:
Hosting współdzielony
Najpopularniejsza z usług hostingowych. Całość konfiguracji i administracji spada na firmę, która nam taką usługę oferuje. Korzystanie z tej usługi praktycznie nie wymaga wiedzy informatycznej, lub wymaga tylko bardzo podstawowej. Po prostu wystarczy zakupić konto hostingowe, do tego zakupić domenę i skorzystać z często już obecnego na takich hostingach autoinstalatora systemów CMS. Dzięki takim zabiegom już w kilka chwil możemy cieszyć się swoją własną stroną www. Co prawda bardzo prostą, ale mamy punkt wyjścia do dalszych prac. Jak sama nazwa wskazuje hosting ten jest współdzielony. Współdzielimy go z innymi klientami (często dziesiątkami czy setkami). Niekorzystną konsekwencją tego faktu jest to że środowisko takie ma bardzo ograniczone możliwości personalizacji jeśli chodzi o konfigurację. Spowodowane jest to tym, że zbyt daleko idące dostosowywanie go pod jednego użytkownika mogło by zdestabilizować pracę innych stron pracujących na tym samym serwerze.
Dla większości użytkowników takie ograniczenia będą praktycznie niezauważalne, ponieważ takie konta hostingowe są przeznaczone dla małych i średnich zastosowań biznesowych np. strony wizytówkowe, blogi, strony firmowe czy niewielkie sklepy. Dla takiego klienta nawjażniejsza jest łatwość obsługi, cena i stabilność, dopiero na samym końcu możliwość wpływania na konfigurację. Na szczęście cena i stabilność oraz łatwość obsługi, to głowne atuty hostingu współdzielonego.
Operatorzy hostingowi, przy konfigurowaniu kont hostingu współdzielonego korzystają z programów separujących konta użytkowników. Zabezpiecza to przed możliwością wykorzystania wszystkich zasobów serwera przez jednego użytkownika. Dlatego możemy tu uniknąć sytuacji w której z powodu nadmiernego wykorzystania zasobów przez innego klienta, nasza strona przestanie być dostępna. Zatem zasoby sprzętowe mamy ściśle podzielone pomiędzy wszystkich użytkowników danego serwera.
Niestety hosting współdzielony ma też sporo wad. Podstawową, poza znikomym wpływem na konfigurację, jest współdzielenie numeru IP. Co to znaczy? Każda domena wskazuje na jeden konkretny numer IP. Hosting współdzielony współdzieli jeden numer IP pomiędzy wielu użytkowników. Zatem jeśli jeden z użytkowników (czy jego strona) coś „przeskrobie” i np. domena trafi na tzw. blacklistę z powodu przeciągającej się infekcji na stronie czy phishingu, wszystkie pozostałe strony przypisane do tego numeru IP niejako „dziedziczą” tę sytuację. Stąd bardzo łatwo tutaj być ukaranym za nie swoje grzechy. Najbardziej odczuwalne jest to w zakresie usługi poczty elektronicznej, kiedy jedna ze stron może rozsyłać spam i trafia na blacklistę. W efekcie nasza poczta też może się stać podejrzaną jeśli chodzi o spam i może przestać dochodzić do adresatów – być wyłapaną przez filtry antyspamowe, mimo iż ze spamem nie mamy nic wspólnego. Rozwiązaniem jest zakup u operatora własnego IP, ale to dodatkowe koszty.
Jak wcześniej pisałem hosting współdzielony dobry jest dla małych stron, na start. Im bardziej specjalizowaną stronę będziemy mieli, czy większy ruch na stronie tym szybciej konieczne będzie wyemigrowanie (albo raczej migrowanie) na bardziej specjalizowane rozwiązania.
Takim bardziej specjalizowanym rozwiązaniem jest serwer VPS.
Serwer VPS – Virtual Private Server
VPS jest rozwiązaniem pośrednim pomiędzy hostingiem współdzielonym a serwerem dedykowanym. To taki bardziej rozbudowany hosting współdzielony, gdzie do dyspozycji dostajemy znacznie więcej zasobów sprzętowych, wirtualne środowisko systemowe i zdecydowanie szersze możliwości konfiguracji.
Najczęściej wykorzystywana jest tu virtualizacja środowiska. Tzn. serwer jest takim wirtualnym serwerem dedykowanym. Na fizycznym dedykowanym serwerze instalowany jest „system matka” a na nim dla każdego klienta taki wirtualny „system dziecko” – tu możemy najczęściej wybrać czy ma to być jakiś Linux czy Windows.
Od strony użytkownika widzimy normalny system plików (podobny do tego na naszym lokalnym komputerze) z zainstalowanymi różnymi programami realizującymi funkcje sieciowe. Serwer taki ma przydzielone wirtualny procesor i wirtualny ram, indywidualne IP ale też zdecydowanie większą przestrzeń dyskową. Na „serwerze matce” instalowane jest najczęściej kilka do kilkunastu wirtualnych środowisk VPS. Przy takim rozwiązaniu gdzie mamy już praktycznie pełną separację użytkowników na poziomie serwerowym mamy gwarancję mocy i zasobów przydzielanych do naszych celów.
Serwery VPS dają praktycznie nieograniczone możliwości konfiguracji i zarządzania. Jest to wynikiem tego że poprzez wirtualizację fizyczne zasoby „serwera matki” czyli fizyczny ram i procesory, zamieniane są na wirtualną pamięć i procesory. W takim środowisku nie ma już problemy by zainstalować czy to Windowsa czy Linuxa. Oprócz tego dostajemy dostęp do konsoli SSH. Konfiguracja serwera VPS niestety wymaga sporo wiedzy, by móc z niego bezpiecznie i wydajnie korzystać. W wersji podstawowej możemy najczęściej zainstalować panel administracyjny cPanel, Plesk, czy DirectAdmin. Natomiast prawdziwe swoje możlwiości VPS pokazuje dopiero, gdy indywidualnie konfigurujemy poszczególne usługi. Wtedy można z niego wydusić naprawdę dużo. Korzystając z VPS mamy możliwość wykorzystywania rezerwowych zasobów. Czyli np. w nocy gdy serwer matka nie jest znacząco obciążony, możemy chwilowo dostać więcej zasobów niż zostało nam w konfiguracji przydzielone. Natomiast to co jest w konfiguracji zapisane jest gwarantowane przez operatora. Również z uwagi na wirtualizację możliwe jest łatwe przenoszenie naszego VPSa na serwery które mają większą moc. Przykładowo nasza strona się tak już rozwinęła że nie wystarcza jej 2GB vRAM czy 2vCPU wtedy skonfigurowane środowisko administracja operatora może przenieść na maszynę która będzie mogła nam udostępnić większą ilość vRAM czy vCPU. Zatem możemy elastycznie rozbudowywać dostępne zasoby i moc obliczeniową naszego VPSa bez konieczności migracji, reinstalacji czy innych dość kłopotliwych działań.
Należy jednak pamiętać że operator hostingowy dostarcza nam „gołe” środowisko systemowe z ewentualnie zainstalowanym panelem administracyjnym. Zatem za docelową konfigurację i bezpieczeństwo środowiska odpowiadamy już sami. VPS wymaga już zdecydowanie więcej czasu i wiedzy by zachować go w dobrej kondycji. Oczywiście odbija się to na cenie. U wielu operatorów można wykupić usługę zarządzanego serwera VPS, ale to zdecydowanie duży wydatek.
Bardziej zaawansowanym rozwiązaniem jest serwer dedykowany.
Serwer dedykowany
W przypadku serwerów dedykowanych mamy 2 rozwiązania – albo wynajem konkretnej maszyny od usługodawcy, albo wstawienie do serwerowni swojego sprzętu. Każde z nich ma swoje zalety i wady. Drugie rozwiązanie nazywane jest kolokacją i jest dość niewygodne ponieważ musimy zainwestować spore pieniądze w zakup sprzętu. Dodatkowo trzeba opłacać dzierżawę łączy i miejsca w szafie serwerowej. Największą jednak niedogodnością jest konieczność zapewnienia pełnej obsługi serwisowej naszego serwera. Wszelkie awarie musimy usuwać sami, a więc gdy serwer nam przestanie poprawnie pracować to znikamy z sieci do czasu naszej naprawy. Głównymi wadami kolokacji są fundusze, które należy wydać na wykonanie sprawnego, wydajnego i bezpiecznego środowiska. Często by uniknąć problemów z awariami stosuje się tzw. redundancję czyli nadmiarowość. Zamiast jednej fizycznej maszyny stosuje się dwie, na wypadek gdyby jedna z nich przestałą poprawnie działać, druga przejmie jej obowiązki.
A takie rozwiązania generują już bardzo duże wydatki.
Alternatywą dla wielkich wydatków na serwer w kolokacji jest dzierżawa serwera dedykowanego. W tym rozwiązaniu otrzymujemy praktycznie to samo jak w przypadku VPSa. Z tym że już nie ma tu wirtualnych zasobów i sprzętu, a fizyczna realna maszyna o określonej ilości rzeczywistego Ramu i procesorów. Najczęściej też wyposażona jest ona w redundantne zasilacze i macierze dyskowe. W tym przypadku za sprawność sprzętu odpowiada usługodawca hostingowy. Stąd w takich serwerowniach administratorzy pracują 24h na dobę i w razie awarii wymieniają uszkodzony element.
W przypadku któregokolwiek rozwiązania hostingowego po naszej stronie zawsze pozostanie backup. Mimo iż czasem operator hostingowy wykonuje kopie zapasowe, to jednak zawsze warto mieć tę swoją. Ryzyko awarii niweluje się redundantnymi (nadmiarowymi) zasilaczami, czy macierzami dyskowymi RAID. Nie mniej każdy sprzęt ma swój czas żywotności. Zatem mimo dużej odporności na awarie, zawsze warto samemu zadbać o kopię naszych danych.
Wreszcie najmłodszym rozwiązaniem jeśli chodzi o hosting jest tzw. Cloud Server, czy serwer w chmurze.
Cloud Server
Cloud Server to specjalizowane rozwiązanie łączące w sobie koszty utrzymania na poziomie serwerów VPS i możliwości konfiguracyjne serwera dedykowanego.
Na czym zatem polega Cloud Server?
Klasyczny serwer dedykowany to taki potężnie rozbudowany, bardzo wydajny komputer, z wysoką podatnością na awarie. W przypadku Cloud Servera nie ma tego problemu. Cloud Server to klaster serwerów dedykowanych z specjalistycznym systemem operacyjnym. Czyli jak widzimy bardzo podobny jest do VPS, gdzie na fizycznej pojedynczej maszynie jest instalowany „system matka”. Tu rolę takiego „systemu matki” pełni specjalny system operacyjny, najczęściej Cloud Linux, który łączy zasoby wielu fizycznych maszyn w jedną. I dopiero w tym środowisku instalowane jest środowisko naszego Cloud Servera. W efekcie awaria jednej z fizycznych maszyn wchodzących w skład Cloud Servera nie wpływa znacząco na wydajność i działanie całości. „System matka” nadzoruje bezpieczeństwo zasobów i w razie potrzeby/awarii uruchamia nasz Cloud Server na innej maszynie, co w najgorszym wypadku skutkuje niedostępnością naszej strony przez kilka minut. Dodatkowymi atutami Cloud Servera jest możliwość korzystania z migawek – snapshotów, czyli możliwości zrobienia „zdjęcia” naszych danych, by w razie awarii móc w kilka chwil przywrócić stronę do działania na innym fizycznie sprzęcie. Natomiast największym atutem Cloud Servera jest w pełni elastyczne zarządzanie zasobami. Możemy budować sobie naszą wirtualną maszynę niejako „z klocków”. Buildery konfiguracji Cloud Servera umożliwiają dowolne zarządzanie zasobami RAM, CPU, czy HDD i co najważniejsze w przypadku Cloud Servera płacimy jedynie za zasoby z których korzystamy.
Mam nadzieję że udało mi się przybliżyć zagadnienia związane z hostingiem i serwerami. Pozostało nam jedynie doprecyzować wiedzę związaną z domenami, ale to już niebawem w kolejnym artykule.
Jeśli spodobał Ci się artykuł nie omieszkaj udostępnić go w socialmediach, na pewno komuś się przyda, a mnie dodatkowo zmobilizuje do dalszego objaśniania „skomplikowanych” zależności Sieci w prostych słowach 😉
No i jeśli masz pytania śmiało pytaj w dyskusji poniżej.