Cloud computing wg Microsoftu

Do przechowywania informacji Azure Storage oferuje dwa pojemniki. Jeden przeznaczony jest na duże dane binarne (Azure Blob), które zapisuje w postaci ciągu bloków. Drugi typ, Azure Table, przypomina arkusz kalkulacyjny, ale taki, gdzie każdy wiersz może mieć różne typy i liczbę kolumn. Azure Table przeznaczone jest do przechowywania miliardów wierszy, ale dane w środku wiersza nie powinny być zbyt duże. Dla dużych obiektów można przechować odniesienie do Azure Blob. Wymagane jest, aby każdy wiersz miał dwa klucze - jeden (główny) i klucz używany do partycjonowania. Azure partycjonując informacje, rozkłada je fizycznie w różnych pojemnikach, lokalizując je blisko miejsca wykorzystania. Warto dodać, że z Azure Storage można korzystać niezależnie od Azure Web Role/Worker Role, dzięki czemu można napisać rozwiązanie desktopowe, które umieści dane w chmurze.

Drugim elementem platformy jest mechanizm Services - platforma do przechowywania danych relacyjnych. Pozwala definiować pojemniki (tabele) i związki pomiędzy wartościami w tych pojemnikach. Język zapytań bazuje na składni LINQ. Kwerendy przekazywane są albo za pośrednictwem wywołania usługi Web, albo w stylu REST (jako część URI). Wspierany jest także mechanizm TDS (Tabular Data Stream) - protokół realizujący wymianę danych w standardowej aplikacji bazodanowej. Jest on podstawą działania bibliotek wyższego poziomu, jak ADO.NET czy ODBC. Dzięki temu działają podstawowe mechanizmy T-SQL: tabele, triggery, procedury składowane, widoki, indeksy, transakcje ACID itp. Powoduje to, że przeniesienie rozwiązania bazodanowego do chmury nie będzie wiązać się ze zmianą sposobu, w jaki pracuje ono z danymi. Obok tego dostępny jest mechanizm przechowywania danych w postaci Authority-Container-Entity. W ramach tzw. Authority (jednostki geolokalizacyjnej) definiowane są pojemniki (Container), w których można przechowywać kolekcje encji (Entity) z różnymi atrybutami. W ramach takiej struktury jednym z atrybutów może być wartość używana do definiowania relacji z inną kolekcją encji - w ten sposób można realizować zapytania relacyjne.

Trzeci element platformy Windows Azure to .NET Services. Podstawową rolą .NET Services jest zapewnienie mechanizmów, które pozwolą połączyć świat chmury i tradycyjne rozwiązania we własnych serwerowniach. Wyżej wymieniony mechanizm udostępnia 3 główne funkcjonalności:

- .NET Access Control to mechanizm pozwalający określić prawa użytkownika do wykonania danej operacji. Wykorzystuje federację i może współpracować np. z Active Directory (usługą katalogową działającą w ramach infrastruktury firmowej) albo z Live ID. Technicznie współpracuje z dowolnym providerem STS, udostępniającym tokeny w formacie SAML 1.1. Obsługuje także certyfikaty X509, Card Space i wiele innych mechanizmów uwierzytelniania. Zarządzać tym mechanizmem można albo z poziomu portalu, albo za pośrednictwem interfejsów REST/ATOM.