PaaS czy VPS – jaki wybór dla solo-przedsiębiorcy?

Chmura dla solo-przedsiębiorcyKażdy solo-przedsiębiorca oferujący usługę on-line (SaaS) stanie w końcu przed wyborem – Platform as a Service (PaaS) czy Virtual Private Server (VPS). Wiele osób – szczególnie wywodzących się z IT – wybierze serwer wirtualny, ale czy to na pewno najlepszy wybór w tym przypadku?

W poprzednim artykule podpowiadałem jaki biznes wybrać, ale nie odpowiedziałem jaki wybrałem ja sam 🙂 Na ten moment powiem tylko, że do poprawnego działania mojej usługi będę potrzebował jakiegoś serwera WWW, PHP, baz danych MySQL i MongoDB (obu gotowych na pokaźną ilość danych) oraz dość dużo przestrzeni dyskowej na dane tymczasowe.

Platform as a Service (PaaS)

Książka The Parallel Entrepreneur: How to start and run B2B businesses while keeping your day job, Ryana Buckley’a, przypomniała mi o czymś takim jak PaaS (Platform as a Service). Czy takie rozwiązanie mogło by służyć mi jako „hosting”? Analizę zacząłem od wspomnianego w książce Heroku, oferowanego przez Salseforce’a. Później w obroty wziąłem platformy Amazon Web Services, Google Cloud Platform i Microsoft Azure. Jest tego dużo więcej, ale postanowiłem skupić się na największych i najbardziej znanych rozwiązaniach.

Wg mnie największe zalety tych rozwiązań:

  • skalowalność – w kilku kliknięciach zapewniasz potrzebną infrastrukturę rozwijającemu się w szybkim (lub gwałtownym) tempie serwisowi,
  • bezpieczeństwo danych – zawsze coś się może wydarzyć, ale nadal w większości wypadków będzie to rozwiązanie bezpieczniejsze niż to, które stworzysz sam, a do tego utrzymywane przez najwyższej klasy specjalistów i na bieżąco aktualizowane,
  • dostępność – 24h na dobę czuwa nad nimi sztab ludzi; możesz oczywiście otrzymać powiadomienie, jeżeli coś się dzieje nie tak z infrastrukturą i modułami, ale nadal nie musisz nawet kiwnąć palcem; bo skoro Ty dostałeś powiadomienie, to usługodawca też… i już pracuje nad poprawieniem sytuacji,
  • łatwość obsługi i oszczędność czasu – szczególnie ważne dla osób, które nie są miłośnikami dłubania w linuxowym (lub innym) gąszczu,
  • rozliczanie nawet z dokładnością do minuty – sprawdzi się świetnie, gdy skokowo – na chwilę – potrzebujemy dużej mocy obliczeniowej, która przez większość czasu nie jest potrzebna i leżałaby odłogiem.

Największe wady tych rozwiązań, z mojego punktu widzenia:

  • koszty – wystarczy parę kliknięć i rachunek rośnie do niebotycznych rozmiarów; jeżeli do tego chcesz obejrzeć statystyki z zakresu innego niż 24h (ograniczenie Heroku w najniższym planie), musisz dopłacić kolejne cebuliony,
  • ograniczenia platformy – każda platforma ma swoje ograniczenia; o ile wiele dodatkowych usług można sobie doinstalować, to już dostępne na platformie języki programowania ciężko rozszerzyć, to samo tyczy się przestrzeni dyskowej; ograniczeniem dla niektórych biznesów (np. na rynek rosyjski) może być też miejsce postawienia serwerów; jeżeli czegoś nie ma w ramach platformy – wróć do punktu pierwszego i dorzuć kolejne dolary lub szukaj innego rozwiązania, bo platforma nie zmieni się dla Ciebie.

Warto też zauważyć, że większość tego typu platform pozwala skorzystać tylko z wybranych funkcjonalności. Wrócę do tego jeszcze w dalszej części artykułu.

Do tej pory moje testy Heroku, trwające nieco ponad 2 miesiące, kosztowały mnie $22,27. Do poprawnego (produkcyjnego) działania serwisu potrzebowałbym usług za łączną kwotę $50/miesiąc. W ciągu roku dałoby to ok. 2.200 zł brutto. Do tego na okres testów przed uruchomieniem potrzebowałbym Hobby dyno za $7/miesiąc. Plus kilka Add-onów – na szczęści każdy z nich ma opcję darmową – wystarczającą do testów, ale nie do uruchomienia produkcyjnego.

Virtual Private Server (VPS)

Serwery wirtualne są stosowane powszechnie i sam na bieżąco wykorzystuję taki jeden czy dwa. Wcześniejsze doświadczenia pozwalają mi się dość sprawnie poruszać w środowisku linuksowym. Chociaż kiedyś pełniłem rolę Administratora Systemów, to obecnie mogę nazwać się co najwyżej zaawansowanym amatorem. Technologia pędzi do przodu, a ja już nie poświęcam 8-10h dziennie na rozwój w tym obszarze.

Zalety:

  • swoboda – w konfiguracji, dostępie do statystyk i instalowaniu wszystkiego, na co przyjdzie nam ochota; jakieś ograniczenia oczywiście istnieją, ale w porównaniu z pozostałymi rozwiązaniami możemy uznać to za dużą swobodę,
  • stosunkowo niskie koszty – pod warunkiem w miarę stabilnego zapotrzebowania na zasoby serwera (procesor, pamięć, przestrzeń dyskowa),
  • możliwość uruchomienia (w ramach jednego kosztu) wielu małych serwisów i usług – możemy tanio testować różne rozwiązania, budować wiele landing page’y, a nawet uruchomić mały serwer pocztowy (jeżeli wystarczy nam 1 adres IP).

Wady:

  • wymaga wiele wiedzy i umiejętności – konfiguracja serwera nie jest wcale taka banalna; do tego dochodzą różnego rodzaju zabezpieczenia przed atakami hakerów; skoro nawet do najlepiej zabezpieczonych serwerów udaje się włamać, to na ile bezpieczny jest Twój system?
  • bardzo czasochłonne rozwiązanie – jeżeli masz już wiedzę i umiejętności potrzebne do uruchomienia Twojego serwisu, to na pewno wiesz już też, że na konfigurację serwera (no przecież chcesz deployować każdą nową wersję swojego serwisu jednym kliknięciem, a dane muszą być zabezpieczone na kilka sposobów) i aktualizacje poświęcisz całą masę czasu,
  • konieczność reagowania na awarie (inne niż sprzętowe i sieciowe) 24h na dobę – jak padnie procesor, to usługodawca wymieni go „automatycznie” – bez Twojego udziału; ale m.in. o restart bazy danych po zawieszeniu (co się czasem zdarza) będziesz musiał zadbać już sam (a wcześniej w ogóle to monitorować).

Szacuję, że na obciążenie serwerów potrzebnych do działania mojego serwisu (przy założeniu przychodów na poziomie $10.000 miesięcznie), wystarczy dobry prosty VPS za jakieś 400 zł brutto/rok.

Inne opcje

Hosting

Rozumiany jako możliwość uruchomienia serwisu na współdzielonym serwerze. O ile sprawdzi się do prostej strony, to do usługi on-line będzie już w większości wypadków niewystarczający. Nie mamy tu właściwie żadnych gwarantowanych parametrów. Dużo zależy od tego, z kim współdzielimy serwer, a na to nie mamy żadnego wpływu. Nawet bardzo niski koszt nie rekompensuje wad tego rozwiązania.

IaaS (Infrastructure as a Service), serwery dedykowane, własne serwery

Jeżeli już w przypadku serwera VPS mówimy o dużej wiedzy i pracochłonności, to tutaj powinniśmy podnieść to do n-tej potęgi. Jeżeli w przyszłości postanowisz jednak zatrudnić pracowników i zwiększyć skalę działalności, to możesz wrócić do tych opcji. Teraz wystarczy świadomość, że istnieje coś takiego jak kontenery Dockera i Kubernetes, które są teraz najbardziej istotnym trendem w przypadku dużych infrastruktur serwerowych. Takie rozwiązania dla solopreneur’a, to jak strzelać z armaty do mrówki.

Co wybrałem i dlaczego?

Mój wybór nie jest taki prosty i jednoznaczny. Co więcej – nie odpowiada na pytanie, które rozwiązanie jest lepsze. Biorąc pod uwagę moje doświadczenie i chęć ograniczania kosztów, szczególnie gdy biznes jest jeszcze niepewny, na początek mojej działalności wybrałem serwer wirtualny. Co więcej – do momentu uruchomienia produkcyjnego – będę korzystał z jednego z serwerów, z których już teraz korzystam.

VPS wybrałem od OVH, bo mamy już długą historię współpracy, mają korzystny stosunek jakości do ceny, a do tego (od niedawna) mogę wybrać lokalizację sewera w Polsce.

ALE… w przyszłości – po jakimś roku od startu, jeżeli serwis zacznie przynosić zyski – zamierzam się przenieść na Heroku. Nie mam wątpliwości, że to PaaS pozwoli mi wyjechać na dłuuuugie wakacje ze spokojną głową. Zwiększy to też znacznie bezpieczeństwo danych, co nie powinno być obojętne moim przyszłym klientom.

Żeby mieć pewność, że cały czas jestem zgodny z Heroku, będę opłacał moje dotychczasowe konto ($7/miesiąc) i na bieżąco będę robił deploy na to środowisko. W odpowiednim momencie – gdy będę już gotowy na „przesiadkę” – wystarczy kilka kliknięć i torebka dolarów.

Nie zapomnę też o Amazonowym AWSie, bo pod wieloma względami ich S3 jest bezkonkurencyjne. Bedę też chciał skorzystać z 2 usług dostępnych w ramach Google Cloud Platform, ale jeszcze nie zdradzę, o jakie z nich chodzi i dlaczego. Odpowiedzi na to w kolejnych artykułach 🙂