Scott Tiger Tech Blog

Blog technologiczny firmy Scott Tiger S.A.

Archiwum dla Kwiecień 4th, 2013

Understanding PaaS – notatki

Autor: Piotr Karpiuk o 4. kwietnia 2013

Poniżej notatki z książki Understanding PaaS, Michael P. McGrath, O’Reilly 2012. Autor jest pracownikiem firmy Red Hat.
Chmury typu PaaS, w odróżnieniu od IaaS, nie dają dostępu do systemu operacyjnego, ale do platformy programistycznej i predefiniowanego stosu technologii. Daje to mniejszą kontrolę nad sprzętem, ale pozwala szybciej tworzyć skalowalne aplikacje z użyciem gotowych komponentów programowych. Nierzadkie są przypadki, gdy dostawcy chmur PaaS sami są klientami dostawców chmur IaaS.
O ile w chmurach IaaS na jednej maszynie fizycznej mogą działać maszyny wirtualne różnych klientów, to w chmurach PaaS na jednej maszynie wirtualnej mogą działać aplikacje różnych klientów. Na ogół aplikacja otrzymuje określone z góry zasoby, ale niektórzy dostawcy pozwalają na chwilowe przekraczanie takich limitów.
Chmury PaaS na dzień dzisiejszy koncentrują się głównie na aplikacjach webowych i specjalizują się w obsłudze dużej ilości krótkotrwałych połączeń. Długotrwały proces wsadowy powinien być raczej uruchamiany w warstwie IaaS z uwagi chociażby na lepszą kontrolę nad zużywanymi przez ten proces zasobami. Dla chmur PaaS typowe jest skalowanie poziome (zwiększanie liczby maszyn), a nie pionowe (podnoszenie limitów zasobów na pojedynczej maszynie). Należy wykonywać więcej małych operacji równolegle, a jak najmniej wymagających dużych zasobów operacji jedna po drugiej. Wielu dostawców PaaS automatycznie dodaje nowe instancje przy zwiększonym zapotrzebowaniu – w najgorszym razie (u niektórych dostawców) trzeba je tworzyć ręcznie. Typową reakcją dostawcy na przekroczenie przez proces limitu zasobów jest ubicie procesu.
W modelu PaaS deweloperzy aplikacji wybierają język programowania i cechy platformy jakich potrzebują (np. MySQL i JBoss), znajdują odpowiedniego dostawcę który to oferuje, i zaczynają kodować. Oprogramowanie wymaga zwykle jakichś bibliotek, natywnych lub nie. Kwestia możliwości użycia tych bibliotek i zależności pomiędzy bibliotekami to kolejna właściwość każdego dostawcy chmur PaaS. W Google App Engine pozwala tylko na niektóre biblioteki, a dozwolone w użyciu moduły języka C są opisane na stronie. Inni producenci, jak np. OpenShift czy Heroku, wczytują przygotowany przez dewelopera plik manifestu wymieniający potrzebne biblioteki i rozwiązują zależności po stronie serwera.
Czytaj więcej »

Napisany w Cloud computing, Uncategorized | Brak komentarzy »