Platform-As-A-Service (PAAS) to jeden z modeli usług związanych z przetwarzaniem w chmurze. W tym modelu środowisko oprogramowania odgrywa kluczową rolę w tworzeniu spersonalizowanego rozwiązania programowego. Platforma PAAS zapewnia zintegrowane środowisko programistyczne ze wszystkimi niezbędnymi narzędziami do tworzenia i wdrażania zaawansowanej aplikacji w chmurze. Ten artykuł zagłębia się w podstawy tego modelu, jednocześnie poznając jego koncepcję w odniesieniu do innych modeli usług i dostępnych narzędzi.
Przegląd
Istnieją trzy podstawowe modele usług w chmurze:IAAS, PAAS i SAAS. Wśród nich PAAS i IAAS są blisko spokrewnione. Podobieństwo tkwi w ich celu; obaj próbują rozwiązać problem efektywnego zarządzania i publikowania usług oprogramowania dla użytkownika końcowego. Różnica polega jednak na sposobie świadczenia usług. Na przykład w IAAS głównym celem jest zapewnienie infrastruktury jako podstawowego zasobu. Asymiluje różne elementy infrastruktury, takie jak maszyny wirtualne, kontenery, sieć i inne powiązane usługi w ramach jednego standardowego frameworka. Administrator i inżynierowie następnie wdrażają zasoby w postaci aplikacji i usług. Nieodłączna spójność tego modelu ułatwia zarządzanie i zapewnia szybkie dostarczanie kompleksowej infrastruktury.
Z drugiej strony PAAS przyjmuje kod jako swoje pierwsze podejście. Operatorzy programistów i programiści używają zestawu języków programowania i struktur do projektowania oprogramowania i wdrażania ich po zakończeniu usługi. Inżynierowie usług PaaS często nie muszą konfigurować ani nawet rozumieć podstawowej infrastruktury niskiego poziomu, ponieważ wszystko jest obsługiwane w ich imieniu. Jest to różnica, w której IAAS zajmuje się tymi komponentami, podczas gdy PAAS koncentruje się na dostarczaniu platformy dla usług oprogramowania.
W rzeczywistości rozróżnienie między modelami usług w chmurze często się zaciera, ponieważ modele są ściśle ze sobą powiązane w strukturze piramidalnej. Usługi oprogramowania świadczone przez PAAS wymagają infrastruktury platformy do wykonywania takich rzeczy, jak przestrzeń dyskowa, pamięć, moc obliczeniowa i tak dalej. Bez nich nie możemy uzyskać platformy (PAAS), a bez gotowej platformy nie możemy uruchomić oprogramowania (SAAS). W związku z tym, gdy głębiej zagłębiamy się w model usług w chmurze, istnieje delikatna różnica. Można to ładnie zilustrować za pomocą struktury piramidy, jak pokazano na rysunku 1.
Rysunek 1: Piramida usług oprogramowania
Model usług PAAS
Ten model opisuje oprogramowanie, które zapewnia środowisko wykonawcze, narzędzia programistyczne i wdrożeniowe. Deweloper oprogramowania używa tego środowiska i narzędzi do tworzenia dostosowanego oprogramowania. Platforma zawiera zestaw języków programistycznych, frameworków aplikacji i innych narzędzi konstrukcyjnych, takich jak wskaż i kliknij narzędzia, które pomagają nawet osobom niebędącym programistami w tworzeniu oprogramowania. Narzędzie PAAS często zapewnia kompletne zintegrowane środowisko programistyczne, które może Ci pomóc, od samego początku rozwoju do wdrożenia w ramach usługi. Posiada również w pełni rozwiniętą obsługę standardowego interfejsu użytkownika, taką jak HTML, JavaScript i inne technologie multimedialne.
Użytkownikami końcowymi w PAAS są na ogół programiści, programiści, geekowie, a nawet osoby półtechniczne lub każdy, kto wie, jak pracować z platformą i narzędziami. Oczywiście stopień interakcji waha się od zwykłego dostarczania danych do ich pobierania w celu stworzenia kompletnego, wyrafinowanego rozwiązania. Decyduje o tym stopień swobody funkcjonalności dozwolony przez dostawcę platformy. Użytkownik końcowy PAAS nie musi utrzymywać ani zarządzać sprzętem ani oprogramowaniem. Jedyną ich rolą jest wykorzystanie środowiska do rozwoju. Krótko mówiąc, dostawca usług PAAS jest zatem odpowiedzialny za wszystkie działania operacyjne, konserwację i zarządzanie własnym cyklem życia produktu.
Oto kilka kluczowych zalet modelu PAAS:
- Niska konserwacja i zakup drogiego sprzętu, serwerów, przestrzeni dyskowej, mocy obliczeniowej itd.
- Niskie koszty utrzymania; dostawca usług w chmurze przejmuje odpowiedzialność administracyjną.
- Usługę można szybko skalować w górę lub w dół na żądanie.
Istnieją również pewne problemy z PAAS.
- Ze względu na zależność platformy przenośność jest problemem.
- Ponieważ dane są przechowywane w chmurze, bezpieczeństwo jest problemem.
Rozwój PAAS
PAAS zapewnia szereg usług, które abstrahują od infrastruktury aplikacji, systemu operacyjnego i oprogramowania pośredniczącego, wraz z zespołem programistów, którzy budują, testują i wdrażają oprogramowanie z niewielką pomocą informatyczną. Istnieją narzędzia samoobsługowe i na żądanie, zasoby, automatyzacja i kontenery środowiska wykonawczego platformy, które pomagają w zarządzaniu cyklem życia aplikacji (patrz Rysunek 2).
Rysunek 2: Model usługi PAAS
Oprócz możliwości skalowania platforma zapewnia wysoką dostępność wraz z automatyczną konfiguracją, zarządzaniem i narzędziami do równoważenia obciążenia.
PAAS udostępnia swoje wielokrotne kopie w środowisku Cloud. W rezultacie może w odrębny sposób zaadresować pojedyncze wymagania biznesowe. Ma to kluczowe znaczenie w przypadku aplikacji mających problemy ze zgodnością lub takich jak zestawy aplikacji skierowane do wewnątrz lub na zewnątrz. Narzędzia i normy tworzenia aplikacji są jednak wspólne dla programistów pracujących nawet w oddzielnych kopiach środowisk. Usługa PAAS może łączyć lokalne zasoby i dane, aby zabarwić aplikację spersonalizowanym akcentem dla różnych usług internetowych.
IAAS dostarcza elementy składowe efektywnego PAAS. Dzieje się tak, ponieważ programiści budujący w środowisku Cloud uzyskują większą elastyczność, jeśli mają głęboki dostęp do podstawowej infrastruktury platformy. Dostęp do serwerów aplikacji, serwerów WWW i baz danych ułatwia programistom zwiększanie lub zmniejszanie wydajności i jakości świadczonych usług. Ma to kluczowe znaczenie nie tylko dla aplikacji, ale także dla ogólnej zdolności PAAS.
Narzędzia PAAS
Silnik Google App to jeden z popularnych przykładów modelu usługi PAAS Cloud. Publikuje interfejsy API używane przez programistów do tworzenia oprogramowania. Google zapewnia również niezbędne narzędzia, takie jak platforma programistyczna, system plików i pamięć masowa. Dostawcy, którzy tworzą rozwiązanie PAAS za pomocą interfejsów Google API, to zasadniczo programiści, którzy dostarczają klientowi kompletne rozwiązanie. Pod tym względem Google działa również jako dostawca PAAS, który oferuje programistom wiele usług internetowych. Ponadto Mapy Google, Google Earth, Gmail i tym podobne to niektóre z usług oferowanych klientom, które są trafnie nazywane usługami SAAS, ale jako całość są również zgodne z modelem usług PAAS.
Problem z modelem usług PAAS polega na tym, że wiąże on zarówno dewelopera, jak i użytkownika końcowego z określoną platformą oferowaną przez dostawcę. Na przykład aplikacja zbudowana przy użyciu interfejsu Google API, który działa w Google App Engine, ma działać tylko w tym konkretnym środowisku. Dlatego możliwość rozszerzenia poza wsparcie konkretnego dostawcy jest dość ograniczona.
Obecnie na rynku pojawia się coraz więcej dostawców PAAS. Oferują usługi zarówno w ramach prywatnych, jak i publicznych usług Cloud. Na przykład Google, Amazon Web Services i Facebook oferują użytkownikom biznesowym swoje usługi, OpenShift firmy Red Hat oferuje prywatne centrum danych, Jelastic oferuje usługi w chmurze do tworzenia aplikacji Java i PHP przy minimalnym kodowaniu. Posiada również międzynarodowych partnerów hostingowych i centra danych. Inne nazwy to platforma Salesforce, IBM Bluemix, platforma Oracle Cloud, Windows Azure. Heroku, Ubuntu for Cloud, CloudBees, AppFog, Caspio, Cloud Foundry (open source), Iron Foundry (open source) i tak dalej.
Wniosek
W erze Internetu PAAS idealnie nadaje się do budowania aplikacji wykorzystujących chmurę, nie tylko na komputery, ale także na wiele urządzeń przenośnych. Wykorzystuje to rosnący trend opłacalnego wsparcia dla konsumentów IT, a także programów Bring Your Own Device (BYOD). Konsument potrzebuje tej samej aplikacji, która jest dostępna nie tylko w jego komputerach, ale także w wielu urządzeniach przenośnych, takich jak telefony komórkowe. PAAS umożliwił to teraz, a w nadchodzących latach rozróżnienie między różnymi modelami usług w chmurze będzie zupełnie nieistotne.