Poznaj zespół Cloud Masters – wsparcie inżynieryjne w Oktawave

W obliczu rosnącej potrzeby na elastyczne i skalowalne rozwiązania IT, coraz więcej organizacji zwraca się ku chmurze obliczeniowej. Migracja wymaga jednak skrupulatnych przygotowań – kompleksowego planowania, projektowania i wdrażania, ale także skutecznego utrzymania i zarządzania infrastrukturą po przeprowadzeniu całego procesu. Poznaj kluczowe wyzwania, z jakimi mogą spotkać się organizacje w czasie migracji i strategie, które mogą pomóc w ich pokonaniu. Właściwe zaplanowanie strategii migracji do chmury jest bowiem najważniejszym elementem transformacji cyfrowej. Zespół wsparcia inżynieryjnego w Oktawave, czyli Cloud Masters składa się z doświadczonych architektów, programistów i administratorów. Są oni w pełnej gotowości na każde wyzwanie w procesie projektowania nowej infrastruktury chmurowej.

Czytaj dalej

Co to jest SAAS?

Prawdopodobnie korzystasz z SaaS na co dzień, może nie zawsze na płaszczyźnie biznesowej, ale w prywatnym zastosowaniu – bowiem jednym z najlepszych przykładów SaaS jest tzw. webmail, czyli program do odbioru poczty e-mail poprzez przeglądarkę internetową. 

Tutaj ty sam nie utrzymujesz ani infrastruktury stojącej za twoją skrzynką pocztową – robi to usługodawca, np. Google, który dostarcza Ci gotowy produkt, jakim jest program pocztowy Gmail, ani żadnego środowiska uruchomieniowego. Takich przykładów jest wiele, może to być oprogramowanie sklepu internetowego, CRM czy nawet gry – każdy program, do którego uzyskujesz dostęp poprzez Internet, wyczerpuje znamiona modelu SaaS. 

Z biznesowego punktu widzenia jest to bardzo istotny model chmury, bo zamawiając gotowy program w takim modelu, firmy muszą jedynie opanować jego obsługę, nie martwiąc się tym, jak dany program umieścić na serwerze, czy też jak zarządzać samym serwerem. Istotną rzeczą jest to, że klient nie kupuje danego programu na własność, zamiast tego nabywa jedynie prawo do użytkowania aplikacji. Model ten w swoim działaniu przypomina zatem wypożyczalnię – zamiast płacić 200 USD za jakiś program, możesz go wypożyczyć za 5 USD miesięcznie. 

Co to są rozwiązania serverless?

Serverless computing, czyli przetwarzanie bezserwerowe, to popularna usługa typu FaaS (Function as a Service) oferowana przez największych dostawców chmury: Lambda AWS, Azure Functions i Cloud Functions w Google Cloud. 

To model tworzenia oprogramowania, w którym korzystasz z dynamicznie przyznanych zasobów i pamięci obliczeniowej przed dostawcę chmury. W przeciwieństwie do tradycyjnego modelu, w którym wykupujesz określone zasoby i płacisz za nie, nawet jeśli nie są w pełni wykorzystane. W przypadku serverless procedury i funkcje składające się na aplikację, uruchamiane są tylko w momencie potrzeby przetwarzania danych, a gdy są bezczynne, zasoby nie są zużywane. Użytkownik płaci jedynie za wykonanie funkcji. Zarządzanie infrastrukturą, w tym jej przydzielanie i optymalizowanie, jest całkowicie po stronie dostawcy chmury. 

Termin „bezserwerowy” jest nieco mylący, ponieważ sugeruje brak serwerów. Serwery w rzeczywistości istnieją, ale programiści nie muszą zajmować się ich obsługą. Dzięki temu mogą w pełni skupić się na tworzeniu aplikacji, zamiast dbać o konfigurację, skalowanie i bezpieczeństwo maszyn wirtualnych, serwerów czy kontenerów. 

Jakie są korzyści serverless? 

Niższe koszty

Architektury bezserwerowe przede wszystkim są doskonałym sposobem na obniżenie wydatków na chmurę. Korzystanie z zasobów w tym modelu jest często bardziej opłacalne niż wynajmowanie czy zakup stałej liczby serwerów. Pozwala zniwelować koszty niewykorzystanych zasobów w okresach bezczynności. Dodatkowym atutem jest brak kosztów licencji, instalacji, a także konserwacji.  

Wydajność

Kolejną korzyścią ze stosowania rozwiązań typu serverless jest skrócenie czasu i uproszczenie prac programistycznych. Ponieważ inżynierowie nie muszą martwić się o zakup i konfigurację infrastruktury, mogą skupić się na projektowaniu i wdrożeniu systemu na platformie dostawcy. Ułatwia to zarządzanie zadaniami i projektami, zmniejszając ryzyko przekroczenia budżetu czy terminu oddania prac. 

Elastyczność

Ponadto serverless wykorzystuje architekturę mikroserwisów, dzieląc aplikacje na mniejsze komponenty i pozwalając nimi zarządzać niezależnie od siebie. W sytuacji gdy chcesz zmodyfikować aplikację, nie musisz wprowadzać zmian do całego systemu, a jedynie modyfikujesz wybrany mikroserwis. Ułatwia to również testowanie aplikacji. Unikasz więc dodatkowo typowych wad monolitycznych rozwiązań.  

Autoskalowanie

Zaletą przetwarzania bezserwerowego jest opcja automatycznego skalowania, czyli dopasowania liczby i mocy serwerów proporcjonalnie do rosnącego obciążenia. Ponieważ zarządzanie serwerami jest po stronie dostawcy, to on dba o to, aby w razie potrzeby aplikacja została uruchomiona i obsłużyła ruch. Dostawca przydziela (i usuwa) automatycznie zasoby zgodnie z zapotrzebowaniem, czyli liczbą zapytań (requestów), które powoduje aplikacja.  

Dla kogo nie jest serverless? 

Pomimo licznych zalet, przetwarzanie bezserwerowe nie w każdej sytuacji się sprawdzi. Oto, co warto wiedzieć, zanim zdecydujesz się na to rozwiązanie: 

Vendor lock-in

Serverless przede wszystkim oznacza większe uzależnienie od infrastruktury dostawcy. Języki programowania i środowiska wykonawcze są ograniczone do tych obsługiwanych przez dostawcę. Przeniesienie aplikacji na inną platformę może więc być utrudnione. Wybierając dostawcę usług serverless, warto wybrać taką platformę, która minimalizuje ryzyko konieczności migrowania, oferuje najwięcej korzyści i możliwości integracji usług.  

Cold starts

Cold start (zimny start) to czas konfiguracji wymagany do uruchomienia środowiska dla kontenera aplikacji bezserwerowej. Gdy uruchamiasz nieaktywną funkcję szuka ona kontenera, który może obsłużyć żądanie. Jeśli nie ma łatwo dostępnego kontenera, uruchamia i konfiguruje nowy i w ten sposób następuje opóźnienie. Opóźnienie to może wynieść od kilkuset milisekund do kilku sekund, w zależności od rodzaju dostawcy, środowiska i rozmiaru funkcji. Zimne starty sprawiają, że aplikacja reaguje wolniej, a więc serverless nie sprawdzi się w przypadku aplikacji, gdzie wymagany jest niemal natychmiastowy czas realizacji zadania.  

Ograniczone zasoby

Przetwarzanie bezserwerowe nie jest rozwiązaniem dla systemów wymagających wysokiej dostępności ze względu na ograniczenia zasobów narzucone przez dostawców chmury. Jeśli masz złożony system, o rozbudowanych procesach i dużych wymaganiach co do pamięci obliczeniowej to lepiej wybrać inne rozwiązanie.  

Co to jest PAAS?

PaaS to usługa, która jest umieszczona nad IaaS. Platform as a Service to model, który oferuje firmom np. gotowe stanowiska deweloperskie dla zespołów programistycznych, które na tych stanowiskach będą tworzyć i rozwijać oprogramowanie, nad którym pracuje dana firma. Wiąże się to ze spersonalizowanym systemem operacyjnym, frameworkiem czy bazą danych. Jest to gotowe środowisko uruchomieniowe, gdzie od ręki możemy uruchomić np. LAMP (Linux, Apache, MySQL, PHP), środowiska Pythona lub Ruby’ego czy też Javy. W zestawieniu z IaaS oszczędzamy etap wstępny, którym jest instalacja i konfiguracja systemu operacyjnego wraz z narzędziami. W naszych rękach pozostaje jednak kwestia dalszego zarządzania oprogramowaniem. 

Co to jest IAAS?

To podstawowa warstwa chmury i dotyczy głównie zasobów sprzętowych oraz sieciowych. Model IaaS jest dla tych, którzy chcą utrzymywać kontrolę nad zasobami informatycznymi firmy, ale nie chcą utrzymywać infrastruktury. Dzięki temu w twojej firmie nie musi znajdować się serwerownia wwydzielonym pomieszczeniu z odpowiednim odprowadzaniem ciepła, systemem dostępu czy właściwym zasilaniem. Model taki ma wiele zalet, np. firma nie ponosi żadnych kosztów związanych z zakupem sprzętu do wyposażenia serwerowni, który nie należy do tanich. Firma nie musi się także zajmować kwestiami związanymi z naprawą czy wymianą uszkodzonych podzespołów serwera, a także bieżącą administracją – tymi rzeczami zajmie się dostawca IaaS. Zamiast tych wszystkich niedogodności po prostu zamawiasz usługę utrzymania infrastruktury u dostawcy IaaS, który cały sprzęt będzie utrzymywał u siebie, a to, co zostanie zrobione z udostępnionymi ci zasobami, zależy już tylko od ciebie. Na wirtualnej maszynie możesz zainstalować dowolne oprogramowanie (system operacyjny i aplikacje), infrastrukturę możesz też wykorzystywać jako magazyn danych.