Cloudportal: elastyczny buildpack dla aplikacji PHP
Platforma Cloudportal umożliwia uruchomienie aplikacji tworzonych dla wielu frameworków i korzystających z szerokiej gamy usług. Należy jednak pamiętać o właściwym przygotowaniu środowika dla danej aplikacji.
Przygotowanie
poprawnego środowiska dla aplikacji na platformie Cloud Portal spoczywa na buildpacku, którego zadaniem
jest instalacja niezbędnych komponentów i ich konfiguracja zgodna z potrzebami konkretnego programu. Środowisko pracy w
chmurze nie daje możliwości nieograniczonej ingerencji w sposób przygotowania
systemu pod aplikację i dokonywania modyfikacji „adhoc”. Cloudportal wspiera jednak m.in. elastyczny
buildpack dla aplikacji PHP, który zapewnia wysoce konfigurowalne środowisko
uruchomieniowe nawet dla najbardziej zaawansowanych rozwiązań.
W zależności od potrzeb programista uzyskuje możliwość zainstalowania:
- ·
serwera Apache 2.4, lub Nginx 1.5,1.6,1.7 - ·
wersji PHP 5.4, 5.5, 5.6 lub HHVM 3.2.
Ma także dostęp do:
- ·
środowiska uruchomieniowego php-cli, php-cgi,
php-fpm, hhvm, - ·
ponad 50 dostępnych rozszerzeń php do wyboru.
Sam proces instalacji aplikacji PHP można podzielić na kilka
podstawowych etapów. Podczas podładowywania plików aplikacji
Cloudportal wykrywa plik index.php i wymusza uruchomienie odpowiedniego
buildpacku, po czym następuje:
- przydzielenie zasobów dla aplikacji,
- uruchomienie buildpacku PHP,
- kopiowanie plików aplikacji do folderu htdocs,
- pobranie, instalacja i konfiguracja
odpowiednich wersji serwera www, środowiska PHP i koniecznych rozszerzeń.
Po zakończeniu tego procesu aplikacja jest dostępna pod zadeklarowanym
adresem.
W zależności od skali skomplikowania aplikacji i potrzeby
zmian domyślnych ustawień środowiska można wystąpić potrzeba dodania
komponentów konfiguracyjnych do standardowych plików aplikacji. Środowisko
Cloudportal i buildpack PHP dają dostęp do:
- pliku manifestu aplikacji, który zawiera
podstawowe dane konfiguracyjne, jak wielkość przydzielonej pamięci RAM, liczbę
instancji aplikacji, informację o dodatkowych usługach Cloudportal, czy
wartości zmiennych środowiskowych; - plików opcji w formacie JSON, w których jest
przechowywana informacja dotycząca konieczności włączenia niestandardowych
rozszerzeń, czy opcji konfiguracji PHP; - plików skryptów np. w języku Python, które są
odpowiedzialne za wszelkie pozostałe zmiany w środowisku uruchomieniowym
i plikach podładowanej aplikacji.
Sama aplikacja może wymagać zmiany uprawnień
do folderów, niestandardowych wpisów do plików konfiguracyjnych i pobrania
danych ze zmiennych środowiskowych – umieszczenie skryptów konfiguracyjnych w
folderze aplikacji umożliwia dokonanie tych zmian przez buildpack.
Przy uruchamianiu każdej aplikacji w środowisku chmury
obliczeniowej należy także pamiętać o specyficznym cyklu życia każdej
instancji
programu. Lokalny system plików, a co za tym
idzie
wszystkie pliki podładowane do folderów aplikacji po jej zainstalowaniu a
także dane
sesyjne, mają charakter nietrwały i mogą ulec zniszczeniu w procesie
naprawy
lub po ponownym uruchomieniu instancji. Dla zachowania tych danych
programista – w
odróżnieniu do zwykłego środowiska uruchomieniowego – musi
zagwarantować, że konfiguracja aplikacji obejmie dodatkowe usługi
CloudPortal, które umożliwiają bezpieczne składowanie danych poza
systemem aplikacji. Do tych usług należą np.
kompatybilny z S3 magazyn obiektowy RIAK, MongoDB i memcached.
Podobne artykuły
Mongo DB: zarządzanie bazą danych w chmurze
Tradycyjne podejście do przetwarzania danych w przypadku systemów zarządzania relacyjną bazą danych nie we wszystkich przypadkach jest najbardziej optymalne. Konieczność przechowywania coraz bardziej rozbudowanych i skomplikowanych danych, oraz próba ich opisania w postaci tabel i relacji może prowadzić do wolnych wielotabelowych zapytań i rozrośniętych indeksów. W niektórych przypadkach, zamiast korzystać z narzędzia uniwersalnego, warto sięgnąć po system specjalistyczny. Jednym z takich systemów oferowanych w CloudPortal jest nierelacyjny system zarządzania bazą danych MongoDB.
Mechanizmy wysokiej dostępności relacyjnych baz danych w CoudPortal.pl
Wszystkie aplikacje udostępnianie w CloudPortal ze względu na elastyczną architekturę platformy w dużym stopniu wykorzystują dodatkowe usługi. Rozproszone systemy plików, bazy SQL i NOSQL, usługi kolejkowania, pamięci podręczne sesji i wiele innych mają zagwarantować szeroką gamę możliwości dla tworzonych i udostępnianych przez platformę rozwiązań.
Aplikacje Ruby na platformie CloudPortal
CloudPortal jest elastyczną platformą PaaS, która umożliwia tworzenie i utrzymywanie w jednym środowisku aplikacji przygotowanych w najpopularniejszych językach programowania i korzystających z szerokiej gamy usług. Jednym ze wspieranych środowisk uruchomieniowych jest konfiguracja wspierająca aplikacje Ruby, Rack, Rails i Sinatra.