Serverless w Google Kubernetes Engine
Serverless to ciekawa funkcja w Google Cloud, której głównym zadaniem jest produkowanie kodu. To, jak i reszta z funkcji hostowania aplikacji w chmurze zostały stworzone w taki sposób, aby ułatwić życie deweloperom i sprostać wymaganiom, które stawiają nam najnowocześniejsze technologie.
Zasady działania
Model operacyjny funkcji Serverless opiera się na trzech głównych zasadach współpracy z cloud providere’em: braku potrzeby zarządzania infrastrukturą stojącą za aplikacją, dbania o bezpieczeństwo (szyfrowanie danych itp.) oraz opłaty jedynie za to, z czego korzystamy. Serverless ma podejście typowe serwisowe – deweloper korzysta z określonej, zdefiniowanej usługi, bez potrzeby konfigurowania jej. Programowanie w tej usłudze działa jako „event-driven” – pojawia się jakaś akcja, serverless reaguje na nią, przetwarza ją i po szeregu czynności kończy, pokazując rezultat.
Cloud stara się opierać większość z funkcji na open-source’owych projektach - tak, aby zagwarantować klientom „przenośność” w jak najlepszej postaci. Serverless oferuje usługi z wielu płaszczyzn: z obszaru danych, machine-learningu, zarządzalnych baz danych, silników aplikacji oraz narzędzi DevOps.
Kubernetes
Kubernetes powstał w celu eliminacji przeskalowania ekosystemu Google Cloud’a. Pierwsza wersja zarządzalnej usługi typu Google Kubernetes Engine w GCP pojawił się w okolicach listopada 2014, a w okolicach roku 2019 doczekała się najnowszej, hybrydowej wersji o nazwie Anthos. Anthos ujednolica zarządzanie infrastrukturą i aplikacjami w środowisku lokalnym, na brzegu sieci i w wielu chmurach publicznych dzięki płaszczyznze sterowania wspieranej przez Google Cloud, która działa spójnie na dużą skalę. Sam w sobie jest liderem wśród wszelkich platform do organizacji klastrów.
Kubernetes daje możliwość planowania workloadów, zarządzania cyklem życia aplikacji, nazywania jej i korzystania z mechanizmu label’owania. Pomaga również w tworzeniu, uruchamiania kodu oraz kontrolowania tych procesów.
Cloud Run
Cloud Run opiera się w całości na open-sourc’owym projekcie k-native. Cloud Run to zarządzana platforma obliczeniowa, która umożliwia uruchamianie kontenerów, które są wywoływane za pośrednictwem żądań lub zdarzeń. Cloud Run jest bezserwerowy: abstrahuje od zarządzania całą infrastrukturą, dzięki czemu możesz skupić się na tym, co najważniejsze — tworzeniu świetnych aplikacji. CR posiada dwa modele uruchamiania kontenerów w usłudze cloud’a: podstawowy (infrastruktura w pełni zarządzalna przez GCP) oraz Cloud Run on GKE (korzystanie z usługi przy pomocy własnych klastrów).
Dla kogo?
Cloud Run on GKE został stworzony z myślą o programistach, ludzi, którzy tworzą kod, ale nie chcą zamartwiać się zarządzaniem infrastruktury. CRGKE to możliwości skalowania workloadów, operowania zmianami, customowych domen i zarządzania certyfikatami, infrastrukturą, integrowania z serwisami mesh. Z całym środowiskem Cloud Run łączy się wiele innych usług GCP, na przykład Cloud Build oraz Stackdriver – narzędzia, w których można zautomatyzować cały proces budowania oprogramowania, lub programów partnerskich – GitLab lub Datadog.
Konkluzja
Zarządzane klastry Kubernetes, takie jak GKE, umożliwiają firmom korzystanie z obciążeń w optymalnie skonfigurowanym i bezpiecznym środowisku Kubernetes przy wsparciu specjalistów z firmy Hostersi. Uruchamianie aplikacji w chmurze zapewnia klientom niezrównaną elastyczność operacyjną, szczególnie w kontekście obliczeń.
Dzięki ofertom usług, takim jak GKE, zespoły programistyczne mogą wdrażać aplikacje intensywnie wykorzystujące moc obliczeniową w swoich klastrach i wykorzystywać elastyczność infrastruktury chmury. Zalety programowania natywnego dla chmury są dostępne za pośrednictwem platform takich jak GKE, które zarządzają ciężkimi pracami zarządzania Kubernetes, oferując jednocześnie korzyści płynące z orkiestracji kontenerów.