Chmurowe ABC: IaaS, PaaS i SaaS

Z upływem czasu kolejne firmy przekonują się do chmury, aby zmniejszać koszty oraz zwiększać szybkość, wydajność i skalę swojego biznesu. Na 128,3 mld USD szacuje firma Statista wartość globalnego rynku cloud computing w 2019 roku. To znaczny wzrost, porównując 30,73 mld USD w 2011 r.

Dostępnych jest wiele metod korzystania z usług chmurowych, ale trzy najważniejsze modele wykorzystywania zasobów cloud computing to: infrastruktura jako usługa (IaaS – Infrastructure-as-aService), platforma jako usługa (PaaS – Platform-as-a-Service) i oprogramowanie jako usługa (SaaS – Software-as-a-Service).

Oferowanych jest też wiele innych rodzajów usług cloud, takich jak: dane jako usługa (data as a service), środowisko testowe jako usługa (test environment as a service) czy desktop i interfejs API jako usługa (desktop and API as a service). Z praktycznych względów warto skupić się na trzech najważniejszych: IaaS, PaaS i SaaS.

3 najważniejsze kategorie usług cloud computing:

  • Oprogramowanie jako usługa (SaaS): metoda dostarczania aplikacji na żądanie i online.
  • Platforma jako usługa (PaaS) : środowisko, w którym można rozwijać, dostarczać i zarządzać aplikacjami na żądanie i online.
  • Infrastruktura jako usługa (IaaS): możliwość wynajmu sprzętu, infrastruktury, np. serwerów i pamięci masowej na żądanie i online.

IaaS

IaaS stanowi fundament dla wszystkich innych usług chmurowych. Dzięki IaaS użytkownicy mają dostęp do fizycznych lub coraz częściej wirtualnych serwerów. Model ten zapewnia przechowywanie plików (np. Dropbox) i inne podstawowe usługi komputerowe, takie jak ochrona (firewall), równoważenie obciążeń, wirtualne serwery LAN czy serwery nazw domen. Większość publicznych usług chmurowych jest oparta na modelu IaaS.

Zalety IaaS:

  • możliwość szybkiego skalowania i uruchamiania aplikacji, bez konieczności zakupu i zarządzania kosztownym sprzętem we własnej serwerowni,
  • natychmiastowe, off-site i niezawodne środowisko informatyczne obejmujące pamięci masowe, backup i odzyskiwanie danych,
  • elastyczne opcje: dostęp z dowolnego miejsca i możliwość dostosowywania pojemności pamięci masowych do bieżących potrzeb,
  • model  pay-as-you-go computing: klienci płacą tylko za to, czego używają,
  • pozwala na szybkie wdrażanie niezbędnej infrastruktury i aktualizacji, przeprowadzanie napraw.

PaaS

Wystarczy do IaaS dodać zestaw do tworzenia oprogramowania i mamy PaaS. Przykłady to: AWS Elastic Beanstalk, Red Hat OpenShift czy HPE Helion Stackato. Dzięki PaaS własne aplikacje wewnętrzne można przenosić do chmury. To sprawia, że programy stają się bardziej elastyczne, można je skalować.

Aplikacje oparte na lokalnych systemach plików, zanim zostaną wdrożone w chmurze w ramach rozwiązań PaaS, wymagają poważnych prac programistów. Warto uwzględniać własne, istniejące pakiety oprogramowania przy wyborze dostawcy chmury PaaS.

Kłopot może sprawiać przepisywanie systemów diagnostycznych, dostosowywanie zarządzania zasobami znajdującymi sie w różnych lokalizacjach i wdrażanie oprogramowania do pomiarów. Należy pamiętać, że po przeniesieniu aplikacji do PaaS, powrót do starszego modelu nie jest łatwy. Dzięki migracji aplikacji do chmury, utrzymanie ich jest łatwiejsze. Architektury chmurowe oparte na usługach sieciowych REST (Representational State Transfer) są stosunkowo łatwe w obsłudze i utrzymaniu.

SaaS

SaaS jest uznawany za najpopularniejszą formę usług cloudowych dla konsumentów (np. produkty takie jak: Salesforce, Google Apps, Office 365, NetFlix czy Dropbox). Model SaaS na początku funkcjonował jako odmiana architektury klient/serwer, a następnie pod koniec lat 90. i na początku 2000 roku zaczął ewoluować w kierunku modelu APS (Application Service Provider).

O tym, że SaaS stał się mainstreamowym rozwiązaniem przesądziły dwa czynniki. Po pierwsze, elastyczność architektury chmury umożliwiła dostarczanie aplikacji bez konieczności ręcznej konfiguracji. Po drugie, przeglądarka internetowa stała się powszechnym interfejsem użytkownika. Szybkość wdrażania i uniwersalny dostęp to podstawowe atuty korzystania z modelu SaaS.

Podstawową zaletą modelu IaaS jest skalowalność. Dzięki chmurze hybrydowej IaaS można szybko dostarczyć dodatkowe zasoby. IaaS to nie tylko usługa przechowywania danych, lecz także możliwość udostępniania grupom roboczym współdzielonych pamięci masowych.

IaaS to również coś więcej niż tylko dyski w chmurach: na platformach IaaS mogą być budowane aplikacje, które wymagają pełnej kontroli (np. usługi odzyskiwania danych po awarii, usługi licencjonowania oprogramowania). Deweloperzy i informatycy mają dostęp do kompletnych zestawów platform aplikacyjnych, mogą kontrolować je z poziomu jądra, dzięki czemu maszyny wirtualne mogą być dostosowywane do potrzeb domen biznesowych, które obsługują.

Zalety chmurowych usług SaaS

  • Szybszy czas wprowadzania na rynek: zamiast godzin potrzebnych przy ręcznej konfiguracji, automatyczne skonfigurowanie nowego serwera zajmuje mniej niż minutę. Większość projektów jest oparta na architekturach referencyjnych, dzięki czemu nie wymaga poddawania procesowi walidacji. Wystarczy je tylko dostosować do własnych potrzeb.
  • Stale doskonalone wsparcie techniczne: w przypadku większości modeli usługowych oferowanych w chmurze bieżące usługi wsparcia i obsługi technicznej (takie jak: service desk, wielopoziomowe wsparcie, monitorowanie sieci i zarządzanie rozwiązaniami innych dostawców) mogą być obsługiwane przez operatora chmurowego. Ponadto świadczenie usług wsparcia z wykorzystaniem zasobów chmurowych jest tańsze niż przy użyciu własnego, samodzielnie zarządzanego oprogramowania.
  • Odporność: dzięki modelowi hybrydowemu infrastruktura IT jest przechowywana nie we własnej serwerowni, ale także w chmurze publicznej. Meteoryt, który uderzy w centrum przetwarzania danych, prawdopodobnie nie trafi jednocześnie w centrum danych dostawcy usług chmurowych

Bezserwerowe przetwarzanie, czyli funkcja jako usługa

Serverless computing, określane również jako FaaS (Function-as-a- Service), to model uwalniający deweloperów biznesowych od zmartwień dotyczących infrastrukturalnych i operacyjnych szczegółów. Jeśli aplikacja jest tworzona przez dostawcę usług IaaS, deweloper wciąż odpowiada za kodowanie nowej aplikacji, testowanie jej, wynajmowanie infrastruktury i planowanie strategii dotyczącej skalowalności.

W przypadku FaaS, po przesłaniu kodu przez programistów, dostawca zajmuje się resztą i obsługuje wszystkie czynności związane z utrzymaniem i skalowaniem serwera. Systemy przetwarzania w chmurze FaaS i IaaS razem zapewniają nowy poziom efektywności, dzięki czemu programiści mogą poświęcać mniej czasu i zasobów na pisanie kodów od podstaw.

Chmury sięgają coraz wyżej