Spis treści
Z poniższego tekstu dowiesz się czym są usługi serverless i jakie korzyści daje ich stosowanie w procesie tworzenia oprogramowania. Poznasz też ofertę usług tego typu w chmurze Google.
W procesie tworzenia nowej aplikacji, witryny internetowej lub innej usługi online trzeba brać pod uwagę tzw. backend. To całe zaplecze sprzętowe zapewniające projektowi stabilne funkcjonowanie. Spore wyzwanie, biorąc pod uwagę koszty i czas potrzebny na zakup, instalację, konfigurację i utrzymanie sprzętu.
Na szczęście można wygodniej, szybciej, a co równie ważne, taniej. Po prostu zapomnij o infrastrukturze i przejdź na usługi typu serverless.
Na czym polega serverless?
Czy model serverless (w wolnym tłumaczeniu: bezserwerowe) oznacza, że przestaniesz używać jakichkolwiek serwerów w swoim projekcie? Bynajmniej. Po prostu wszystko co ich dotyczy przestaje być Twoim zmartwieniem.
Na szczęście cała opieka nad infrastrukturą i jej konfiguracją, jak również oprogramowaniem oraz środowiskiem uruchomieniowym, a także kwestia bezpieczeństwa spada na dostawcę usług chmurowych. Twój zespół może skupić się wyłącznie na tworzeniu kodu aplikacji.
Takie rozwiązanie ma szereg zalet, a jedną z nich jest krótszy TTM (Time-to-Market), czyli czas upływający od momentu opracowania koncepcji nowego projektu do wprowadzenia gotowego produktu na rynek. Ma to szczególne znaczenie dla małych firm i startupów, którym zależy na szybkim debiucie i skalowaniu.
Dzięki serverless zyskujesz większą efektywność wykorzystania zasobów. W tradycyjnym modelu infrastruktura działa non stop, niezależnie od obciążenia i zapotrzebowania ze strony użytkowników. Model serverless zmienia zasady gry. Dostawca usług chmurowych może dla Ciebie automatycznie skalować środowisko (w górę i w dół). W związku z tym płacisz wyłącznie za zasoby skonsumowane do pracy Twojej aplikacji.
Co z zarządzaniem infrastrukturą?
W modelu serverless za zarządzanie infrastrukturą odpowiada dostawca rozwiązań chmurowych. Poza tym może on też dostarczać system operacyjny maszyn (O/S), oprogramowanie pośredniczące, umożliwiające komunikację między aplikacjami lub usługami (middleware), a także środowisko wykonawcze (runtime). Taki model usług określamy wtedy jako PaaS (Platform-as-a-Service). Jest on zaprojektowany ściśle pod potrzeby związane z tworzeniem aplikacji i wdrażaniem oprogramowania.
Cechy usług i dostępne rozwiązania serverless – PaaS w chmurze Google
Podstawową i najpopularniejszą usługą Google Cloud Platform (GCP) oferowaną w modelu Platform-as-a-Service jest Google App Engine. Stanowi kompletne środowisko developerskie do tworzenia, wdrażania i hostowania aplikacji internetowych oraz backendu dla aplikacji mobilnych.
Platforma jest przystosowana zarówno do aplikacji monolitycznych, jak i aplikacji w architekturze mikroserwisów. Udostępnia dwa środowiska – standard i flexible. Twórca może wdrażać i rozwijać aplikację w jednym środowisku lub łączyć zalety obu środowisk.
Chcesz wiedzieć więcej o Google App Engine? Pobierz za darmo naszego ebooka: App Engine w chmurze Google – wprowadzenie do usługi i tutoriale
Warto wspomnieć również o dwóch innych usługach GCP oferowanych zgodnie z koncepcją serverless – Google Cloud Functions oraz Google Cloud Run. Pierwsza z nich skupia się na wykonywaniu określonego kodu (funkcji) w odpowiedzi na określone wydarzenia (przykładowo wysłanie nowego pliku na serwer). Google Functions to przykład modelu FaaS (Function-as-a-Service).
Za to Google Cloud Run pozwala tworzyć aplikacje w dowolnym języku programowania (przykładowo Python, Java, Ruby, Go, JavaScript, PHP). Ponadto App Engine korzysta też z technologii konteneryzacji.
Czytaj też: Co to jest Google Cloud VPS?
Serverless a koszty
W porównaniu z tradycyjnym modelem serverless redukuje tzw. TCO (Total Cost of Ownership). To koszt związany z utrzymywaniem infrastruktury, na której będzie pracować Twoja aplikacja. Oferowana w ramach GCP usługa Google App Engine ma nawet dostęp do bezpłatnych, odnawialnych limitów (Free Tier) w ramach środowiska standard. Dopiero po ich wykorzystaniu nalicza się rachunek za zużycie.
Koszty standardowego wariantu App Engine obejmują każdą rozpoczętą godzinę pracy instalacji (zależnie od rodzaju maszyny oraz lokalizacji) oraz każdy gigabajt wychodzącego ruchu sieciowego. W wariancie flexible zużycie jest naliczane w ujęciu sekundowym. Do tego wliczane są zasoby potrzebne do uruchomienia aplikacji oraz pamięć, którą aplikacja używa podczas pracy.
Dla specyficznego przypadku koszt usługi Google App Engine w środowiskach standard oraz flexible można obliczyć w kalkulatorze Google Cloud Pricing Calculator.