Przejdź do treści PWA

VPS SSD w OVH jako hosting dla Twojej aplikacji Node.js. Czy warto?

Rok temu napisałem artykuł o tym dlaczego kończę współpracę z nazwa.pl i spróbuję zarządzać swoim pierwszym VPS-em w OVH.

Chciałem podsumować ten czas oraz przedstawić mój nowy zakup!

Baner promujący artykuł

Dlaczego OVH?

Pozwolę sobie zacytować siebie sprzed roku:

Słyszałem od obecnych użytkowników OVH, że za tyle pieniędzy ile płaciłem za hosting w Nazwa.pl, mogę sobie kupić usługę VPS. Piotr Kowalski - 2016-05-01 - Artykuł, gdzie przeprowadzam się do OVH

Po co zmieniam pakiet? Podsumowanie obecnej konfiguracji

Obecnie korzystam z VPS z Ubuntu 15.04 bez możliwości aktualizacji.

Trochę mi to przeszkadza, chociażby do prowadzenia tego bloga, którego mam postawionego na Jekyll-u. Jest to narządzie, a w sumie jest to gem (taka paczka z kodem, coś podobnego do naszych paczek w npm-ie), które wymaga nowszej wersji Ruby. Niestety, ale tutaj pojawia się problem z wersjami.

Wymagana wersja Ruby nie jest w stanie być zainstalowana na tak starym Ubuntu jaki jest zainstalowany na moim VPSie. Oznacza to tylko jedno. Czas na zmianę, czyli upgrade serwera.

Możliwości

To może na początek suchar:

  • Co może być lepszego niż własny VPS?
  • VPS z nowszym OS oraz wydajniejszym hardwarem.

Kurtyna.

Analizując ofertę OVH zobaczyłem, że posiadają serwery VPS z serii SSD, na których można zainstalować Ubuntu 16.04 (tak wyczytałem w sekcji Systemy operacyjne VPS OVH).

Pomyślałem sobie:

Nie jest to najnowszy system, ale na ten moment w zupełności mi wystarczy.

Wybieram najtańszą ofertę - VPS SSD 1 - z kilku powodów:

  • nie przewiduję wykonywać procesów, które obciążą serwer do takiego stopnia, że będzie problem z dostępnością jego zasobów (czytaj dalej auto-DOS)
  • w każdym momencie mogę zrobić upgrade na wyższą wersję zyskując tym samym więcej przestrzeni dyskowej oraz większą ilość pamięci RAM

Cena za serwer to 10.99 zł netto miesięcznie.
W przeliczeniu na rok dla kogoś, kto nie ma własnej działalności gospodarczej wychodzi 162.21 zł brutto. ZA CAŁY ROK.

Za co płacę?

Dostaję VPS-a z następującą konfiguracją:

  • 1 vCore(s)
  • 2,4 GHz
  • 2 GB RAM
  • 20 GB SSD

Kiedy przychodzi mi do wyboru szczegółów zamówienia (a jednym z nich jest wybór zainstalowanego systemu operacyjnego) widzę opcję 18.04!

WOW ⭐️

Ktoś się chyba pomylił, ale ciiii… może się nie skapną 😄

Ktoś nie aktualizuje swojej oferty, hmm...

Dlaczego Ubuntu?

Najważniejszy powód to społeczność.

Społeczność ma to do siebie rozwija oprogramowania na ten system, dba o łatki bezpieczeństwa, analizuje performance i podkręca soft jeszcze mocniej.

Kolejna rzecz wynikająca z pierwszej to popularność. System jest popularny więc developerzy piszą na niego soft.

Czy próbowaliście uruchamiać polecenie find na CentOS?
Jeśli nie to zobaczcie jak zaskakujące jest życie developera https://github.com/piecioshka/encoding-checker/issues/2

Migracja

Jakie są kolejne kroki po zakupie nowego serwera?

Dodam, że podczas zakupu dostajemy credentiale do konta root

  1. Konfiguracja SSH

    GitHub świetnie wytłumaczył jak to ogarnąć (link powyżej).

  2. Utworzenie nowego użytkownika

    Praca z własną maszyną jest o tyle interesująca, że dostajemy od razu konto, które ma najwyższe uprawnienia i możemy zrobić wszystko.

    Nie posiadając zwykłego użytkownika, kiedy uruchamiamy dowolny soft uruchamiamy go z uprawnieniami root-a. Niesie to za sobą poważne konsekwencje.

    Każdy skrypt uruchomiony na maszynie będzie upoważniony do tego, aby korzystać z zasobów całego systemu operacyjnego. Może zrobić wszystko. Czy na pewno chcemy oddać tą władzę?

    Jak to zrobić opisałem w poprzednim artykule na temat zakupu VPS-a.

  3. Instalacja niezbędnego oprogramowania

    Co to znaczy dla mnie niezbędne oprogramowanie? Oczywiście: Git oraz Node.js.

    Tego zawsze mi brakowało w hostingach których używałem. Deployment za pomocą Git-a to przyjemność. Wysyłam (git push) do origin-a zmiany, przełączam terminal na VPS-a, pobieram (git pull) zmiany i gotowe 🎉

    W tym miejscu instaluję Node.js za pomocą prostego narzędzia nvm, które daje mi elastyczność w instalowaniu kilku wersji Node.js w jednym systemie operacyjnym.

    Rozwiązanie jest szczególnie pomocne, kiedy masz kilka projektów, które były tworzone w różnych wersjach Node.js i są ściśle do nich “przywiązane”.

  4. Instalacja projektów, które były we wcześniejszej lokalizacji

    Korzystają z Git, przenoszenie projektów jest bardzo proste. Na nowym środowisku klonuję repozytorium, instaluje zależności i uruchamiam:

     npm start
    
  5. Przekierowanie ruchu ze starego VPS-a na nowy

    Ostatecznej aktualizacji wymagają DNSy, gdzie trzeba zaktualizować adres, na które mają się rozwiązywać domeny.

  6. Wyłączenie starego VPS-a

     shutdown
    

Co powie dobry admin?

“Synku, a gdzie są backupy ze starego serwera?”

No właśnie, ten temat dla mnie i moich projektów jest opcjonalny.

Znacie ten żart?
Ludzie dzielą się na tych co robią backupu i tych którzy będą je robili.

Podsumowanie

Korzystają wiele miesięcy z usług OVH muszę z przykrością powiedzieć, że nie potrzebuję oglądać innych ofert, bo to jest mi zaoferowane spełnia moje oczekiwania.

Posiadanie własnego VPSa daje tą wolność uruchomienia aplikacji Node.js. Ktoś próbował uruchomić aplikację serwerową na hostingach? No właśnie.

Nie sądziłem, że korzystanie z VPSa będzie tak przyjemne. Własny serwer to nie tylko konto root, ale też możliwość uploadu na serwer czego dusza zapragnie. Disk quota wynosząca 20GB daje mi dużo możliwości. Tym samym mogę WRESZCIE przechowywać na serwerze zdjęcia w prywatnej “chmurze”.