Udostępnij za pośrednictwem


          

PHP na Windows Azure - Mechanizmy przechowywania danych Udostępnij na: Facebook

Pobierz i uruchom

Autor: Maciej Wilgucki

Opublikowano: 2011-03-29

Windows Azure oferuje trzy podstawowe mechanizmy przechowywania danych – bloby, kolejki oraz tabele. Zanim zaczniemy je poznawać, dowiemy się najpierw, w jaki sposób w Eclipse tworzy się projekty korzystające z Azure Storage. Dowiemy się również, jak należy skonfigurować PHP, aby przykłady dostarczone razem z pluginem Windows Azure Tools for Eclipse poprawnie się uruchomiły.

Implementacja

Rozpoczniemy od utworzenia nowego projektu w Eclipse. W tym celu:

1.     Uruchom Eclipse.

2.     Zmień perspektywę (Window ‑> Open Perspective ‑> Other) na Windows Azure PDT (rys. 1):

Rys. 1. Wybór perspektywy.

 

3.     Z menu File wybierz opcję New, a następnie Windows Azure PHP Project.

4.     W oknie dialogowym nowego projektu (rys. 2) wpisz nazwę HelloAzureStorage i kliknij Next.

Rys. 2. Nowy projekt Windows Azure PHP.

 

5.     W oknie dialogowym, które się pojawi (rys. 3), wpisz w polu Role name – WebRole oraz zaznacz checkbox Windows Azure Data Storage. Upewnij się, że zaznaczona jest opcja Use Development Storage. Dzięki tej opcji projekt będzie korzystał z emulowanego środowiska na lokalnym komputerze i nie trzeba będzie ponosić kosztów przechowywania i dostępu do danych.

Rys. 3. Dodawanie obsługi Azure Storage do projektu.

 

6.     Kliknij w przycisk Finish w celu utworzenia projektu.

W tych kilku prostych krokach stworzyliśmy projekt korzystający z Azure Storage. Jak pewnie zauważyliście, w Eclipse pojawiły się dwa projekty. Nie jest to nic nadzwyczajnego. Pierwszy projekt, o nazwie HelloAzureStorage, zawiera jedynie pliki konfiguracyjne. Dokładny ich opis znajdziecie pod adresem https://msdn.microsoft.com/en-us/library/dd179398.aspx.

Drugi projekt nazywa się HelloAzureStorage_WebRole i jest właściwą aplikacją PHP. Jeśli w projekcie utworzylibyście więcej ról, wówczas dla każdej z nich utworzony zostanie osobny projekt. Po zajrzeniu do środka projektu zauważycie, że Eclipse wyręczył nas w najnudniejszej pracy i przygotował kompletne środowisko do umieszczenia w chmurze. Co więcej, mamy również gotowe przykłady zastosowania blobów oraz tabel.

Informacja

Zanim przejdziemy dalej, musimy dowiedzieć się, czym są role i w jaki sposób wpływają one na pracę nad aplikacją oraz jej późniejsze utrzymanie.

Każda rola to osobna  aplikacja działająca w chmurze. W chwili obecnej mamy do dyspozycji trzy role:

  • Rola web – standardowa aplikacja internetowa,
  • Rola worker – usługa działająca w tle,
  • Rola VM – maszyna wirtualna.

Równolegle do pojęcia roli funkcjonuje pojęcie instancji. Instancja jest pojedynczym egzemplarzem roli. Dzięki zwiększeniu liczby instancji danej roli mamy możliwość obsłużenia większego ruchu w naszej aplikacji, przy czym nie musimy się martwić o load balancing. Rozłożeniem ruchu na poszczególne instancje danej roli zajmie się Windows Azure.

Dobrą praktyką jest korzystanie z minimum dwóch instancji roli. W przypadku awarii jednej z nich, Windows Azure przełączy ruch na działającą instancję, dzięki czemu użytkownicy naszej aplikacji nie zauważą awarii.

Tak przygotowany projekt możemy już uruchomić. W tym celu z menu Windows Azure należy wybrać opcję Run Windows Azure PHP Project in Development Fabric. Eclipse uruchomi lokalne środowisko Compute Emulator (przed wersją 1.3 nazywało się ono Development Fabric), w którym zostanie umieszczona nasza aplikacja. Następnie we wbudowanej przeglądarce internetowej uruchomiony zostanie projekt. Wprawdzie zawiera on jedynie przykład korzystania z blobów oraz tabel, w zupełności wystarczy to jednak do zaznajomienia się z podstawowymi możliwościami oferowanymi przez Azure Storage.

Wartym uwagi narzędziem dostarczanym razem z Windows Azure Tools for Eclipse jest Windows Azure Storage Explorer (rys. 4).

Rys. 4. Windows Azure Storage Explorer.

 

Narzędzie to oferuje możliwość przeglądania magazynu danych oraz wykonywania na nim operacji. Mamy możliwość tworzenia, modyfikowania oraz usuwania pojemników na dane oraz wykonywania tych samych operacji na samych danych. Storage Explorer daje nam również możliwość przeglądania metadanych powiązanych z danymi przechowywanymi w Azure Storage.

Podsumowanie

W tym artykule nauczyliśmy się emulować środowisko Azure Storage na lokalnym komputerze.

W kolejnym artykule nauczymy się wykorzystywać możliwości, jakie dają bloby.