PaaS (platforma jako usługa)

menu icon

PaaS (platforma jako usługa)

PaaS, czyli platforma w modelu usługowym zapewnia kompletną, elastyczną i ekonomiczną platformę chmurową do tworzenia i uruchamiania aplikacji oraz zarządzania nimi.

Czym jest PaaS (platforma jako usługa)?

PaaS, czyli platforma jako usługa, to model przetwarzania w chmurze, który zapewnia klientom kompletną platformę chmurową — sprzęt, oprogramowanie i infrastrukturę — w celu tworzenia i uruchamiania aplikacji oraz zarządzania nimi bez narażania przedsiębiorstwa na koszty, złożoność i nieelastyczność, które są często związane z budową i utrzymaniem lokalnej platformy.

Dostawca PaaS udostępnia wszystko — serwery, sieci, pamięć masową, oprogramowanie systemu operacyjnego, bazy danych, narzędzia programistyczne — w swoim centrum przetwarzania danych. Zazwyczaj klienci mogą płacić stałą opłatę za zapewnienie określonej ilości zasobów dla określonej liczby użytkowników lub mogą wybrać opcję „pay-as-you-go” płacąc według faktycznego użycia zasobów. Każda z tych opcji umożliwia klientom PaaS budowanie, testowanie, wdrażanie, uruchamianie, aktualizowanie i skalowanie aplikacji szybciej i taniej niż gdyby musieli zbudować i zarządzać własną, lokalną platformą.

Każdy liczący się dostawca usług w chmurze — w tym Amazon Web Services (AWS), Google Cloud, IBM Cloud i Microsoft Azure — posiada własną ofertę PaaS. Popularne rozwiązania PaaS są również dostępne jako projekty Open Source (np. Apache Stratos, Cloud Foundry) lub od dostawców oprogramowania (np. Red Hat OpenShift i Salesforce Heroku).

Zalety rozwiązania PaaS

Najczęściej wymieniane zalety PaaS w porównaniu z platformą lokalną to:

  • Szybszy czas wprowadzania na rynek. Dzięki PaaS nie ma potrzeby zakupu i instalacji sprzętu i oprogramowania do budowy i obsługi platformy do tworzenia aplikacji, a zespoły programistów nie muszą czekać na powstanie takiej platformy. Przedsiębiorstwo po prostu zaczyna korzystać z rozwiązania PaaS dostarczanego przez dostawcę usług w chmurze i może natychmiast rozpocząć udostępnianie zasobów i rozwijanie aplikacji.
  • Przystępny cenowo dostęp do szerszej gamy zasobów. Platformy PaaS zazwyczaj oferują dostęp do szerszego wyboru z całego stosu aplikacji — w tym systemów operacyjnych, oprogramowania pośredniego, baz danych i narzędzi programistycznych — niż większość organizacji może praktycznie lub w przystępny sposób utrzymać samodzielnie.
  • Więcej swobody eksperymentowania przy mniejszym ryzyku. PaaS umożliwia również wypróbowanie lub przetestowanie nowych systemów operacyjnych, języków i innych narzędzi bez konieczności dokonywania w nie znacznych inwestycji lub zakupu infrastruktury wymaganej do ich uruchomienia.
  • Łatwa, ekonomiczna skalowalność. W przypadku platformy lokalnej skalowanie jest zawsze kosztowne, często nieekonomiczne, a czasami niewystarczające: Przedsiębiorstwo musi zakupić dodatkową moc obliczeniową, pamięć masową i pojemność sieci w oczekiwaniu na wzrost ruchu. Znaczna część tych zasobów pozostaje niewykorzystana w okresach niskiego natężenia ruchu, a nie można ich skalować odpowiednio szybko, aby sprostać nieoczekiwanemu szczytowemu zapotrzebowaniu. PaaS umożliwia zakup dodatkowej mocy obliczeniowej i natychmiastowe rozpoczęcie jej wykorzystywania, kiedy tylko zajdzie taka potrzebna.
  • Większa elastyczność dla zespołów programistycznych. Usługi PaaS oferują współużytkowane środowisko programistyczne, które umożliwia zespołom programistycznym i operacyjnym dostęp do wszystkich potrzebnych im narzędzi z dowolnego miejsca z dostępem do Internetu.
  • Niższe koszty ogólne. PaaS w oczywisty sposób obniża koszty, umożliwiając organizacji uniknięcie wydatków na wyposażenie kapitałowe, związanych z budową i skalowaniem platformy aplikacyjnej. PaaS może również obniżyć lub wyeliminować koszty licencji na oprogramowanie. A dzięki obsłudze poprawek, aktualizacji i innych zadań administracyjnych, PaaS może obniżyć ogólne koszty zarządzania aplikacjami.

Jak działa PaaS?

Na ogół rozwiązania PaaS składają się z trzech głównych części, którymi są:

  • Infrastruktura chmury obejmująca maszyny wirtualne (VM), oprogramowanie systemu operacyjnego, pamięć masową, sieci, firewalle
  • Oprogramowanie do budowania i wdrażania aplikacji oraz zarządzania nimi
  • Graficzny interfejs użytkownika, inaczej GUI, w którym zespoły programistów lub zespoły ds. tworzenia i eksploatacja oprogramowania (DevOps) mogą wykonywać wszystkie swoje zadania w całym cyklu życia aplikacji

Ponieważ rozwiązanie PaaS dostarcza wszystkie standardowe narzędzia programistyczne za pośrednictwem interfejsu GUI dostępnego online, programiści mogą logować się z dowolnego miejsca, aby współpracować nad projektami, testować nowe aplikacje lub wdrażać gotowe produkty. Aplikacje są projektowane i rozwijane bezpośrednio w środowisku PaaS z wykorzystaniem oprogramowania pośredniego. Dzięki usprawnionym przepływom pracy wiele zespołów programistycznych i operacyjnych może jednocześnie pracować nad tym samym projektem.

Dostawcy PaaS zarządzają większością usług związanych z przetwarzaniem w chmurze, takich jak serwery, środowisko wykonawcze i wirtualizacja. Korzystając z modelu platformy jako usługi, przedsiębiorstwo musi jedynie zarządzać aplikacjami i danymi.

PaaS, IaaS i SaaS

Podobnie jak PaaS, infrastruktura jako usługa (IaaS) oraz oprogramowanie jako usługa (SaaS) to bardzo popularne modele usług przetwarzania w chmurze. W praktyce wiele organizacji korzysta ze wszystkich trzech rozwiązań — nawet jeśli ich nie zakupiły. Wyjaśnienie:

IaaS to dostęp przez Internet do „surowej” infrastruktury IT — serwerów fizycznych, maszyn wirtualnych, pamięci masowej, sieci, firewalli — udostępnianej przez dostawcę chmury. Infrastruktura w modelu usługowym eliminuje koszty i nakład pracy związane z posiadaniem, nadzorowaniem i utrzymywaniem lokalnej infrastruktury. W przypadku korzystania z infrastruktury jako usługi, organizacja posiada tylko własną platformę aplikacyjną i aplikacje.

Każda oferta PaaS zawsze zawiera zasoby IaaS wymagane do jej udostępniania, nawet jeśli zasoby te nie są wyraźnie wyodrębnione lub określane jako IaaS.

SaaS to oprogramowanie aplikacyjne, z którego użytkownik korzysta za pośrednictwem chmury zupełnie tak, jakby było zainstalowane na jego komputerze (w niektórych przypadkach części oprogramowania zainstalowane na komputerze).Oprogramowanie jako usługa umożliwia organizacji korzystanie z aplikacji bez konieczności ponoszenia kosztów związanych z konfigurowaniem infrastruktury w celu ich uruchomienia, a także z nakładem pracy i personelem potrzebnym do ich utrzymania (wprowadzania poprawek i aktualizacji, usuwania awarii itp.). Salesforce i Slack to przykłady popularnych ofert oprogramowania jako usługi; większość aplikacji internetowych uważana jest za rozwiązania SaaS.

Każda oferta SaaS zawiera zasoby IaaS wymagane do jej udostępniania oraz komponenty PaaS do jej uruchomienia. Niektórzy dostawcy SaaS udostępniają również odrębną platformę jako usługę, która umożliwia stronom trzecim dostosowanie oferty SaaS.

Innym sposobem na porównanie IaaS, PaaS i SaaS jest analiza ilości obowiązków w ramach zarządzania, które pozostają w gestii klienta i ilości obowiązków, które leżą po stronie dostawcy usług przetwarzania w chmurze:

Usługi IaaS, PaaS, SaaS i bezserwerowe przenoszą coraz większą odpowiedzialność za zarządzanie na dostawcę chmury

 

Dowiedz się więcej o IaaS, PaaS i SaaS.

Przypadki użycia PaaS

Zapewniając zintegrowaną i gotową do użycia platformę — oraz umożliwiając organizacjom przeniesienie zarządzania infrastrukturą na dostawcę chmury i skupienie się na budowaniu aplikacji, wdrażaniu ich i zarządzaniu nimi — rozwiązanie PaaS może ułatwić lub przyspieszyć szereg inicjatyw IT, a w tym:

  • Projektowanie i zarządzanie interfejsami API: dzięki wbudowanym mechanizmom PaaS znacznie ułatwia zespołom tworzenie, uruchamianie, nadzorowanie i zabezpieczanie interfejsów API (interfejsów programowania aplikacji) służących do współużytkowania danych i funkcjonalności pomiędzy aplikacjami.
  • Internet rzeczy (IoT): gotowe do użytku rozwiązanie PaaS może obsługiwać szereg języków programowania (Java, Python, Swift, itp.), narzędzi i środowisk aplikacyjnych wykorzystywanych do tworzenia aplikacji IoT oraz przetwarzanie w czasie rzeczywistym danych generowanych przez urządzenia IoT.
  • Sprawne programowanie oraz tworzenie i eksploatacja oprogramowania: PaaS może zapewnić w pełni skonfigurowane środowiska do automatyzacji cyklu życia aplikacji, w tym integracji, dostarczania, bezpieczeństwa, testowania i wdrażania.
  • Migracja do chmury i programowanie z myślą o chmurze: dzięki gotowym do użycia narzędziom i możliwościom integracji, PaaS może uprościć migrację istniejących aplikacji do chmury — w szczególności poprzez zmianę platformy (przeniesienie aplikacji do chmury z modyfikacjami, które lepiej wykorzystują skalowalność w chmurze, równoważenie obciążeń i inne możliwości) lub refaktoryzację (zmianę architektury części lub całości aplikacji przy użyciu mikrousług, kontenerów i innych technologii od początku przeznaczonych dla chmury).
  • Strategia wykorzystania chmury hybrydowej: chmura hybrydowa umożliwia integrację usług chmury publicznej, chmury prywatnej i infrastruktury lokalnej oraz zapewnia orkiestrację, zarządzanie i przenośność aplikacji pomiędzy wszystkimi trzema środowiskami. W ten sposób powstaje zunifikowane i elastyczne środowisko przetwarzania rozproszonego, w którym organizacja może uruchamiać i skalować swoje tradycyjne (starsze) lub przeznaczone dla chmury obciążenia w najbardziej odpowiednim modelu przetwarzania. Właściwie dobrane rozwiązanie PaaS pozwala programistom tworzyć, a następnie wdrażać aplikacje i zarządzać nimi z dowolnego miejsca w środowisku chmury hybrydowej.

Typy rozwiązań PaaS stworzone z myślą o konkretnym celu

Wielu dostawców chmury, oprogramowania i sprzętu oferuje rozwiązania PaaS służące do budowania konkretnych typów aplikacji lub do tworzenia aplikacji, które współdziałają z konkretnymi typami sprzętu, oprogramowania lub urządzeń.

  • AIPaaS (PaaS dla sztucznej inteligencji) umożliwia zespołom programistów tworzenie aplikacji wykorzystujących sztuczną inteligencję (AI) bez konieczności ponoszenia często zaporowych kosztów zakupu, zarządzania i utrzymania znacznych poziomów mocy obliczeniowej, pamięci masowej i przepustowości sieci, których wymagają takie aplikacje. AiPaaS zazwyczaj zawiera wstępnie wytrenowane modele uczenia maszynowego i głębokiego uczenia, które programiści mogą wykorzystywać w obecnej postaci lub dostosowywać do własnych potrzeb, a także gotowe interfejsy API, z których można korzystać przy wdrażaniu określonych funkcji sztucznej inteligencji — takich jak rozpoznawanie mowy lub przekształcanie mowy na tekst — do istniejących lub nowych aplikacji.
  • iPaaS (platforma integracyjna jako usługa) to udostępnione w chmurze rozwiązanie do integrowania aplikacji. iPaaS oferuje organizacjom ustandaryzowany sposób łączenia danych, procesów i usług w chmurach publicznych, chmurach prywatnych i środowiskach lokalnych bez konieczności zakupu i instalacji własnego sprzętu, oprogramowania pośredniego i oprogramowania do integracji oraz bez konieczności zarządzania nimi. (Należy pamiętać, że rozwiązania PaaS często posiadają pewne możliwości integracji — na przykład usługę API Management — ale rozwiązanie iPaaS jest bardziej wszechstronne).
  • cPaaS (platforma komunikacyjna jako usługa) to rozwiązanie PaaS, które umożliwia programistom łatwe dodawanie do aplikacji funkcji głosowych (połączenia przychodzące i wychodzące), wideo (w tym telekonferencje) oraz możliwości przesyłania wiadomości (tekst i media społecznościowe) bez konieczności inwestowania w specjalistyczny sprzęt i oprogramowanie komunikacyjne.
  • mPaaS (platforma mobilna jako usługa) to rozwiązanie PaaS, które upraszcza tworzenie aplikacji dla urządzeń przenośnych. mPaaS zazwyczaj oferuje niskokodowe metody — nawet prostą funkcję „przeciągnij i upuść” — dostępu do funkcji specyficznych dla urządzenia, w tym kamery, mikrofonu, czujnika ruchu i możliwości geolokalizacji (lub GPS) telefonu.

PaaS i IBM Cloud

IBM oferuje bogate i skalowalne rozwiązania PaaS do tworzenia od podstaw aplikacji od początku przeznaczonych dla chmury lub modernizacji istniejących aplikacji w celu wykorzystania elastyczności i skalowalności chmury.

IBM Red Hat OpenShift on IBM Cloud to w pełni zarządzana usługa OpenShift, która wykorzystuje skalę przedsiębiorstwa i bezpieczeństwo chmury IBM Cloud do automatyzacji aktualizacji, skalowania i udostępniania rozwiązań, a także do obsługi nieoczekiwanego szczytowego ruchu. Zespoły mogą od razu rozpocząć tworzenie i modernizację aplikacji przy użyciu szeregu narzędzi i funkcji, a także wdrażać wysoce dostępne, w pełni zarządzane klastry za pomocą jednego kliknięcia.Produkt IBM Red Hat OpenShift on IBM Cloud został uznany za lidera w rankingu The Forrester Wave: Multicloud Container Development Platforms, 3. kw. 2020 r. (PDF, 415 kB).

IBM Cloud Pak for Applications pomaga modernizować istniejące aplikacje, wbudowywać dodatkowe zabezpieczenia oraz tworzyć nowe aplikacje, które napędzają inicjatywy cyfrowe. Oferuje wartościowe narzędzia do tworzenia aplikacji przeznaczonych dla chmury i elastyczne opcje licencjonowania, które można bez trudu dopasować do własnych potrzeb.

Jeśli chcesz zacząć korzystać z rozwiązania PaaS na platformie IBM Cloud, zarejestruj się, aby otrzymać IBMid i utworzyć konto IBM Cloud.