Microsoft Azure

Z Wikipedii, wolnej encyklopedii
(Przekierowano z Windows Azure)
Skocz do: nawigacja, szukaj

Microsoft Azure (wcześniej: Azure Services Platform, Windows Azure) – platforma chmurowa firmy Microsoft stworzona w modelu PaaS (Platform as a Service). Udostępnia ona mechanizmy pozwalające przetwarzać dane (Windows Azure Compute), a także je składować (Windows Azure Storage, SQL Azure). Platforma Windows Azure występowała pod nazwa kodową „Red Dog”.

W trakcie konferencji PDC 2008 w Los Angeles nastąpiła pierwsza prezentacja Platformy Windows Azure i jej udostępnienie w wersji CTP tylko dla uczestników tej konferencji. 1 lutego 2010 nastąpiła publiczna premiera tej platformy i udostępnienie jej do użytku komercyjnego.

Budowa[edytuj | edytuj kod]

Platforma zbudowana jest z grupy trzech technologii zapewniających specjalizowany zestaw możliwości dla programistów. Co więcej, platforma Windows Azure może być wykorzystywana zarówno przez aplikacje uruchamiane lokalnie na komputerach użytkowników, jak i aplikacje uruchomione w chmurze.

Platforma Windows Azure składa się z następujących elementów:

  • Windows Azure – zapewnia środowisko uruchomieniowe dla aplikacji oparte na systemie operacyjnym bazującym na Windows Server (nosi on nazwę Windows Azure Guest OS), a także przestrzeń do składowania danych. System ten uruchamiany jest na maszynach wirtualnych wykorzystujących technologię zbliżoną do Hyper-V[1].
    • Compute – odpowiada za zadania obliczeniowe hostowanych aplikacji.
    • Storage – odpowiada za przechowywanie danych w chmurze.
    • Fabric – odpowiada za zarządzanie i monitorowanie aplikacji uruchomionych w chmurze, a także nadzór maszyn działających w centrum obliczeniowym.
  • SQL Azure – zapewnia możliwość używania relacyjnej bazy danych zaimplementowanej do uruchamiania w chmurze.
  • Windows Azure Platform AppFabric – komponent dostarczający dodatkowe funkcjonalności w formie usług. Wśród nich znajdziemy następujące mechanizmy:
    • Service Bus – pozwala tworzyć chmurę hybrydową i zapewnia bezpieczne połączenie między zasobami zdalnymi i lokalnymi
    • Access Control Services – mechanizm odpowiadający za kontrolę dostępu do usług (wykorzystywany jest np. przez Service Bus). Opiera się on o koncepcję federacyjną.
    • Caching – rozproszony cache „w pamięci”.

Tworzenie aplikacji[edytuj | edytuj kod]

Technologiami jakie można wykorzystać do budowy aplikacji dla Platformy Windows Azure są wszystkie technologie dające się uruchomić na platformie Windows. Oprócz technologii .Net (technologia referencyjna dla chmury Windows Azure) można wykorzystywać także takie technologie jak Java, PHP, C/C++ czy Python. Istnieje także zestaw narzędzi ułatwiających pisanie rozwiązań dla chmury Windows Azure przeznaczonych do popularnych IDE takich jak Visual Studio czy Eclipse.

Ze strony Microsoft można pobrać Windows Azure SDK dedykowane dla platformy .Net, Java, PHP i Ruby[2].

Ważnym składnikiem SDK jest emulator chmury. Pozwala on na lokalne uruchamianie, testowanie oraz debugowanie tworzonych aplikacji. Nie jest on jednak w 100% zgodny z rzeczywistą platformą. Najważniejsze różnice to:

  • Emulator pozwala na podłączenie się do uruchomionej na nim roli i jej debugowanie w trakcie działania aplikacji. Prawdziwa platforma Windows Azure nie pozwala na to.
  • Instancja uruchomiona na emulatorze posiada dostęp do bibliotek zarejestrowanym w lokalnym Global Assembly Cache (GAC), do rejestru i konfiguracji komputera. Usługi te nie są jednak dostępne na rzeczywistej platformie.
  • Emulator pozwala na wypisywanie informacji diagnostycznych na konsoli lub wykorzystanie Windows Azure Diagnositics do przechwytywania takich wiadomości. Na Platformie Windows Azure, logowanie informacji możliwe jest tylko za pomocą Windows Azure Diagnostics, a wszelkie informacje przechowywane są w specjalnej tabeli w Windows Azure Storage.
  • Wszystkie instancje uruchomione na emulatorze posiadają uprawnienia administratora natomiast te uruchamiane na Platformie posiadają uprawnienia standardowego użytkownika Windows
  • Emulator nie odzwierciedla w pełni zachowania load balancera wykorzystywanego na Platformie Windows Azure[3].

Bezpieczeństwo[edytuj | edytuj kod]

Windows Azure posiada wiele procedur i rozwiązań technicznych zapewniających wysokie bezpieczeństwo danych i aplikacji umieszczonych w chmurze. Można tutaj wyróżnić wielokrotne replikacje danych, tak aby przynajmniej jedna kopia znajdowała się w innym centrum obliczeniowym. Inną cechą jest podział maszyn na tzw. obszary awarii (ang. fault domains), a instancje aplikacji są na nich rozlokowywane tak, aby każda aplikacja znajdowała się w innym obszarze awarii. Dzięki temu, w przypadku fizycznej awarii komputera istnieje mniejsza szansa na awarię aplikacji. Kolejną procedurą bezpieczeństwa jest fizyczne niszczenie wszelkich uszkodzonych dysków, które były wykorzystywane do przechowywania jakichkolwiek danych. Dzięki temu dane informacje, które przesyłane są do chmury i tam gromadzone, są świetnie zabezpieczone przed ich utratą oraz odczytaniem z dysków przez niepowołane osoby[4].

Przypisy

Linki zewnętrzne[edytuj | edytuj kod]