Co to jest PaaS? Wyjaśnienie platformy jako usługi

Platforma jako usługa (PaaS) to rodzaj oferty przetwarzania w chmurze, w której usługodawca dostarcza klientom platformę, umożliwiając im tworzenie i uruchamianie aplikacji biznesowych oraz zarządzanie nimi bez konieczności tworzenia i utrzymywania infrastruktury takiego oprogramowania procesy rozwojowe zazwyczaj wymagają.

Ponieważ architektury PaaS sprawiają, że podstawowa infrastruktura jest niewidoczna dla programistów i innych użytkowników, model jest podobny do koncepcji obliczeń bezserwerowych i funkcji jako usługi (FaaS), w których dostawca usług w chmurze zapewnia i uruchamia serwer oraz zarządza alokacją zasobów. 

FaaS to rodzaj oferty bezserwerowej, która umożliwia firmom opracowywanie i uruchamianie dyskretnych funkcji sterowanych zdarzeniami bez złożoności tworzenia i utrzymywania infrastruktury zwykle potrzebnej do tworzenia i uruchamiania aplikacji.

Usługi PaaS i bezserwerowe usługi obliczeniowe zazwyczaj pobierają opłaty tylko za zużyte zasoby obliczeniowe, magazyn i zasoby sieciowe. FaaS przyjmuje to podejście do ekstremum, ładując tylko wtedy, gdy funkcje są wykonywane, co sprawia, że ​​FaaS jest naturalnym wyborem dla sporadycznych zadań. 

Wszystko w rodzinie chmurowej

Podobnie jak w przypadku innych usług w chmurze, takich jak infrastruktura jako usługa (IaaS) i oprogramowanie jako usługa (SaaS), PaaS jest oferowany za pośrednictwem hostowanej infrastruktury dostawcy usług w chmurze. Użytkownicy zwykle uzyskują dostęp do ofert PaaS za pośrednictwem przeglądarki internetowej.

PaaS może być dostarczany za pośrednictwem chmur publicznych, prywatnych lub hybrydowych. Dzięki usłudze PaaS w chmurze publicznej klient kontroluje wdrażanie oprogramowania, podczas gdy dostawca chmury dostarcza wszystkie główne komponenty IT potrzebne do hostowania aplikacji, w tym serwery, systemy pamięci masowej, sieci, systemy operacyjne i bazy danych.

W przypadku chmury prywatnej PaaS jest dostarczany jako oprogramowanie lub urządzenie w zaporze klienta, zwykle w jego lokalnym centrum danych. Chmura hybrydowa PaaS oferuje połączenie dwóch typów usług w chmurze.

Zamiast zastępować całą infrastrukturę IT organizacji w celu tworzenia oprogramowania, PaaS zapewnia kluczowe usługi, takie jak hosting aplikacji lub programowanie w języku Java. Niektóre oferty PaaS obejmują projektowanie, tworzenie, testowanie i wdrażanie aplikacji. Usługi PaaS mogą również obejmować integrację usług internetowych, współpracę zespołu programistów, integrację baz danych i bezpieczeństwo informacji.

Podobnie jak w przypadku innych rodzajów usług w chmurze, klienci płacą za PaaS na podstawie wykorzystania, przy czym niektórzy dostawcy pobierają stałą miesięczną opłatę za dostęp do platformy i aplikacji hostowanych na platformie.

Powiązane nagranie wideo: Jakie jest podejście natywne dla chmury?

W tym 60-sekundowym filmie dowiesz się, jak podejście natywne w chmurze zmienia sposób, w jaki przedsiębiorstwa strukturyzują swoje technologie - od Craiga McLuckiego, założyciela i dyrektora generalnego Heptio oraz jednego z wynalazców systemu open source Kubernetes.

Zalety PaaS 

Jedną z największych zalet PaaS jest to, że przedsiębiorstwa mogą zyskać środowisko, w którym mogą tworzyć i wdrażać nowe aplikacje bez konieczności poświęcania czasu i pieniędzy na tworzenie i utrzymywanie infrastruktury obejmującej serwery i bazy danych.

Może to prowadzić do szybszego opracowywania i dostarczania aplikacji, co jest ogromnym plusem dla firm, które chcą uzyskać przewagę konkurencyjną lub muszą szybko wprowadzić produkty na rynek.

PaaS pozwala im również szybko przetestować użycie nowych języków, systemów operacyjnych, baz danych i innych technologii programistycznych, ponieważ nie muszą oni stawiać dla nich infrastruktury wspierającej. PaaS ułatwia i przyspiesza uaktualnianie narzędzi.

Użycie PaaS zmusza deweloperów oprogramowania dla przedsiębiorstw do korzystania z technik chmurowych w swoich aplikacjach, pomagając następnie przyjąć nowoczesne zasady i lepiej wykorzystać platformy infrastruktury chmury (IaaS).

Ponieważ organizacje korzystające z PaaS mogą zarządzać swoimi aplikacjami i danymi, utrata kontroli nie jest poważnym problemem, jak to często ma miejsce w przypadku korzystania z infrastruktury lub aplikacji w chmurze.

Aplikacje PaaS 

Zapewnienie hostowanego środowiska do tworzenia, testowania i wdrażania aplikacji jest jednym z najczęstszych zastosowań PaaS. Ale nie jest to jedyny powód, dla którego przedsiębiorstwa używają PaaS.

Firma badawcza Gartner przytacza różne przypadki użycia PaaS, w tym:

  • Rozwój i zarządzanie API. Firmy mogą używać PaaS do opracowywania, uruchamiania, zarządzania i zabezpieczania interfejsów programowania aplikacji i mikrousług. Obejmuje to tworzenie nowych i nowych interfejsów dla istniejących interfejsów API, a także kompleksowe zarządzanie API.
  • Analityka biznesowa / wywiad. Narzędzia dostarczane przez PaaS pozwalają przedsiębiorstwom analizować swoje dane w celu znalezienia spostrzeżeń biznesowych i wzorców zachowań, aby mogły podejmować lepsze decyzje i dokładniej przewidywać przyszłe wydarzenia, takie jak popyt rynkowy na produkty,
  • Zarządzanie procesami biznesowymi (BPM). Organizacje mogą używać PaaS, aby uzyskać dostęp do platformy BPM dostarczanej jako usługa, podobnie jak w przypadku innych ofert chmurowych. Pakiety BPM integrują komponenty IT potrzebne do zarządzania procesami, w tym dane, reguły biznesowe i umowy dotyczące poziomu usług.
  • Komunikacja. PaaS może również służyć jako mechanizm dostarczania dla platform komunikacyjnych. Umożliwia to programistom dodawanie do aplikacji funkcji komunikacyjnych, takich jak głos, wideo i wiadomości.
  • Bazy danych. Dostawca PaaS może świadczyć usługi, takie jak konfigurowanie i utrzymywanie bazy danych organizacji. Firma badawcza Forrester Research definiuje bazę danych PaaS jako „dostępną na żądanie, bezpieczną i skalowalną samoobsługową platformę bazy danych, która automatyzuje udostępnianie i administrowanie bazami danych i może być używana przez programistów i personel nietechniczny”.
  • Internet przedmiotów. Oczekuje się, że IoT będzie dużą częścią wykorzystania PaaS w nadchodzących latach, wspierając szeroką gamę środowisk aplikacji oraz języków programowania i narzędzi, z których będą korzystać różne wdrożenia IoT.
  • Zarządzanie danymi podstawowymi (MDM). Obejmuje to procesy, ład, zasady, standardy i narzędzia, które zarządzają krytycznymi danymi biznesowymi należącymi do przedsiębiorstwa, zapewniając pojedynczy punkt odniesienia dla danych. Takie dane mogą obejmować dane referencyjne, takie jak informacje o transakcjach klientów i dane analityczne wspomagające podejmowanie decyzji.

Technologie PaaS 

PaaS obejmuje wiele podstawowych składników infrastruktury chmury, w tym serwery, sprzęt sieciowy, systemy operacyjne, usługi pamięci masowej, oprogramowanie pośredniczące i bazy danych.

Wszystkie te oferty technologiczne są własnością dostawców usług, są przez nich obsługiwane, konfigurowane i utrzymywane. Te w pełni zarządzane usługi infrastrukturalne nie tylko odciążają klienta od obciążeń administracyjnych IT, ale także stanowią atrakcyjny argument finansowy dla klientów. Mogą uniknąć konieczności inwestowania w te podstawowe komponenty IT, których mogą nie być w stanie wykorzystać w jak największym stopniu.

PaaS obejmuje również zasoby, takie jak narzędzia programistyczne, języki programowania, biblioteki, systemy zarządzania bazami danych i inne narzędzia od dostawcy chmury.

Przykłady PaaS

Do wiodących dostawców PaaS należą Amazon Web Services (AWS), Microsoft, Google, IBM, Salesforce.com, Red Hat, Pivotal, Mendix, Oracle, Engine Yard i Heroku. Najczęściej używane języki, biblioteki, kontenery i powiązane narzędzia są dostępne w chmurach wszystkich głównych dostawców PaaS.

W szczególności Amazon, Microsoft i Google oferują pełne zestawy usług w chmurze, w tym obliczenia, przechowywanie, bazy danych, analizy, sieci, zaplecze mobilne, narzędzia programistyczne, narzędzia do zarządzania i zabezpieczenia. W wielu przypadkach są to w pełni zarządzane usługi, które uzupełniają usługi PaaS w tych chmurach publicznych. 

To nie przypadek, że wielu dostawców PaaS jest również czołowymi dostawcami narzędzi programistycznych. Firma Gartner szacuje, że obecnie jest około 200 dostawców PaaS.

Oto krótkie spojrzenie na niektóre z wiodących ofert PaaS. 

AWS Elastic Beanstalk

Dzięki Elastic Beanstalk firmy mogą szybko wdrażać aplikacje i zarządzać nimi w chmurze AWS bez konieczności poznawania infrastruktury obsługującej aplikacje. Elastic Beanstalk automatycznie obsługuje szczegóły udostępniania pojemności, równoważenia obciążenia, skalowania i monitorowania stanu aplikacji.

AWS Lambda

AWS Lambda to sterowana zdarzeniami, bezserwerowa platforma obliczeniowa, która uruchamia Twój kod w odpowiedzi na zdarzenia i automatycznie zarządza zasobami obliczeniowymi wymaganymi przez ten kod. AWS Lambda spopularyzowała koncepcję FaaS, chociaż jest ona wcześniejsza niż termin. 

Silnik Aplikacji Google

Google App Engine to oferta PaaS do tworzenia i hostowania aplikacji internetowych w centrach danych zarządzanych przez Google. Aplikacje są udostępniane, uruchamiane i skalowane automatycznie na wielu serwerach. 

Funkcje Google Cloud

Usługa Google Cloud Functions została zaprojektowana, aby ułatwić programistom uruchamianie i skalowanie kodu w chmurze oraz tworzenie aplikacji bezserwerowych sterowanych zdarzeniami.

Usługa Azure App Service

Microsoft Azure App Service to w pełni zarządzana usługa PaaS, która integruje witryny internetowe Microsoft Azure, usługi mobilne i usługi BizTalk w jednej ofercie. Usługa Azure App Service zapewnia integrację między systemami lokalnymi i chmurowymi.

Azure Functions

Microsoft Azure Functions to bezserwerowa platforma obliczeniowa, która umożliwia programistom podejmowanie działań poprzez łączenie się ze źródłami danych lub rozwiązaniami do przesyłania wiadomości, ułatwiając przetwarzanie i reagowanie na zdarzenia. Deweloperzy mogą używać Azure Functions do tworzenia punktów końcowych interfejsu API opartych na protokole HTTP dostępnych dla szeregu aplikacji.

Red Hat OpenShift

OpenShift to rodzina ofert PaaS, które mogą być hostowane w chmurze lub wdrażane lokalnie, do tworzenia i wdrażania aplikacji kontenerowych. Flagowym produktem jest OpenShift Container Platform, lokalny PaaS zbudowany wokół kontenerów Docker zorganizowanych i zarządzanych przez Kubernetes w oparciu o Red Hat Enterprise Linux. 

Pivotal Cloud Foundry 

Cloud Foundry to PaaS typu open source zarządzany przez Cloud Foundry Foundation. Został pierwotnie opracowany przez firmę VMware, a następnie przeniesiony do Pivotal Software, spółki joint venture firm EMC, VMware i General Electric. Podobnie jak OpenShift, Cloud Foundry jest przeznaczony do tworzenia i uruchamiania aplikacji opartych na kontenerach przy użyciu Kubernetes do orkiestracji. 

Ryzyko PaaS

Biorąc pod uwagę, że PaaS jest usługą opartą na chmurze, wiąże się z wieloma takimi samymi nieodłącznymi zagrożeniami, jak inne oferty w chmurze, takimi jak zagrożenia bezpieczeństwa informacji. PaaS opiera się na koncepcji korzystania ze współdzielonych zasobów, takich jak sieci i serwery, więc zagrożenia bezpieczeństwa obejmują umieszczanie krytycznych danych w tym środowisku i kradzież ich danych w wyniku nieautoryzowanego dostępu lub ataków hakerów lub innych złych podmiotów.

Z drugiej strony, główni dostawcy usług w chmurze byli skuteczniejsi w zapobieganiu takim naruszeniom niż typowe korporacyjne centra danych, więc nie okazało się, że ryzyko bezpieczeństwa informacji jest tym, czego początkowo obawiało się wielu działaczy IT.

Dzięki PaaS przedsiębiorstwa są zobowiązane do tworzenia przez dostawców usług odpowiednich kontroli dostępu oraz innych przepisów i zasad bezpieczeństwa w ich infrastrukturach i operacjach. Przedsiębiorstwa są również odpowiedzialne za zapewnienie własnych zabezpieczeń dla swoich aplikacji.

Ponadto, ponieważ organizacje polegają na infrastrukturze i oprogramowaniu konkretnego dostawcy usług, istnieje potencjalny problem związany z uzależnieniem od dostawcy w środowiskach PaaS. Uzasadnionym pytaniem, jakie może zadać dział IT, jest to, czy wybrany przez niego PaaS będzie współpracował z obecnymi i przyszłymi wdrożeniami IaaS i SaaS?

Innym ryzykiem związanym z PaaS jest przestój infrastruktury dostawcy usług z jakiegokolwiek powodu oraz wpływ, jaki może to mieć na usługi. A co jeśli dostawca wprowadzi zmiany w swojej strategii rozwoju, językach programowania lub w innych obszarach?

Nie oczekuj, że te możliwe przeszkody powstrzymają Cię przed zanurzeniem się w PaaS. Zapewnia większą elastyczność właśnie dlatego, że dostawca obsługuje platformy podczas programowania.

iPaaS

Każda dyskusja na temat PaaS powinna zawierać wzmiankę o iPaaS, integracji platformy jako usługi. iPaaS to zestaw zautomatyzowanych narzędzi do łączenia aplikacji wdrożonych w różnych środowiskach. Wiodącymi przykładami dostawców iPaaS są Dell Boomi, Informatica, MuleSoft i SnapLogic. 

iPaaS ma sens dla firm, które muszą integrować aplikacje i dane lokalne z aplikacjami i danymi w chmurze, co obejmuje rosnącą liczbę przedsiębiorstw korzystających ze środowisk chmury hybrydowej.