Chmura

Jakie są różnice między IaaS vs PaaS vs SaaS?

Jakie są różnice między IaaS vs PaaS vs SaaS?
W: Chmura

Chmura obliczeniowa istnieje na rynku od wielu lat, a liczba firm korzystających z rozwiązań chmurowych, choć częściowo, stale rośnie. Według danych opublikowanych przez Eurostat w 2021 roku średnio 41% przedsiębiorstw korzystało z usług chmurowych.

Interesujący jest także wzrost korzystania z usług chmurowych, który w porównaniu do 2020 roku wzrósł o 5%! Istotne są również statystyki dotyczące wykorzystania usług chmurowych przez duże przedsiębiorstwa. Wśród nich aż 72% firm (w Europie) korzystało z usług chmurowych w 2021 roku, co stanowi wzrost o 7 punktów procentowych w porównaniu do 2020.

Dynamiczny rozwój chmury oraz stosunkowo wysoki odsetek firm korzystających z rozwiązań chmurowych pozwalają zmienić perspektywę na przyszłość systemów IT. W tej chwili, zamiast zastanawiać się "czy warto przenieść się do chmury?", coraz częściej zadajemy sobie pytanie "kiedy powinniśmy zacząć korzystać z rozwiązań chmurowych?".

Choć odpowiedź może być różna, jedno mogę powiedzieć z pełną pewnością – rozwiązania chmurowe znajdą zastosowanie w praktycznie każdym biznesie. Zanim jednak przystąpimy do migracji do chmury, warto zrozumieć, jakie modele usług chmurowych można wykorzystać oraz jaką część odpowiedzialności można przekazać dostawcy usług chmurowych. Dlatego nie przedłużając, zapraszam do lektury!

Jak wybór modelu usług wpływa na odpowiedzialność?

Posiadając własną serwerownię (środowisko on-premises), odpowiedzialność za wszystkie aspekty spoczywa na nas. Od zapewnienia pomieszczenia, prądu czy wszelkich systemów zapewniających ciągłość działania serwerów, poprzez wirtualizację, konfigurację czy aktualizację serwerów, aż po szereg działań zapewniających bezpieczeństwo i prawidłowe działanie samej aplikacji. Nieco inaczej wygląda to w przypadku wyboru usług chmurowych, które docelowo mogą pozwolić nam na całkowite zrezygnowanie z posiadania własnej infrastruktury.

Wybór odpowiedniego modelu usług w chmurze wiąże się bezpośrednio z odpowiednim podziałem odpowiedzialności za prawidłowość działania czy bezpieczeństwo usługi.

Odpowiedzialność zawsze jest dzielona pomiędzy dostawcę chmury obliczeniowej oraz podmiot wykorzystujący usługi chmurowe. Możemy więc powiedzieć, że wraz z wyborem modelu usług chmurowych decydujemy, jak dużą część odpowiedzialności przekażemy dostawcy tych usług.

Aby dobrze zrozumieć odpowiedzialność związaną z wykorzystaniem poszczególnych modeli usług chmurowych, przejdźmy od razu do ich omówienia. Z uwagi na to, że zawodowo zajmuję się chmurą dostarczaną przez Microsoft, będę posługiwał się przede wszystkim przykładami ich usług:

Modele chmurowe

Infrastructure as a Service (IaaS, Infrastruktura jako usługa)

W tym modelu na dostawcy chmury spoczywa najmniejsza część odpowiedzialności w stosunku do pozostałych. Odpowiada on za całą infrastrukturę – od odpowiednio przygotowanej i zabezpieczonej serwerowni jako budynku/pomieszczenia, przez wszelkiego typu hardware (dyski twarde, RAM i inne elementy, z których składa się serwer) po wirtualizację, która pozwoli efektywnie wykorzystywać serwery. Za pozostałe widoczne na powyższej grafice elementy odpowiadamy my, jako korzystający z usług chmurowych.

Przykładem usługi udostępnianej nam w modelu IaaS są oferowane w chmurze maszyny wirtualne. W tym przypadku nasza odpowiedzialność ogranicza się do wszystkich elementów, które możemy wykonać z poziomu takiej maszyny. Mówimy tutaj naturalnie o utrzymywaniu aplikacji czy danych, które znajdują się na danej maszynie, ale także np. o kwestii aktualizacji jej systemu operacyjnego. Za zapewnienie ciągłości działania maszyny czy jej połączenie sieciowe odpowiada dostawca chmury.

Za wyborem modelu IaaS stoi przede wszystkim bardzo duża elastyczność. Poza hardware’em żadne rozwiązania nie są nam narzucane przez dostawcę usług chmurowych. Na takiej maszynie możemy wykorzystywać dowolne oprogramowanie, instalować dowolny system operacyjny, a także konfigurować szereg innych elementów pod nasze potrzeby.

Aby dobrze zrozumieć omawiane modele, posłużmy się analogiami do sytuacji z codziennego życia. Korzystanie z usług w środowisku on-premises (własnej serwerowni) możemy porównać np. do zakupu samochodu. Kupujący staje się jego właścicielem (tak jak np. nabywając serwer) i jest w pełni odpowiedzialny nie tylko za jazdę, ale i wszystko dookoła. Mowa tutaj np. o serwisowaniu, zmianie opon, paliwie itp.

Korzystanie z usług w modelu IaaS możemy porównać do wynajmu samochodu. Jesteśmy odpowiedzialni za jazdę autem, tankowanie, dolewanie płynu do spryskiwaczy czy np. płatność za parking. Część odpowiedzialności za auto (np. rejestrację auta, przegląd i serwisowanie), a także za jego zakup bierze na siebie wynajmujący/wypożyczalnia.

Platform as a Service (PaaS, Platforma jako usługa)

W tym modelu odpowiedzialność dostawcy usług chmurowych jest istotnie szersza aniżeli w przypadku IaaS. W przypadku PaaS dostawca chmury obliczeniowej daje nam gotowe środowisko, w którym możemy np. tworzyć naszą aplikację. Tym samym przejmuje on odpowiedzialność nie tylko za elementy infrastruktury, ale także za system operacyjny czy całe środowisko, w którym działa aplikacja.

Idealnym przykładem usług oferowanych w modelu PaaS jest konteneryzacja, którą często kojarzymy z Dockerem lub Kubernetes. PaaS powinniśmy kojarzyć przede wszystkim z możliwością tworzenia samej aplikacji czy narzędzi, nie z konfiguracją danego narzędzia czy modelowaniem danych wewnątrz niego. W środowisku chmury Microsoft dobrym przykładem może być również Power Apps, które często są błędnie zaliczane do innego modelu. Z uwagi na to, że pozwalają one tworzyć aplikacje (choć bez konieczności pisania kodu), zaliczane są do tej właśnie grupy usług.

Za wyborem usług typu PaaS przemawia przede wszystkim względna prostota i szybkość budowania aplikacji. Nie musimy martwić się o przygotowanie środowiska czy infrastruktury, możemy niemalże w pełni poświęcić się procesowi tworzenia.

Wracając do analogii z samochodem, w przypadku PaaS mamy do czynienia np. z car sharingiem. Dostawca samochodu bierze na siebie jeszcze większą odpowiedzialność – w pełni serwisuje auto, opłaca parkingi czy dba o poziom jego paliwa. My jedynie wypożyczamy auto na minuty, jedziemy nim do punktu docelowego, o nic się nie martwiąc, a następnie zostawiamy w określonym miejscu.

Software as a Service (SaaS, Oprogramowanie jako usługa)

Ostatni z „głównych” modeli usług dostarczanych w chmurze. SaaS polega na dostarczeniu gotowego już oprogramowania, które możemy wykorzystywać zgodnie z jego przeznaczeniem. Dostawca bierze na siebie pełną odpowiedzialność za utrzymywanie i prawidłowość działania oprogramowania, a także bezpieczeństwo danych. Nie jest jednak tak, że my jako korzystający z usług w modelu SaaS nie mamy absolutnie żadnej odpowiedzialności. Odpowiadamy za niektóre aspekty, związane w szczególności z dostępem tj. musimy dbać o to, aby konta użytkowników były odpowiednio zabezpieczone. Jest to absolutnie logiczne i zrozumiałe – ciężko, aby dostawca usługi brał na siebie odpowiedzialność za dostęp jeżeli np. użytkownik sam przekazał hasło do swojego konta nieuprawnionej osobie.

Dobrym przykładem usługi dostarczanej w modelu SaaS są wszelkie aplikacje oferowane w ramach Microsoft 365. Odpowiedzialność za ich działanie czy np. za przechowywane w ramach OneDrive, czy SharePoint dane bierze Microsoft. My z kolei dbamy o to, aby konta naszych użytkowników posiadające tam dostęp były bezpieczne.

Za wyborem usług w modelu SaaS przemawia przede wszystkim fakt, że dostawca usługi przejmuje na siebie odpowiedzialność za utrzymanie aplikacji i   udostępnianie zawsze aktualnej wersji. Posiadając komputery z dostępem do internetu, możemy korzystać z usług nie martwiąc się specjalnie, o ich wcześniejszą konfigurację czy zapewnienie im odpowiedniego środowiska do działania.

Wróćmy ponownie do analogii z samochodem. Mówiąc o usługach typu SaaS myślimy w tym przykładzie o podróży z wykorzystaniem Taxi. Nie musimy martwić się w zasadzie o nic – ani o elementy związane z samochodem, ani o jego prowadzenie (może jedynie o zapięcie pasów bezpieczeństwa). Płacimy, a kierowca zawiezie nas w wybrane przez nas miejsce.

Pozostałe usługi „as a Service”

Poza głównymi usługami, które zostały wymienione powyżej, możemy spotkać się jeszcze z wieloma innymi usługami „as a service”. Choć znajomość powyższych modeli jest zdecydowanie wystarczająca, być może warto krótko wspomnieć o ich istnieniu.

W ostatnich latach pojawił się trend nazywania wielu oferowanych usług „as a Service” i generując tym samym nowe modele usług. DbaaS (Database as a Service), WaaS (Windows as a Service), DaaS (Device as a Service) i wiele innych. Część z nich mogłaby zawierać się w wymienionych głównych usługach, część stanowi w zasadzie nową nazwę dla dobrze znanych modeli subskrypcyjnych/wynajmu. Tak czy inaczej – warto skoncentrować się przede wszystkim na trzech głównych modelach.

Benefity korzystania z usług chmurowych

Za wyborem usług w chmurze przemawia wiele benefitów, które są charakterystyczne dla więcej niż jednego modelu usług. Choć będą one miały zastosowanie dla wszystkich modeli usług chmurowych, odczujemy je przede wszystkim w modelu IaaS oraz SaaS w kontekście hostowania własnych aplikacji:

  • Mniejsze koszty – korzystając z tych modeli nie musimy płacić za fizyczny sprzęt, ponosząc duże koszty z góry. Wynajmujemy go od Dostawcy i w każdej chwili możemy z tego zrezygnować.
  • Większa elastyczność i Pay as you go – Korzystając z chmury mamy dużą elastyczność w zakresie wykorzystywanych zasobów. Płacimy również za nie zgodnie z ich rzeczywistym wykorzystaniem, możemy je w każdej chwili włączyć, a także z nich zrezygnować. W przypadku tradycyjnej serwerowni wymagałoby to zakupu oddzielnego sprzętu, wygospodarowania miejsca w serwerowni itp.
  • Wysoka dostępność – jest gwarantowana w przypadku usług chmurowych. Nawet w przypadku poważnych awarii usługi będą działały na innym serwerze czy w innej serwerowni, do której zostały wcześniej zreplikowane. W przypadku środowisk On-premises – musimy posiadać dodatkowy hardware wykorzystywany tylko na wypadek awarii, a także całą zapasową serwerownię.
  • Wysoka skalowalność – Najłatwiej będzie wyjaśnić to na przykładzie. Załóżmy, że posiadamy sklep internetowy odwiedzany przez 10 tys. osób dziennie. Okresowo, np. w Black Friday czy w okresie przedświątecznym organizujemy duże promocje, które zwiększają ruch nawet do 50 tys. osób danego dnia. W przypadku chmury – możemy automatycznie, w każdej chwili zwiększyć zasoby i zapłacić za ich wykorzystanie tylko przez określoną ilość godzin, gdy ruch był wzmożony. W przypadku tradycyjnej serwerowni – musimy zakupić i przez cały rok utrzymywać infrastrukturę, które będzie w stanie obsłużyć taki ruch kilka dni w roku.

To właśnie m.in. te, ale też inne benefity są powodem tak dynamicznego wzrostu wykorzystania usług chmurowych. Widząc ten wzrost, dostawcy usług chmurowych inwestują coraz większe pieniądze w rozwiązania chmurowe oraz ich bezpieczeństwo. Przykładem jest, chociażby Microsoft, który zapowiedział inwestycję na poziomie 20 miliardów dolarów w skali 5 lat, na rozwój bezpieczeństwa. Nie można nie zauważyć, że właśnie na rozwiązania chmurowe najwięksi gracze kładą teraz największy nacisk. Dlatego też, aby utrzymywać dostęp do najnowszych technologii, migracja do chmury w dłuższej perspektywie czasu wydaje się być nieunikniona.

Autorem artykułu jest Jakub Kulikowski specjalistą rozwiązań Microsoft 365. Jeśli chcesz przeczytać więcej jego wpisów, koniecznie odwiedź:

jakubkulikowski.pl
Zadbaj o bezpieczeństwo środowisk chmurowych i hybrydowych razem ze mną!
Napisane przez
Jakub Kulikowski
Bezpiecznik na co dzień pracujący nad rozwiązaniami Microsoft 365. Pasjonat cyberbezpieczeństwa, dzielenia się wiedzą oraz technologii firmy Microsoft. Autor Bloga jakubkulikowski.pl oraz wspó
Komentarze
Spis treści
Świetnie! Udało ci się pomyślnie zarejestrować.
Witaj z powrotem! Zalogowałeś się pomyślnie.
Pomyślnie subskrybowałeś Inna Sieć.
Twój link wygasł.
Sukces! Sprawdź swoją skrzynkę e-mailową, aby uzyskać magiczny link do logowania.
Sukces! Twoje informacje rozliczeniowe zostały zaktualizowane.
Twoje informacje rozliczeniowe nie zostały zaktualizowane.