Serwer w domu - tak czy nie?

Serwerownia w ciemnej kolorystyce - po lewej i prawej ustawione szafy serwerów, na środku pusta przestrzeń, na górze sufit ze świecącymi lampami

Przygotowałeś własną stronę lub zleciłeś komuś wykonanie takiej dla Ciebie? Świetnie, masz już gotowe swoje miejsce w sieci. Jednak teraz, aby inni mogli ją normalnie oglądać, musi zostać umieszczona na jakimś serwerze - komputerze, który przez cały czas będzie dostępny w internecie, a na nim odpowiednie oprogramowanie będzie „pokazywało” witrynę na prośbę łączącego się użytkownika. Tutaj pojawiają się usługodawcy świadczący hosting.

Mamy różne opcje hostowania stron. Najbardziej podstawową, prostą, ale też często wystarczającą będzie hosting współdzielony. Jest to usługa, dzięki której możemy skorzystać z serwerów naszego usługodawcy i umieścić na nich naszą witrynę. Działa to tak, że firma, która go oferuje, ma wiele fizycznych maszyn i na każdej z nich uruchomione są rozmaite usługi i strony różnych klientów. Nie dostajesz tam więc całego serwera dla siebie i nie możesz uruchomić tam wszystkiego. Masz do dyspozycji tylko zasoby i usługi określone w danej ofercie, którą kupisz. Najczęściej za bardziej niestandardowe rzeczy trzeba dopłacić albo wcale nie ma możliwości, aby je tam uruchomić.

Takie usługi są płatne od kilku/kilkunastu złotych miesięcznie wzwyż, w zależności od wybranej firmy i pakietu. Można natrafić na darmowe rozwiązania, jednak one przeważnie są mocno ograniczone, nie gwarantują żadnej stabilności albo nakładają reklamy - zasadniczo nie nadają się realnie do poważnego zastosowania. Samo skorzystanie z hostingu współdzielonego jest względnie proste: zakładamy sobie konto w danej firmie, opłacamy usługę, uzyskujemy dostęp do jakiegoś panelu administracyjnego z ustawieniami, wgrywamy pliki w określone miejsce i działa.

Wiele osób, szczególnie zaczynających przygodę ze stronami, myśli o tym, aby zaoszczędzić i postawić stronę w domu, czy to na swoim komputerze, czy też wziąć jakiś stary sprzęt, który i tak leży zakurzony. Z początku to wydaje się nawet całkiem niezły pomysł! W domu i tak mam komputer, korzystam z niego, mam internet, więc nie wydam na to ani złotówki - myślisz. To są jednak tylko pozory, a gdy zaczerpniesz trochę wiedzy i jeszcze raz się zastanowisz, to okazuje się, że wcale nie jest tak fajnie, jak miałoby być.

Sprzęt i oprogramowanie

No ale przecież i tak mam komputer, więc gdzie jest problem? Pomyśl, ile masz komputerów. Jeden? A co jeżeli on się zepsuje? Twoja strona przestanie działać. Twój, przykładowo, sklep internetowy, który tam uruchomiłeś, przestanie zarabiać, klienci nie będą mogli niczego kupić. Nawet jeśli masz w domu więcej komputerów, to zakładam, że nie skonfigurujesz wszystkich jako serwery, więc awaria czegokolwiek będzie skutkowała przerwą w działaniu. Poza tym, ile masz części zamiennych, aby móc szybko coś wymienić? W momencie, gdy „padnie” przykładowo dysk twardy, złożysz dopiero zamówienie w sklepie i dostaniesz go przy sprawnej realizacji za 2 dni albo będziesz jeździł po sklepach, szukając nagle odpowiedniego podzespołu? Tak być nie może, dlatego właśnie bez odpowiedniego zabezpieczenia sprzętowego niczego nie zdziałasz.

Oprócz tego dochodzi kwestia systemu operacyjnego, programów i innych narzędzi. Na szczęście w tym przypadku możemy wziąć darmowego Linuxa, który jest powszechnie używany na serwerach i nie tylko. Większość potrzebnego oprogramowania jest dostępna bez opłat, na otwartych licencjach i z publicznie dostępnym kodem.

Zasilanie

Sama maszyna nic nie da, bo aby działała, musisz podłączyć ją do prądu. Tyle że przecież mam w domu prąd, więc o co znowu mu chodzi - tak pomyślałeś? :) A zdarzyło się kiedyś, że go nie miałeś, jakaś chwilowa awaria? Myślę, że tak, wszędzie się może wydarzyć. Wtedy również Twój serwer przestanie działać, a tak stać się już nie może.

Pewnie możesz sobie kupić UPS i być może „uratuje” to Cię w części przypadków. Nie, nie chodzi o tę znaną firmę kurierską, a o zasilacz awaryjny z akumulatorem, który w razie awarii zasilania z sieci, zacznie zasilać serwer z baterii przez kilkanaście-kilkadziesiąt następnych minut. Co po tym czasie? Albo prąd wróci, albo serwer się wyłączy. Jak dalej chcesz podtrzymywać zasilanie, to wychodzi na to, że musiałbyś mieć agregat prądotwórczy. Wydaje mi się, że nie jest to standardowe wyposażenie każdego domu, a już tym bardziej mieszkania ;) Nawet gdyby chcieć zakupić UPS, to są to dodatkowe koszty rzędu przynajmniej kilkuset złotych.

Słup energetyczny, w tle niebo

Oczywiście pozostaje jeszcze cena samego prądu. Nawet jeśli obecnie dużo pracujesz przy komputerze, to jednak zakładam, że nie działa on 24 godziny przez 7 dni w tygodniu i wszystkie dni w roku. W przypadku uruchomienia takiego serwera należałoby się więc spodziewać wzrostu rachunków za energię.

Internet

Jak i prąd, tak samo sieć internetowa. Awaria również może się zdarzyć, a na to już nie pomogą żadne baterie. Trzeba byłoby zaopatrzyć się w kilka łączy internetowych różnych usługodawców. Oczywiście powinny to być łącza odpowiednio szybkie, aby potencjalnemu zainteresowanemu strona nie ładowała się w nieskończoność. Wyobrażasz sobie, że spokojnie wieczorkiem chillujesz przy ulubionym serialu na Netflixie i tu nagle akurat wzrósł ruch na Twojej stronie, więc odtwarzanie się zacina? Nic przyjemnego.

Są jeszcze kwestie typowo techniczne. Musisz mieć publiczny adres IP i możliwość wystawienia „na świat” całego serwera (DMZ) lub przekierowania wybranych portów. Część dostawców internetowych daje zewnętrzne publiczne IP w standardzie, u innych to dodatkowa usługa, w jakiejś części pewnie taka opcja wcale nie jest możliwa. Najlepiej jeszcze jakby ten adres IP był stały, bo ze zmiennym będą dodatkowe niedogodności - tu też jest różnie w zależności od firmy/oferty.

Człowiek i wiedza

Niestety, to nadal nie wszystko. Potrzebujesz jeszcze ludzi, którzy non stop będą nad tym czuwać. Jeśli coś zepsuje się o 3 w nocy, gdy smacznie śpisz, to wypadałoby o tym wiedzieć i jak najszybciej naprawić. Jeżeli akurat jesteś na imprezie i dobrze się bawisz, a zepsuł się serwer, no to niestety również wypadałoby przerwać i przywrócić witrynę „do życia”. Wakacje? Tak samo, taki trochę ciągły stan czuwania. Prawdopodobnie trzeba by więc mieć wsparcie - osobę, która pomoże monitorować działanie wszystkiego. Sporo rzeczy można na szczęście zrobić zdalnie, ale obawiam się, że jak fizycznie zepsuje się jakiś podzespół, to już go zdalnie nikt nie wymieni.

Dobrze byłoby też, gdyby osoba się tym zajmująca miała jakieś doświadczenie lub kogoś z umiejętnościami do wsparcia w razie potrzeby. Wszystkiego się można nauczyć, jak ktoś chce i znajdzie czas, ale jeśli Twoja wiedza o komputerach kończy się - bez urazy oczywiście, to tylko przykład - na obsłudze przeglądarki i pakietu biurowego, to po prostu nie dasz sobie rady. Wypadałoby mieć chociaż minimalne pojęcie o administracji serwerami, jak to uruchomić i co skonfigurować, aby mogło to w miarę bezpiecznie działać. W końcu cały serwer lub określone usługi byłyby wystawione zupełnie publicznie, więc ktoś niemiły może chcieć wykorzystać każdą możliwą lukę, aby przejąć sam serwer czy dostać się do sieci.

Rozwiązanie idealne?

Wiesz już, że serwer w domu to wcale nie taka błaha sprawa. Czy więc ten wykupiony hosting to takie idealne rozwiązanie do wszystkiego? Oczywiście nie, wszystko zależy od potrzeb. Z całą pewnością jednak do uruchomienia przeciętnej strony znacznie lepiej będzie zakupić dedykowane rozwiązanie w postaci sprawdzonej usługi, niż samemu wykonać jakąś prowizorkę w domu. Hostingi też mają awarie, też pojawiają się problemy, też coś może nie działać, ale szansa na to jest jednak mniejsza oraz naprawa nie leży po Twojej stronie. I nie jest to żadna reklama tego typu ofert, celowo też nie wymieniam żadnego konkretnego usługodawcy.

Hosting współdzielony to nie jedyna opcja. Długo można by mówić, ale nieco większe możliwości daje VPS. Dostajemy wtedy własną wirtualną maszynę w serwerowni, z określonymi zasobami i pełnym dostępem, czyli mamy cały serwer dla siebie. Dla jeszcze bardziej wymagających są serwery dedykowane. To także maszyny z pełnym dostępem, z tym że już fizycznie istniejące, a nie tylko wirtualne w ramach jednego faktycznego serwera, jak VPS. Oczywiście są to rozwiązania odpowiednio droższe. Oprócz tego mamy rozwiązania chmurowe (cloud). Te z kolei dają najczęściej bardzo duże możliwości rozbudowy, szeroki zakres rozbudowy infrastruktury u jednego usługodawcy oraz różne sposoby rozliczeń. Jakby wymieniać jeszcze dalej, to można znaleźć rozwiązania, na których uda się za darmo uruchomić małą stronę, jeśli spełni określone warunki. Mam tu na myśli na przykład GitHub Pages na których włączymy stronę z plików statycznych (czyli HTML, CSS i JavaScript spokojnie można), które będą w repozytorium GitHuba lub inne rozwiązania, które często oferują czasową lub w inny sposób limitowaną darmową wersję oferty.

Czyli nie powinienem niczego uruchamiać w domu?

Nie, to też nie tak. Jeżeli chcesz włączyć małą stronę dla najbliższych, kolegów lub samego siebie, to możesz spróbować uruchomić ją w jakiś sposób w domu. Nie potrzebujesz nawet tutaj komputera PC, spójrz na rozwiązania jak Raspberry Pi - mały komputerek, na którym bez problemu uruchomisz serwer stron. Chcesz się nauczyć postawienia własnego serwera od samych podzespołów po udostępnienie w sieci? Świetnie, w takim razie też możesz działać. A może chciałbyś zrobić sobie własny dysk internetowy, który da dostęp do plików w domu? Niezły pomysł!

Tym wpisem chciałem tylko zwrócić uwagę, że najczęściej uruchamianie swojej witryny w domu nie ma racji bytu. Będzie to problematyczne, niestabilne, mniej opłacalne. Jednak w sytuacji, gdy wiesz, co robisz i jakie rodzi to ewentualne kłopoty, to nie ma problemu - działaj :)


Jakie masz doświadczenia, próbowałeś uruchomić własną stronę w domu? Co i gdzie można hostować bez większych kosztów? Podziel się refleksjami.

Zdjęcie główne: Pixabay, zdjęcie w treści: Pixabay.

Komentarze