Narzędzia Azure

Udostępnij na: Facebook

Autor: Piotr Zieliński

Opublikowano: 2010-11-24

Przed rozpoczęciem przygody z platformą Azure należy zainstalować odpowiednie narzędzia, ponieważ środowiska programistyczne nie zawierają w domyślnej instalacji odpowiedniego oprogramowania (szablony, środowisko uruchomieniowe itp.).

Instalacja Windows Azure Tools

Podstawowym składnikiem są tzw. narzędzia Windows Azure. Windows Azure Tools zawiera podstawowe szablony potrzebne do stworzenia aplikacji Azure. Ponadto w skład pakietu wchodzi również  SDK i środowisko uruchomieniowe. Windows Azure jest wspierany  przez Visual Studio 2008 SP1, Visual Studio 2010 i Visual Web Developer 2010 Express Edition. Jeśli chodzi o wspierane systemy operacyjne, deweloper ma do dyspozycji Windows 7, Windows Vista SP1 oraz Windows Server 2008. Zakładając, że prawidłowa wersja Visual Studio jest już zainstalowana, wykonujemy następujące czynności:

  1. Ściągamy i instalujemy Windows Azure Tools for Microsoft Visual Studio 1.2 (June 2010).


    Rys. 1. Instalacja narzędzi jest bardzo intuicyjna.

  2. W zależności od konfiguracji systemu oraz zainstalowanego oprogramowania może zajść potrzeba instalacji dodatkowych łatek:

Po instalacji można uruchomić Visual Studio i przekonać się, że został dodany nowy szablon projektu:

Rys. 2. Azure Tools dodaje m.in. nowy szablon do Visual Studio, umożliwiający pisanie aplikacji na platformę Azure.

Dzięki dodatkowi do Visual Studio większość czynności będzie wykonywana automatycznie podczas uruchamiania projektów. Dodatek zwalnia programistę np. z ręcznego wdrożenia aplikacji.

Windows Azure MMC

Konsola MMC w systemach Windows stanowi narzędzie znacząco ułatwiające wszelką konfigurację. Użytkownik, zamiast szukać danej opcji w różnych okienkach i panelach, otwiera konsolę MMC i w drzewie hierarchicznym ma wszystkie dostępne konfigurowalne elementy. Ponadto istnieje możliwość tworzenia własnych konsol, dopasowanych do konkretnych potrzeb. Więcej ogólnych informacji o MMC znajduję się np. na WSS.

W świecie platformy Azure istnieje Windows Azure Management Tool  (MMC). Po zainstalowaniu, należy uruchomić StartHere.cmd. Po chwili pojawi się okno kreatora:

Rys. 3. Konfiguracja MMC.

Kreator wykona za użytkownika większość czynności – sprawdzi wymagane oprogramowanie, zainstaluje przystawki MMC (snap-in), a na końcu uruchomi konsolę:

Rys. 4. Konsola MMC.

Dzięki konsoli najczęściej występujące czynności można wykonać w jednym oknie. Poniższa tabela zawiera ogólny opis możliwości Azure MMC:

Tabela 1. Węzły konsoli Azure MMC.

Hosted Services Zarządzanie usługami Azure.
Diagnostics Konfiguracja licznikami wydajności, logami – diagnostyka.
Certificates Zarządzanie certyfikatami.
Storage Services Konfiguracja zasobów.
Blob Storage Zarządzanie zasobami typu BLOB.
Queues Zarządzanie kolejkami Azure (Windows Azure Queues).
Tables Zarządzani tabelami Azure (Windows Azure Tables).
Extensibility Rozszerzenia – np. własna wizualizacja liczników wydajności.
PowerShell-based backend Skrypty PowerShell.

Windows Azure Service Management CmdLets

Windows Azure Service Management CmdLets zawiera zbiór skryptów PowerShell. Dla przypomnienia – PowerShell to rozbudowany interpreter poleceń  oferujący dużo większe możliwości niż popularny cmd.exe. Jedną z wyróżniających jego cech jest w pełni obiektowa logika. Wszelkie operacje nie są już wykonywane na strumieniu znaków, a na konkretnych obiektach (przykładem jest tutaj np. pipeline). CmdLet oznacza komendę – jest to skrót od command-let.

Wszystkie produkty serwerowe Microsoft (od 2008 roku) są zgodnie z tzw. listą common criteria i muszą być konfigurowalne przez PowerShell’a. Windows Azure nie jest oczywiście wyjątkiem. Przed rozpoczęciem pracy ze skryptami PowerShell Azure należy je ściągnąć i zainstalować. Po zainstalowaniu uruchamiamy startHere.cmd i wykonujemy instrukcje zawarte w kreatorze.

Następnie można uruchomić już konsolę PowerShell (Menu Start->Programy->Akcesoria->Windows PowerShell). Zanim zaczniemy jednak używać cmd-let, należy dodać odpowiedni snap-in:

     PowerShell:

     Add-PSSnapin AzureManagementToolsSnapIn

W celu wylistowania wszystkich zainstalowanych cmdletów Azure można wywołać:

     PowerShell:

     Get-Command -PSSnapin AzureManagementToolsSnapIn

Rezultat:

Rys. 5.  Dostępne cmdlety dla Azure.

Opis wszystkich komend znajduje się w dokumentacji. W artykule zostanie przedstawionych tylko kilka poleceń, które mają na celu wprowadzenie czytelnika w cmdlety Azure. Należy oczywiście ustawić zmienne subscriptionId oraz apiCert na prawidłowe wartości.

  • Listing wszystkich usług:

    PowerShell:
    Get-HostedServices -subscriptionId $subsId -certificate $apiCert

  • Listing usług według kryterium nazwy usługi (z wykorzystaniem pipeline):

    PowerShell:
    Get-HostedServices –subscriptionId $subsId -certificate $apiCert | { where $_.ServiceName –eq “nazw_uslugi”  }

  • Listing usług według kryterium nazwy usługi:

    PowerShell:
    Get-HostedService -subscriptionId $subsId -certificate $apiCert –serviceName “nazwa_uslugi”

  • Szczegółowe informacje (nazwa, url, status) wdrożenia w środowisku testowym (staging):

    PowerShell:
    Get-Deployment –subscriptionId $subsId -certificate $apiCert –serviceName “nazwa” –slot staging

  • Szczegółowe informacje (nazwa, url, status) wdrożenia w środowisku produkcyjnym (production):

    PowerShell:
    Get-Deployment –subscriptionId $subsId -certificate $apiCert –serviceName “nazwa” –slot production

  • Szczegółowe informacje (nazwa, url, status) wdrożenia w środowisku produkcyjnym (production) z wykorzystaniem pipeline.

    PowerShell:
    Get-HostedService -subscriptionId $subsId -certificate $apiCert –serviceName “nazwa” | Get-Deployment production

Fiddler

Fiddler stanowi proxy, umożliwiający przechwytywanie i debuggowanie ruchu HTTP pomiędzy klientem a serwerem. Dzięki programowi można analizować ruch, ustawiać breakpointy itd. Oczywiście Fiddler jest narzędziem ogólnego zastosowania, ale można go również wykorzystać do analizowania ruchu Azure lub Azure Storage.

Azure Storage jest usługą typu REST. Oznacza to, że wykorzystuje protokół HTTP do wykonywania wszelkich operacji. Na podstawie zapytania (adresu URL) oraz metody HTTP (GET, PUT) wykonywana jest odpowiednia operacja – zwrócenie wartości lub wstawienie nowego wpisu w podanej przez URL lokalizacji. Ze względu na to, że usługi REST wykorzystują protokół HTTP, za pomocą Fiddlera z łatwością można przeanalizować ruch.

Obsługa Fiddlera jest bardzo intuicyjna. Wystarczy włączyć aplikację, a następnie upewnić się, że stosowny breakpoint jest ustawiony. W menu głównym przechodzimy do Rules->Automatic breakpoints i ustawiamy na Before Requests. W tej chwili, wysyłając jakieś zapytanie HTTP (np. wchodząc przez przeglądarkę na jakąś stronę internetową), Fiddler będzie przechwytywał zapytanie i czekał na reakcję:

Rys. 6. Debuggowanie HTTP.

Użytkownik może wybrać opcję Break On Response (zatrzymanie po odebraniu odpowiedzi) lub Run to Completion, aby wykonać całe zapytanie. Fiddler umożliwia wysyłanie własnych zapytań, modyfikowanie właśnie wysyłanych, filtrowanie oraz analizowanie pakietów itp.

Szczegółowe informacje na temat przedstawionych narzędzi znajdują się w dokumentacji. W następnej części zostaną opisane podstawy platformy Azure – jak stworzyć prostą aplikację.

Materiały dodatkowe:


          

Piotr Zieliński

Absolwent informatyki o specjalizacji inżynieria oprogramowania Uniwersytetu Zielonogórskiego. Posiada szereg certyfikatów z technologii Microsoft (MCP, MCTS, MCPD). W 2011 roku wyróżniony nagrodą MVP w kategorii Visual C#. Aktualnie pracuje w General Electric pisząc oprogramowanie wykorzystywane w monitorowaniu transformatorów . Platformę .NET zna od wersji 1.1 – wcześniej wykorzystywał głównie MFC oraz C++ Builder. Interesuje się wieloma technologiami m.in. ASP.NET MVC, WPF, PRISM, WCF, WCF Data Services, WWF, Azure, Silverlight, WCF RIA Services, XNA, Entity Framework, nHibernate. Oprócz czystych technologii zajmuje się również wzorcami projektowymi, bezpieczeństwem aplikacji webowych i testowaniem oprogramowania od strony programisty. W wolnych chwilach prowadzi blog o .NET i tzw. patterns & practices.