Hosting, VPS i serwer dedykowany to różne sposoby zapewnienia aplikacji miejsca do działania w internecie, które warto rozróżnić przed zakupem usługi dla pierwszych użytkowników.
Miejsce dla Twojej aplikacji
Wyobraź sobie komputer, który pozostaje dostępny również wtedy, gdy zamykasz własny laptop. Taki komputer, obsługujący żądania użytkowników przez sieć, nazywa się serwerem. Hosting to usługa udostępniania miejsca i warunków potrzebnych do działania strony lub aplikacji.
Samo posiadanie plików projektu nie zapewnia dostępności w internecie. Pliki przypominają wyposażenie lokalu, które trzeba umieścić we właściwym miejscu i przygotować do pracy. Sposób uruchomienia zależy od tego, co aplikacja robi i z jakich części się składa.
Niektóre projekty są jak gotowa ulotka z prostym kalkulatorem: urządzenie odwiedzającego otrzymuje pliki i samodzielnie wykonuje obliczenia. Inne potrzebują zaplecza stale sprawdzającego rezerwacje, przyjmującego zgłoszenia lub przygotowującego dokumenty. To zaplecze musi mieć odpowiednie warunki działania po stronie dostawcy usługi.
Informacje o klientach mogą trafiać do oddzielnej kartoteki, czyli bazy danych. Zdjęcia i załączniki mogą znajdować się jeszcze w innym miejscu. Dlatego pytanie „Gdzie stoi aplikacja?” czasem ma kilka odpowiedzi, nawet jeśli użytkownik widzi jeden adres.
Przed zakupem poproś narzędzie, w którym powstał projekt, o prosty opis jego części i wymagań uruchomienia. Nie musisz rozumieć każdej nazwy technicznej od razu. Potrzebujesz listy, którą można porównać z ofertą dostawcy albo przekazać osobie pomagającej we wdrożeniu.
Wdrożenie oznacza przygotowanie i uruchomienie konkretnej wersji aplikacji w miejscu dostępnym dla odbiorców. Nie jest tym samym co samo przesłanie plików. Obejmuje również potrzebne ustawienia i sprawdzenie, czy aplikacja wykonuje swoje zadanie poza kreatorem.
Trzy sposoby wynajmu
Hosting współdzielony przypomina stanowisko w wyposażonym biurze. Dostawca udostępnia gotowe warunki działania, a wiele projektów korzysta ze wspólnego zaplecza. Masz mniej obowiązków związanych z samą maszyną, ale również mniejszą swobodę wyboru tego, co można na niej uruchomić.
VPS, czyli wirtualny serwer prywatny, przypomina wydzielony lokal w większym budynku. Otrzymujesz logicznie oddzielony serwer działający na fizycznej maszynie dostawcy. Możesz mieć większą kontrolę nad oprogramowaniem, lecz zakres samodzielnej obsługi zależy od oferty.
Serwer dedykowany oznacza wynajem całej fizycznej maszyny dla własnych potrzeb. To odpowiednik całego budynku zamiast jednego lokalu. Taki wybór może być uzasadniony konkretnymi wymaganiami, lecz sam fakt rozpoczęcia biznesu internetowego nie jest takim wymaganiem.
| Wariant | Co otrzymujesz | Główne ograniczenie |
|---|---|---|
| Hosting współdzielony | Przygotowane miejsce w ramach wspólnej usługi | Musisz zmieścić się w obsługiwanych technologiach i limitach |
| VPS | Wydzielony serwer z określonymi zasobami | Ktoś musi odpowiadać za jego konfigurację i utrzymanie |
| Serwer dedykowany | Całą fizyczną maszynę | Większy zakres obsługi i zwykle wyższy koszt wejścia |
Nie traktuj tych opcji jak obowiązkowych stopni rozwoju. Aplikacja nie musi przechodzić kolejno przez każdy wariant. Może długo działać na dobranej usłudze, a później przenieść tylko tę część, której wymagania się zmieniły.
Istnieją też platformy uruchamiające aplikację na podstawie jej plików, na przykład Vercel. Przejmują część pracy nad infrastrukturą, czyli komputerami i usługami potrzebnymi do działania projektu, ale mają własne zasady zgodności i rozliczeń. Dokumentacja platformy Vercel.
Sprawdź zgodność projektu
Najtańszy pakiet nie pomoże, jeśli nie potrafi uruchomić Twojej aplikacji. Oferta „hosting stron” może obsługiwać inny rodzaj projektów niż ten, który przygotował kreator. Nazwa handlowa usługi nie zastępuje listy obsługiwanych wymagań.
PHP jest językiem używanym między innymi do wykonywania kodu stron po stronie serwera. Node.js jest środowiskiem, czyli programem pozwalającym wykonywać kod JavaScript poza przeglądarką. JavaScript to język instrukcji często używany w aplikacjach internetowych, a obecność obsługi PHP nie oznacza automatycznie obsługi Node.js.
Nie musisz samodzielnie wybierać języka ani przepisywać projektu. Zapytaj, czego potrzebuje już istniejąca aplikacja. Dla dostawcy konkretna informacja o wymaganym środowisku i jego wersji będzie użyteczniejsza niż zdanie „aplikacja została zrobiona przez sztuczną inteligencję”.
Ustal również, czy otrzymujesz gotowe pliki do udostępnienia, czy projekt trzeba najpierw przygotować do uruchomienia. Ten proces bywa nazywany budowaniem aplikacji: narzędzia przekształcają pliki robocze w postać przeznaczoną do działania. Nie każda usługa pozwala przeprowadzić go u siebie.
Osobne pytanie dotyczy pracy w tle, czyli wykonywania zadań bez otwartej strony użytkownika. Przygotowywanie dużego raportu albo zaplanowana wysyłka powiadomień może wymagać innych warunków niż wyświetlanie formularza. Sprawdź, czy usługa dopuszcza takie zadania i jakie mają ograniczenia.
Poproś o odpowiedź opartą na plikach projektu, nie na samej nazwie kreatora. Dwa projekty utworzone w tym samym narzędziu mogą wykorzystywać różne dodatkowe usługi. Ich wymagania, a w konsekwencji odpowiednie miejsce uruchomienia, mogą być odmienne.
Parametry bez zgadywania
Procesor przypomina pracownika wykonującego obliczenia. W ofertach jego zasoby opisuje się między innymi liczbą rdzeni albo vCPU, czyli wirtualnych jednostek mocy obliczeniowej. Większa liczba może pomóc przy wielu zadaniach, ale nie naprawia automatycznie błędów w aplikacji.
Pamięć RAM działa jak blat roboczy, na którym program trzyma rzeczy potrzebne w danej chwili. Dysk jest szafą na dłużej przechowywane pliki. Duży dysk nie zastępuje pamięci RAM, tak jak większa szafa nie powiększa stołu.
Transfer oznacza ilość danych przesyłanych przez sieć. Portal z wieloma zdjęciami może przesyłać znacznie więcej informacji niż prosty kalkulator przy podobnej liczbie odwiedzin. Sprawdź, czy oferta ogranicza transfer, prędkość przesyłania albo oba te parametry.
Nie dobieraj serwera tylko do liczby zarejestrowanych kont. Znaczenie ma to, ilu użytkowników działa jednocześnie i co wtedy robią. Przechowywanie listy kursantów stawia inne wymagania niż równoczesne przygotowywanie wielu dużych dokumentów.
Zapytaj o trwałość plików zapisywanych podczas działania. W niektórych usługach robocze miejsce aplikacji nie jest przeznaczone do stałego przechowywania załączników. Pliki użytkowników powinny trafiać tam, gdzie pozostaną również po ponownym uruchomieniu lub opublikowaniu nowej wersji.
Zacznij od wymagań istniejącego projektu i małej rzeczywistej próby. Nie kupuj dużego zapasu na podstawie samej nadziei na popularność. Jednocześnie sprawdź możliwość zwiększenia zasobów i warunki takiej zmiany, zanim obecny plan zacznie ograniczać pracę.
Kto zajmuje się obsługą
Najważniejsze pytanie często brzmi: „Kto wykona pracę, gdy trzeba zmienić ustawienia lub usunąć problem?”. Serwer bez opieki nie staje się bezobsługowy tylko dlatego, że ma panel z przyciskami. Panel ułatwia niektóre czynności, ale nie podejmuje za Ciebie decyzji.
System operacyjny to podstawowe oprogramowanie zarządzające pracą komputera. Na samodzielnie obsługiwanym VPS ktoś musi dbać o jego aktualizacje i ustawienia. Osobno trzeba utrzymywać programy, z których korzysta aplikacja, oraz sam projekt.
Usługa zarządzana oznacza, że dostawca przejmuje określone obowiązki administracyjne. Zakres zależy od umowy i może nie obejmować naprawy Twojego kodu ani ustawiania nietypowych usług. Przykładowo Hetzner odrębnie opisuje ofertę zarządzanych serwerów i udostępniany w niej panel obsługi. Opis serwerów zarządzanych Hetzner.
Rozpisz odpowiedzialność przed zakupem:
- Dostawca zapewnia to, co wynika z opisu wykupionej usługi.
- Opiekun techniczny zajmuje się uzgodnioną konfiguracją i utrzymaniem.
- Osoba rozwijająca aplikację poprawia jej działanie.
- Ty pilnujesz dostępu do kont i ciągłości opłat.
Jedna osoba lub firma może pełnić kilka ról, ale ich granice nadal powinny być jasne. Pomoc dostawcy dotycząca niedostępnej maszyny nie oznacza automatycznie pomocy przy błędnym formularzu. Sprawdź, jak zgłaszać problem i co obejmuje odpowiedź.
Przy pierwszej aplikacji zarządzana usługa albo ustalona opieka techniczna może być rozsądniejsza od samodzielnego VPS. To ocena wynikająca z zakresu obowiązków, nie z samej ceny maszyny. Wybierasz także ilość pracy, którą potrafisz przejąć.
Cena całej usługi
Porównuj pełny okres korzystania, a nie tylko promocyjny początek. Hosting bywa opłacany z góry za rok, mimo że oferta pokazuje przeliczenie miesięczne. Sprawdź również cenę odnowienia, podatek i dodatki potrzebne do uruchomienia projektu.
Dla orientacji oferta OVHcloud dotycząca uruchamiania Node.js prezentuje podstawowy VPS od około 20 zł brutto miesięcznie. To przykład rzędu wielkości najmu małej maszyny, nie cena gotowej opieki nad aplikacją, a konkretną konfigurację i warunki trzeba potwierdzić przed zakupem. Przykładowa oferta VPS.
Do porównania dopisz płatne dodatki, osobną bazę danych i przestrzeń na dokumenty, jeśli projekt ich wymaga. Sprawdź też, czy cena obejmuje przygotowanie usługi, przeniesienie projektu i późniejszą pomoc. Pozycja „serwer” może stanowić tylko część rzeczywistego wydatku.
Przy serwerze dedykowanym porównujesz zwykle inny poziom zasobów i zobowiązania niż przy podstawowym VPS. Nie uzasadniaj zakupu wyłącznie przekonaniem, że „własna maszyna będzie profesjonalna”. Potrzebne są wymagania, których tańsza lub prostsza usługa rzeczywiście nie spełnia.
Darmowy plan również wymaga przeczytania warunków. Może ograniczać wykorzystanie komercyjne, czas wykonywania zadań albo dostępne zasoby. Sprawdź, co wydarzy się po przekroczeniu limitu: zatrzymanie działania, ograniczenie możliwości czy dodatkowa opłata.
Przy rozliczaniu według użycia ustaw dostępne powiadomienia i ograniczenia wydatków. Nie każdy alert zatrzymuje naliczanie kosztu, więc rozróżnij ostrzeżenie od twardego limitu. Ta wiedza jest częścią wyboru usługi, a nie dodatkiem odkładanym do pierwszego większego rachunku.
Przygotuj pierwsze uruchomienie
Zbierz pliki aplikacji, opis wymagań i listę usług, z którymi projekt się łączy. Repozytorium, czyli zbiór plików wraz z historią zmian, może być wygodnym sposobem przekazania kodu. Paczka ZIP, czyli skompresowany zbiór plików, również bywa wystarczająca, jeśli zawiera potrzebne elementy i instrukcję.
Ustawienia przekazywane aplikacji poza jej zwykłym kodem nazywa się zmiennymi środowiskowymi. Mogą określać adres bazy danych lub zawierać tajne dane dostępowe. Osoba uruchamiająca projekt powinna wiedzieć, które ustawienia są potrzebne i gdzie bezpiecznie je wprowadzić.
Przejdź przez uruchomienie w kolejności:
- Potwierdź zgodność wybranej usługi z wymaganiami projektu.
- Przygotuj konta oraz dostęp do potrzebnych usług.
- Uruchom aplikację pod adresem przeznaczonym do sprawdzenia.
- Wykonaj podstawowe zadanie z danymi testowymi.
- Sprawdź zapis danych po ponownym wejściu i przygotuj wersję dla odbiorców.
Nie ograniczaj sprawdzania do strony głównej. W aplikacji szkoły językowej dodaj zgłoszenie i odnajdź je z drugiego uprawnionego konta. W kalkulatorze porównaj wynik z ręcznym obliczeniem, a w rezerwacjach sprawdź zajęty termin.
Upewnij się również, że wiesz, jak publikować późniejsze poprawki. Jeśli pierwsze uruchomienie wykonał ktoś inny, potrzebujesz opisu dalszej procedury i dostępu do właściwych kont. Jednorazowo działająca aplikacja bez możliwości uporządkowanej aktualizacji pozostawia niepotrzebną zależność.
Na koniec zapisz wybraną usługę, jej zakres i osobę odpowiedzialną za obsługę. Dobra decyzja hostingowa pozwala Ci wyjaśnić, gdzie działa projekt, co obejmuje opłata i do kogo trafia problem. Nie wymaga znajomości wszystkich technologii dostępnych na rynku.
Podsumowanie w pięciu punktach
- Wybieraj miejsce uruchomienia na podstawie wymagań projektu i używanych usług.
- Rozróżniaj gotowy hosting współdzielony, wydzielony VPS i całą maszynę dedykowaną.
- Dopasuj zasoby do wykonywanych zadań, a nie samej liczby kont.
- Ustal odpowiedzialność za konfigurację, utrzymanie i poprawki aplikacji.
- Porównuj pełny koszt oraz sprawdź podstawowe zadanie po uruchomieniu.
Co dalej
Przeczytaj „Domena”, żeby wybrać adres dla aplikacji, oraz „Kopie zapasowe i bezpieczeństwo”, żeby zaplanować ochronę jej danych. Temat „Chmura i kontenery” wyjaśnia kolejne sposoby organizacji miejsca, w którym działa projekt.