Czy warto korzystać z chmury? A może dedykowany serwer?

Praktycznie każdy w branży IT lub z nią związany zadaje sobie pytanie „czy korzystać z rozwiązań chmurowych?”. Wiele osób odpowie: oczywiście! Każdy korzysta z takich rozwiązań są najlepsze! Moja odpowiedź brzmi: to zależy. Zależy od bardzo wielu czynników i w tym wpisie postaram się je opisać.

Próbując odpowiedzieć sobie na to pytanie będę uwzględniał:

  1. Koszt (cena utrzymania serwera / infrastruktury)
  2. Wydajność
  3. Łatwość konfiguracji / możliwość dostosowywania do własnych potrzeb
  4. Bezpieczeństwo

Rodzaje rozwiązań:

  1. Chmura (AWS, Google Cloud)
  2. Dedykowany serwer
  3. VPS (Virtual Private Server) np. droplets w Digital Ocean

Słowem wstępu

Zanim przejdziemy dalej, ustalmy jedną rzecz. Moje doświadczenie z tworzeniem aplikacji w chmurze (AWS, GCP) jest znikome. Swój wpis opieram na przeczytanych artykułach oraz tutorialach na youtube. Jeśli nie zgadzasz się z którymś argumentem, daj znać w komentarzu.


Koszt

Koszt utrzymania aplikacji zależy od stopnia skomplikowania, wymaganej powierzchni dyskowej oraz potrzebnej mocy obliczeniowej. Tworząc aplikację bardzo ciężko oszacować ilu użytkowników będzie z niej korzystać (każdy chce, aby było ich jak najwięcej). Im więcej użytkowników, tym większe koszty.

Chmura

W internecie można znaleźć informacje mówiące, że chmura jest elastycznym rozwiązaniem pozwalającym zmniejszyć koszty utrzymania serwerów, kiedy użytkowników jest mało, a w razie potrzeby w łatwy sposób zwiększyć wydajność jednocześnie płacąc więcej. Zgadzam się. Jednak zanim zabierzemy się za udostępnienie naszej usługi w chmurze warto ustawić kontrolę (limit) kosztów i wiedzieć, kiedy koszty mogą wzrosnąć.

Dlaczego? Ten krótki film niech będzie przestrogą, że rozwiązania chmurowe bez odpowiedniej wiedzy mogą się skończyć bardzo źle dla naszego portfela.


Dedykowany serwer lub VPS

W przypadku dedykowanego serwera lub VPS koszty są stałe. Kupujemy (wynajmujemy) serwer i co miesiąc płacimy stałą kwotę niezależnie od tego czy wykorzystujemy cały potencjał czy nie.

Niektóre VPS, jak w przypadku Droplets w Digital Ocean, wymagają dokupienia dodatkowych opcji (np. zasobów dyskowych). Cena wybranych opcji pozostaje stała (chyba, że sami zwiększymy lub zmniejszymy zasoby).

Wydajność

Chmura

To największa zaleta zastosowania chmury. Wydajność serwera potrzebnego do obsłużenia ruchu może być dynamicznie zmieniana w trakcie działania aplikacji. Takie rozwiązanie pozwala uniknąć problemu z brakiem dostępności usługi co bezpośrednio przekłada się na złe doświadczenie (po angielsku „bad feeling” brzmi lepiej 😉 ) użytkownika. Więcej użytkowników? Więcej mocy! Mniej użytkowników? Mniej mocy i mniej kosztów.

Dedykowany serwer

Tutaj zasada jest prosta. Maksymalną wydajność jaką możemy uzyskać określona jest sprzętem, jaki kupimy. Im mocniejsza maszyna tym większe zasoby. Należy jednak pamiętać, że w przypadku dużego „piku” (nagła zwiększona ilość wejść) użytkowników nie jesteśmy w stanie zwiększyć zasobów maszyny ponad to co mamy. W takim wypadku musimy wspierać się kolejnymi serwerami lub rozważać inne rozwiązania (np. chmurę)

VPS

Podobnie jak w przypadku serwera dedykowanego – jaki kupimy, taką mamy wydajność. W przypadku VPSów najczęściej jest to fragment większego serwera, więc wydajność (i ksozt) jest tutaj niska.

Łatwość konfiguracji

Chmura

Niestety, jak wspomniałem przy wstępie, nie tworzyłem aplikacji z wykorzystaniem chmury. Jest mi ciężko powiedzieć czy konfiguracja jest prosta czy trudna. Oglądając tutoriale, konfiguracja wydaje się dość „skomplikowana”. Łączenie pojedynczych klocków (usług) daje duże możliwości konfiguracji, jednak należy pamiętać, aby usługi odpowiednio połączyć, a każda z usług ma swój panel administracyjny.

Jeśli się mylę – daj znać w komentarzu.

Dedykowany serwer

Posiadając własną maszynę możemy dostosować ją do naszych potrzeb tak jak nam jest wygodnie. Możemy wybrać system operacyjny, zmodyfikować jego ustawienia, a także zainstalować potrzebne aplikacje.

Konfiguracja serwera wymaga pewnego doświadczenia. Musimy wiedzieć jak usługi działają oraz jakie opcje powinniśmy włączyć lub wyłączyć.

W większość przypadków zarządzanie takim serwerem odbywa się przez konsolę, więc o klikanym panelu administracyjnym możemy zapomnieć (chyba, że poszczególne usługi dostarczają takie panel).

VPS

Podobnie jak w dedykowanym serwerze. VPS jest wycinkiem dedykowanego serwera, więc możemy na nim zrobić wszystko, co chcemy. Prawie…

Warto zwrócić na jedną (dwie) rzecz uwagę: czy VPS wspiera konteneryzację (jeśli chcemy korzystać z takiej opcji) oraz czy ma dostęp do instrukcji procesora, jeśli taka jest wymagana do działania jakiejś aplikacji.

Bezpieczeństwo

Podsumuję w obrębie 3 rozwiązań. Bezpieczeństwo naszej aplikacji, usług czy ogólnie serwera leży po naszej stronie. Korzystając z zewnętrznych rozwiązań pewna część bezpieczeństwa (np. przeciw DDoS) spada na dostawcę ponieważ on chroni swoją infrastrukturę.

Pamiętajmy, że jeśli nie zabezpieczmy serwera w odpowiedni sposób i zostanie on wykorzystany m. in. jako maszyna zombie, do wysyłki spamu czy kopania kryptowalut, grozi nam kasacją usługi od strony providera. W przypadku nielegalnych (niezgodnych z regulaminem) usług mogą nam grozić także sankcje karne.

Podsumowanie wpisu

Które rozwiązanie jest najlepsze? Odpowiedź jest niejednoznaczna i brzmi: to zależy.

Weź pod uwagę jak skomplikowana jest Twoja aplikacja (jak dużych zasobów potrzebuje), jak wielu użytkowników obsługujesz, czy spodziewasz się nagłego wzrostu ilości użytkowników (czego Ci życzę) oraz policz, która opcja będzie najbardziej korzystna finansowo.

Czy warto korzystać z chmury? A może dedykowany serwer?
Subscribe
Powiadom o
guest

0 komentarzy
Oldest
Newest Most Voted
Inline Feedbacks
Zobacz wszystkie komentarze