VPS to maszyna wirtualna z własnym systemem operacyjnym, uruchomiona na serwerze dostawcy. Dostajesz swobodę instalowania własnego oprogramowania - i obowiązek utrzymania całości. Potrzebujesz go, gdy aplikacja wymaga środowiska, którego prostszy hosting nie udostępnia. Jeśli nie wymaga, kupujesz sobie dodatkową pracę, nie dodatkowe możliwości - a gotowy program w abonamencie zdejmuje z ciebie całą tę warstwę, o czym piszemy w tekście o oprogramowaniu jako usłudze.
Nie znajdziesz tu rankingu dostawców ani cen - porównanie ofert to osobny materiał. Zobaczysz za to na przykładzie aplikacji Node z workerem i zadaniem cron, gdzie kończy się hosting współdzielony. Potem trzema sprawdzeniami ustalisz, po której stronie tej granicy jesteś.
Co oznacza skrót VPS?
Skrót rozwija się jako Virtual Private Server, czyli wirtualny serwer prywatny. Każde z tych słów obiecuje trochę więcej, niż mówi technika.
Wirtualny znaczy, że nie dostajesz osobnego komputera, tylko maszynę wirtualną - emulowany zestaw sprzętu z własnym systemem, uruchomiony na fizycznym serwerze dostawcy obok innych takich maszyn.
Prywatny znaczy tyle, że twój system jest odseparowany od sąsiadów. Nie znaczy, że serwer fizyczny należy do ciebie - na jednym hoście działa równolegle wiele maszyn wirtualnych (NIST SP 800-125). To nieporozumienie rozstrzygnij przed rozmową o parametrach, bo zmienia sens całej oferty.
Serwer znaczy, że dostajesz system, którym trzeba administrować, a nie panel z gotową usługą. Co dokładnie jest po twojej stronie, mówi opis planu, nie nazwa produktu.
Aplikacja, która wyrosła z hostingu
Weź wypożyczalnię sprzętu budowlanego, która zamówiła u programisty aplikację do rezerwacji online. To fikcyjny przykład złożony z typowych wdrożeń, nie opis konkretnej firmy. Na aplikację składają się API napisane w Node, worker, który w tle generuje umowy PDF i wysyła potwierdzenia, oraz zadanie cron uzgadniające co noc stany magazynowe z programem do fakturowania. Firma miała już hosting współdzielony - stała na nim strona na WordPressie - więc pierwszy pomysł brzmiał: wgrajmy aplikację tam.
Ten pomysł rozbił się o trzy rzeczy, a każda wynika z samej definicji usługi.
Aplikacja Node to proces, który musi działać bez przerwy i nasłuchiwać połączeń. Plan, który firma opłacała, udostępniał środowisko PHP i nie przewidywał uruchamiania własnych, stale działających procesów. To nie jest wada tego planu, tylko jego granica: operator utrzymuje wspólny system za wszystkich, więc decyduje, co wolno na nim uruchomić.
Worker od umów to drugi stały proces. Musi wstać razem z maszyną, a po awarii wrócić do pracy sam - inaczej klienci rezerwują sprzęt, umowy przestają się generować i nikt o tym nie wie, dopóki nie zadzwoni pierwszy klient bez potwierdzenia.
Nocne uzgadnianie stanów potrzebuje harmonogramu, miejsca na pliki wynikowe i kanału, którym błąd wykonania dotrze do człowieka. Zadanie, które cicho przestaje działać, jest gorsze od zadania, którego nie ma - magazyn i faktury rozjeżdżają się całymi dniami, zanim ktokolwiek to zauważy.
Własny runtime, procesy działające stale w tle i harmonogram z obsługą błędów - to jest komplet, dla którego istnieje VPS. Programista postawił maszynę: wybrał obraz systemu, zainstalował Node w wersji wymaganej przez aplikację, skonfigurował oba procesy jako usługi z automatycznym restartem i wpisał nocne zadanie do harmonogramu. Aplikacja ruszyła.
Razem z nią firma przejęła obowiązki, których na hostingu współdzielonym nie miała: aktualizacje systemu, kopie bazy rezerwacji z potwierdzonym odtworzeniem, monitoring obu procesów i pytanie, kto reaguje wieczorem, gdy aplikacja przestanie odpowiadać. Najważniejsza sprawa wyszła na końcu: co się stanie, gdy programista zamknie zlecenie i przestanie odbierać telefon. Maszyna bez opiekuna nie psuje się od razu - przestaje być aktualizowana, a widać to dopiero przy incydencie.
Sprawdź, po której stronie granicy jesteś
Zanim otworzysz cennik, przejdź trzy sprawdzenia na własnej aplikacji:
- Sprawdź w dokumentacji swojego hostingu, czy udostępnia środowisko i wersje, których wymaga to, co chcesz uruchomić - odpowiedź jest w opisie planu, nie w nazwie usługi.
- Wypisz wszystko, co musi działać stale w tle albo według harmonogramu, i przy każdej pozycji zanotuj, jak błąd wykonania dotrze do człowieka.
- Wskaż z imienia osobę, która przejmie aktualizacje, kopie i reakcję na alarm - i zapytaj ją, czy o tym wie.
Jeśli w pierwszych dwóch punktach nic nie wykracza poza obecny plan, VPS kupi ci wyłącznie dodatkową pracę - zostań przy prostszej usłudze bez żalu. Jeśli wykracza, ale trzeci punkt nie ma odpowiedzi, problemem nie jest technologia, tylko brak opiekuna - i żaden plan tego nie naprawi.
Jak działa serwer wirtualny?
Między twoim systemem a sprzętem stoi hypervisor - oprogramowanie, które pośredniczy w dostępie maszyn wirtualnych do zasobów fizycznego serwera i utrzymuje separację między nimi (NIST SP 800-125). Twój system nie rozmawia z prawdziwym dyskiem ani kartą sieciową - rozmawia z urządzeniami, które podstawiła mu warstwa wirtualizacji.
W Linuksie tę warstwę realizuje między innymi KVM. To, jakie urządzenia widzi system gościa, zależy od konfiguracji po stronie operatora, nie od samej technologii (dokumentacja kernela Linux, KVM API). Podział zasobów między maszyny też jest konfiguracją - na hoście linuksowym odpowiada za niego cgroup v2 z kontrolerami procesora, pamięci i wejścia-wyjścia (dokumentacja kernela Linux).
Dlatego na pytanie „ile dostanę" odpowiada dokumentacja planu, a nie definicja VPS-a. Granicą twojego zakresu jest warstwa wirtualizacji: wszystko powyżej niej utrzymujesz sam albo zlecasz w umowie, poniżej nie masz ani dostępu, ani wpływu.
Czym VPS różni się od hostingu i serwera fizycznego?
Trzy usługi różnią się tym, ile systemu operacyjnego jest twoje - i ile pracy za to płacisz. Żadna nie jest z definicji szybsza ani bezpieczniejsza od pozostałych.
Na hostingu współdzielonym dzielisz system z innymi kontami. Nie instalujesz własnego środowiska i nie zmieniasz konfiguracji systemu, ale też go nie utrzymujesz - to praca operatora, wliczona w cenę.
Na VPS system jest twój w granicach, które przydzielił operator. Instalujesz, co chcesz, i konfigurujesz, jak chcesz - a razem z tym przejmujesz aktualizacje, kopie, monitoring i reakcję na awarię, chyba że umowa przenosi część z nich z powrotem na operatora.
Serwer fizyczny zdejmuje warstwę wirtualizacji: sprzęt jest w całości dla ciebie, awarię podzespołu obsługuje dostawca, a zakres administracji wygląda podobnie jak na VPS. Wybór środowiska dla całej architektury, nie tylko jednej aplikacji, opisujemy w tekście o własnym środowisku dla aplikacji i usług.
Sprawdź aktualne warunki ofert
Najpierw potwierdź wymagany runtime, zakres dostępu i właściciela utrzymania. Następnie porównaj te wymagania z dokumentacją wybranego planu. Poniższe odnośniki nie są rankingiem ani wynikiem testu wydajności.
Na start kody rabatowe. cyber_Folks - FMRY-UOJM-4JHK, SEOHOST - wzg25pro, LH.PL - ibbmedia30, Hit Me - VUXL29G454NT.
Linki do partnerów są afiliacyjne - jeśli z nich skorzystasz, redakcja może dostać prowizję bez zmiany warunków po Twojej stronie.
Kto to będzie utrzymywał?
Po uruchomieniu maszyny każdy z poniższych obszarów należy do kogoś albo do nikogo - trzeciej możliwości nie ma:
- aktualizacje systemu i pakietów wraz z oknem, w którym są wykonywane;
- konta użytkowników i odbieranie dostępu osobie, która odchodzi z projektu;
- klucze dostępu SSH, ich rotacja i miejsce przechowywania;
- reguły zapory i lista usług wystawionych na zewnątrz;
- logi systemowe i aplikacyjne wraz z retencją;
- kopie danych i przynajmniej jedno potwierdzone odtworzenie;
- monitoring usług i adres, pod który trafia alarm.
Lista bez przypisanych ludzi jest listą życzeń. W historii wypożyczalni dokładnie te punkty zostały bez opiekuna w dniu, w którym programista zamknął zlecenie.
VPS zarządzany i niezarządzany
Zakres zarządzania to właściwość umowy, nie stopień zaawansowania produktu. Ta sama nazwa u dwóch operatorów potrafi oznaczać inne świadczenia, więc zamiast wierzyć etykiecie, zadaj przed podpisaniem cztery pytania:
- Kto aktualizuje system operacyjny i oprogramowanie?
- Kto reaguje na alarm i w jakim czasie?
- Kto odtwarza kopię i czy odtworzenie można zamówić?
- Kto diagnozuje sytuację, w której maszyna działa, a aplikacja nie odpowiada?
Jeśli przy każdym pytaniu dokumentacja wskazuje rolę po stronie operatora, kupujesz usługę zarządzaną w tym zakresie. Każde „klient we własnym zakresie" to twój obowiązek - niezależnie od tego, jak dostawca nazwał plan.
Kiedy VPS jest złym wyborem?
Własny system dokłada obowiązków, więc bywa odpowiedzią na problem, którego nie masz. Zatrzymaj się w czterech sytuacjach:
- Aplikacja mieści się w tym, co daje prostsza usługa. Przeniesienie jej na VPS zmienia wyłącznie to, kto aktualizuje system - z operatora na ciebie.
- Nikt nie przejmuje aktualizacji i alarmów. Maszyna bez opiekuna przestaje być aktualizowana po cichu, a rachunek przychodzi przy pierwszym incydencie.
- Zespół oczekuje, że system utrzyma dostawca, ale plan tego nie obejmuje. Rozjazd między oczekiwaniem a umową rozstrzyga się czytaniem dokumentacji przed zakupem, nie zgłoszeniem do supportu po fakcie.
- Ograniczenie leży w sieci operatora albo w regulaminie usługi. Własny system nie otworzy portu, którego platforma nie dopuszcza.
Pytania o VPS
Co to jest VPS i do czego służy?
VPS to maszyna wirtualna udostępniona jako samodzielny serwer z własnym systemem operacyjnym. Służy do uruchamiania aplikacji, które potrzebują własnego środowiska: stale działających procesów, harmonogramu zadań albo konfiguracji niedostępnej na prostszym hostingu. Razem z maszyną przejmujesz obowiązki administracyjne w zakresie opisanym w ofercie.
Co oznacza skrót VPS?
Virtual Private Server, czyli wirtualny serwer prywatny. „Prywatny" oznacza odseparowanie twojego systemu od innych maszyn na tym samym serwerze fizycznym, a nie osobny sprzęt - na jednym hoście działa równolegle wiele maszyn wirtualnych (NIST SP 800-125). Nazwa nie jest deklaracją o sprzęcie.
Czym VPS różni się od hostingu współdzielonego?
Tym, czyj jest system operacyjny. Na hostingu współdzielonym system utrzymuje operator, a ty dostajesz w nim konto o granicach ustalonych w planie. Na VPS system jest twój: konfigurujesz go swobodnie, ale aktualizacje, kopie i monitoring należą do ciebie w zakresie, którego nie przejmuje umowa.
Czy na VPS dostaję uprawnienia administratora?
To zależy od planu, więc odpowiedź znajdziesz w dokumentacji konkretnej usługi. Część ofert daje pełne uprawnienia w systemie gościa, część ogranicza wybrane obszary albo zastrzega sobie ingerencję operatora. Żaden zakres nie obejmuje warstwy hypervisora ani konfiguracji fizycznego hosta.
Kto aktualizuje i zabezpiecza VPS?
W wariancie niezarządzanym system, środowisko aplikacji, zapora, klucze i kopie należą do ciebie, a operator utrzymuje warstwę wirtualizacji i infrastrukturę. W wariancie zarządzanym część zadań przechodzi na operatora - dokładnie ta, którą wymienia dokumentacja planu, nie ta, którą sugeruje nazwa.
Kiedy VPS nie jest potrzebny?
Gdy aplikacja nie wymaga własnego systemu ani stale działających procesów, albo gdy nikt nie przejmie aktualizacji, kopii i alarmów. Własny serwer nie zastąpi opiekuna utrzymania - dokłada mu pracy. Jeśli prostsza usługa obsługuje wszystko, czego potrzebujesz, przeniesienie na VPS zmienia tylko rozkład obowiązków.
Podstawa techniczna
- Rola hypervisora i uruchamianie odseparowanych systemów gości - NIST SP 800-125, Guide to Security for Full Virtualization Technologies, sekcja 2,
https://csrc.nist.gov/pubs/sp/800/125/final. - Interfejs wirtualizacji w Linuksie - dokumentacja kernela Linux, KVM API,
https://docs.kernel.org/virt/kvm/api.html. - Kontrolery zasobów hosta - dokumentacja kernela Linux, Control Group v2,
https://docs.kernel.org/admin-guide/cgroup-v2.html.