Cloud computing wg Microsoftu

Windows Azure jest platformą przeznaczoną dla rozwiązań działających w chmurze. Do pisania rozwiązań na tę platformę wystarczy znajomość .NET.

Windows Azure to platforma hostowana w centrach danych Microsoftu, pozwalająca uruchamiać aplikacje .NET. Zaletą tej platformy są nieograniczona pojemność i wydajność przy zachowaniu dotychczasowego sposobu pisania rozwiązań, jak w przypadku klasycznych aplikacji dla Windows. Platforma w chmurze ma pewne dodatkowe API, ale zasady programowania są takie same, jak np. dla stron ASP.NET. Jako narzędzie dla programisty wykorzystywane jest Visual Studio, dzięki czemu łatwo można przenosić kod pomiędzy chmurą a systemami działającymi lokalnie.

Czym chmura różni się od hostingu?

Pomiędzy hostowaniem a chmurą występuje kilka zasadniczych różnic. W przypadku hostingu, wynajmowane są serwery o określonej konfiguracji i możliwościach. W rozwiązaniach opartych o chmurę wynajmujemy konkretną moc procesora i miejsce do przechowywania danych, ale nie mamy dokładnie określonego miejsca, gdzie fizycznie usługa będzie realizowana. Dostawca chmury może zoptymalizować infrastrukturę, tak aby serwer, który udostępnia aplikację, znajdował się najbliżej klienta. Może także partycjonować dane, aby rozłożyć równo obciążenie pomiędzy i systemy.

Ponieważ rozwiązania uruchomione w chmurze łatwo się skalują, można okresowo zwiększać lub zmniejszać zapotrzebowanie na zasoby. W sytuacji, gdy np. kampania marketingowa odniesie duży sukces i liczba użytkowników portalu będzie gwałtownie rosła, w konfiguracji Windows Azure zwiększa się liczbę potrzebnych instancji, na których działa aplikacja. Jeżeli promocja skończy się, system ponownie będzie mógł wykorzystywać mniej zasobów (i opłaty mogą być niższe). W przypadku własnej infrastruktury takie zmiany są znacznie trudniejsze i wymagają inwestycji z góry. Platforma w chmurze pozwala zatem twórcom skupić się na funkcjonalności, a nie martwić się o to, gdzie aplikacja będzie uruchomiona.

Jak działa cloud computing?

Aplikcje pozbawione ograniczeń

Standardowe planowanie projektu informatycznego zakłada, że w pewnym momencie jest budowana (czy też wynajmowana) infrastruktura i określana jest skalowalność platformy. Taka analiza bierze pod uwagę zasoby (zarówno finansowe, jak i "ludzkie") niezbędne do nabycia sprzętu i jego konfiguracji. W przypadku aplikacji cloud computing, twórca dostaje do dyspozycji zwirtualizowaną platformę o praktycznie nieograniczonej wydajności i pojemności, na której można uruchamiać aplikacje.

Platforma Windows Azure składa się z czterech głównych elementów: platformy do uruchamiania aplikacji i przechowywania danych, serwera relacyjnego w chmurze oraz usług .NET Services i Live Services oferujących funkcjonalności wykorzystywane głównie w aplikacjach konsumenckich.

Platforma uruchomieniowa Windows Azure opiera się o zwirtualizowane środowisko Windows. Każdy węzeł to 64-bitowy Windows 2008, z .NET 3.5 SP1 i IIS 7.0. Przy definicji zasobów obliczeniowych określana jest liczba instancji, na których działa równolegle dane rozwiązanie. W ramach tego środowiska uruchamiane są dwa główne typy aplikacji - witryna ASP.NET (projekt typu Web Role) i proces obliczeniowy (Worker Role). Do komunikacji pomiędzy takimi aplikacjami może służyć kolejka. Z niej może skorzystać Web Role, umieszczając w kolejce zadanie, które asynchronicznie będzie wykonywane instancje Worker Role.