Chmura obliczeniowa jest z pewnością jednym z najgorętszych określeń w świecie szeroko rozumianego IT i nie tylko. Chmurowe usługi mogą być udostępniane w różnej formie, przy czym do określenia ich rodzaju często stosowane są akronimy: IaaS, FaaS, SaaS, CaaS, PaaS… Co za nimi stoi i jakie są rodzaje usług w chmurze? 

iaas saas paas usługi chmurowe chmura obliczeniowa

IaaS – Infrastructure as a Service 

IaaS to nic innego, jak „infrastruktura jako usługa”, gdzie jako „infrastruktura” uznaje się wirtualne serwery, sieci, magazyny danych. Rozwiązania IaaS można rozumieć jako formę chmurowej serwerowni – użytkownik nabywa wirtualny sprzęt, konfiguruje go pod swoje potrzeby, samodzielnie nim zarządza i uruchamia aplikacje.

Przykładem rozwiązania IaaS mogą być instancje Amazon EC2 z woluminami EBS oraz podpiętą wirtualną siecią.

SaaS – Software as a Service 

SaaS, czyli „oprogramowanie jako usługa” to chmurowe aplikacje, z których funkcjonalności użytkownik korzysta, ale całość związana z zarządzaniem, czyli runtime, serwery, dane, wirtualizacja, systemy operacyjne, sieci, magazyny danych, leży po stronie twórców danej aplikacji. Usługi typu SaaS zazwyczaj są dostępne poprzez przeglądarkę internetową, a idealnym przykładem tego typu usługi będzie Gmail: użytkownik wysyła i odbiera maile z poziomu przeglądarki lub dedykowanej aplikacji, nie obchodzi go natomiast, dajmy na to, dbanie o łatki bezpieczeństwa systemu operacyjnego serwera, czy przydzielanie mu pamięci. Dostaje po prostu gotowy produkt.

PaaS – Platform as a Service

PaaS, „platforma jako usługa”, zapewnia twórcom aplikacji całą platformę służącą do tworzenia, testowania, publikacji i zarządzania aplikacjami bez konieczności budowy i dbania o infrastrukturę. PaaS ma więc na celu dostarczanie gotowego, prekonfigurowanego środowiska pracy, głównie dla programistów i firm IT.

Przykładami rozwiązań PaaS mogą być Google App Engine, CloudFundry, AWS Elastic Beanstalk.

BaaS – Backend as a Service

BaaS przypomina bardzo poprzednie rozwiązanie, PaaS, i również jest kierowane głównie dla deweloperów aplikacji. BaaS zapewnia jednak dodatkowo gotowy, aplikacyjny back-end: zarządzanie bazą danych, magazynowanie, powiadomienia push, hosting, aktualizacje, autentykację, silniki wyszukiwania itd. BaaS pozwala więc programistom na pracowanie nad interfejsem i funkcjonalnością, podczas gdy cały konieczny do działania aplikacji back-end jest już gotowy, może jednak niekiedy także nieco ograniczać, jako mniej elastyczny.

Spotkać się można także z nazwą MBaaS – to nic innego, jak Mobile Backend as a Service, czyli specjalny podtyp BaaS przygotowany specjalnie dla aplikacji mobilnych.

Przykładem usługi typu BaaS może być AWS Amplify.

CaaS – Container as a Service 

Kontener jako usługa. CaaS jest formą wirtualizacji kontenerów, w której narzędzia konteneryzacyjne (przede wszystkim Docker), orkiestracja oraz warstwa wirtualnej infrastruktury są dostarczane przez usługodawcę.

Usługami typu CaaS są m.in. AWS Elastic Container Service lub Google Container Engine.

FaaS – Function as a Service

FaaS jest rozwiązaniem z gatunku serverless computing. Dostawca zapewnia platformę umożliwiającą tworzenie, uruchamianie i zarządzanie funkcjami aplikacji bez konieczności dbania o infrastrukturę. Przykładowo, do jednej z najpopularniejszych usług typu FaaS, AWS Lambda, wystarczy załadować kod, a usługa sama zapewni zasoby sprzętowe w miarę wywoływania (uruchamiania) poszczególnych funkcji. Lambda zapewnia także automatyczne skalowanie, mechanizmy orkiestracji oraz programistyczne API.

Czytaj więcej: Podstawy AWS: 15 usług, które warto znać na początek przygody z chmurą