Jak bude vypadat život IT profesionálů a vývojářů s Platformou Microsoft Azure?

 

Již několik let můžeme pozorovat setrvalý posuv celého IT průmyslu do prostředí internetu. Všichni velcí hráči se předhánějí uváděním nových technologií, které tento fenomén usnadňují. Nasnadě je tedy otázka „jak bude vypadat IT business, život IT profesionálů a vývojářů se všemi novými platformami“? V následujících se odstavcích se pokusím představit vizi Microsoftu, který v polovině října veřejně uvedl první informace o nově připravované platformě služeb a operačním systému Windows pod názvem Azure. Na rozdíl od současných jednoduchých řešení, zaměřených na prosté hostování aplikací nebo plné poskytování softwaru jako služby (SaaS), Microsoft jde s platformou Azure mnohem dále. O generaci dále. Pojďme poodkrýt, co se pod tajemným názvem skrývá a nahlédněme na něj z technického pohledu.

Platforma služeb Windows Azure™

Začněme celkovým pohledem na tzv. Platformu služeb Windows Azure (dále jen Platforma Azure) si lze představit množinu vysokoúrovňových, prostřednictvím internetu dostupných služeb, které běží v  datových centrech Microsoftu. Jejich cílem je zpřístupnit vývojářům aplikací, integrátorům a firmám stavební prvky aplikací, které by sami jen obtížně budovali. Ať z důvodu finanční náročnosti, technické zkušenosti nebo strategických rozhodnutí neprovozovat všechny součásti IT ve své vlastní infrastruktuře. Soustředění základních služeb na jedno místo naopak dává možnost dostatečně kvalitně zajistit vysokou dostupnost, škálovatelnost (spolehlivě obsloužit rostoucí zátěž), elasticitu (pružně reagovat na poptávku služeb) a v neposlední řadě snížit jak počáteční, tak provozní náklady.

PlatformaWindowsAzure2500znaku_obr1

Obr. 1. Stavební bloky Platformy služeb Azure

V současné chvíli je platforma Azure složena z následujících dvou služeb a operačního systému Windows Azure (obr. 1):

Windows Azure™ - Jde o speciální verzi operačního systému Microsoft Windows, která vytváří běhové prostředí kompatibilní s .NET aplikacemi. V tomto operačním systému, provozovaném v datových centrech, lze přímo spouštět aplikace a konzumovat další služby.

Microsoft AppFabric – Sada služeb umožňujících snadnou realizaci volně provázaných aplikací. Dnes existují dvě základní. Access Control pracující s identitou uživatele a Service Bus podporující snadnou integraci aplikací prostřednictvím webových služeb.

Microsoft SQL Azure – Služba široce zpřístupňuje datové služby postavené nad SQL serverem za využití standardních protokolů jako SOAP a RESTful rozhraní.

Budoucí služby – v budoucnu budou dostupné další dvě služby postavené na produktech SharePoint Services a Dynamic CRM Services. Jejich funkcionalitu bude možné využít jako stavební bloky v aplikacích výrobců programového vybavení.

Jednotlivé služby je možné díky standardizovaným a mezinárodně uznávaným protokolům používat zcela samostatně. Tím se stávají zcela nezávislé na typu zařízení, operačním systému nebo použitém programovacím jazyku, ze kterého budeme k službám přistupovat. Reálné jsou také oba scénáře, kdy v prvním používám službu z lokálně běžící aplikace s internetovou konektivitou a ve druhém nasadím celou aplikaci do internetového oblaku na operační systém Windows Azure. Rozhodnutí záleží na celé řadě požadavků. Mezi ně např. patří provoz v offline režimu, využití grafických možností počítače nebo integrace s lokálními aplikacemi.

Windows v oblaku

Windows Azure jsou tzv. cloud operačním systémem, který je provozován v obrovském množství počítačů a slouží pro spouštění aplikací a uchovávání aplikačních dat dostupných pomocí internetu. Aby bylo možné tak velké množství počítačů kvalitně spravovat, monitorovat a zajisti nepřerušený provoz aplikací, byla vytvořena speciální vrstva označovaná jako Fabric, která tento složitý problém řeší (viz obr. 2).

Nad Fabric vrstvou pak najdeme dvě základní části, které cloud aplikace vyžívají. Prvním je výkonná výpočetní část, druhou pak datové úložiště, nazvané Windows Azure storage service. Jeho primárním úkolem je poskytovat prostor pro uchování dat aplikací běžících přímo nad Windows Azure. Díky realizaci ve formě služby, není problém s úložištěm manipulovat i vzdáleně REST rozhraním. Storage servis, na rozdíl od Azure SQL Services není postaven na SQL serveru, přesto umožňuje využívat dotazovací jazyky nad uchovanými daty.

WindowsAzure

Obr. 2. Součásti Windows Azure

Pro řízení optimální využití výkonu, minimalizaci nákladů a kontrolu nad aplikacemi Windows Azure obsahuje zabudované management služby. Slouží k vyladění celé řady aspektů provozu aplikace, jakými je např. výkonnost definovaná počet instancí aplikace, ve kterých aplikace poběží. Součástí managementu je také silná podpora pro sledování funkcionality aplikací, díky níž lze optimalizovat množství úložného prostoru nebo nároky na datové přenosy.

Každá nová platforma sebou přináší celou řadu změn, ať jde o architekturu aplikací, požité frameworky a knihovny nebo i programovací jazyky. Azure je v tomto pohledu odlišný, protože je postaven na známých technologiích jako jsou .NET Framework a ASP.NET, ale i PHP nebo jiné dynamické jazyky. Pro návrh a tvorbu aplikací se využívají identické nástroje, které máme po řadu let – Visual Studio a .NET jazyky jako je např. C#. Podporovány jsou však i další platformy třetích stran, jako je Java.

AppFabric

Běhové prostředí Windows Azure je pouze jednou částí celé koncepce cloud computingu. Internetové aplikace, zejména ty, které jsou částečně postaveny na vnitrofiremní systémech a částečně na aplikacích a službách internetového oblaku, vyžadují významnou míru integrace. AppFabric tvoří základní nástroje potřebné pro integraci různých součástí internetových aplikací. Vývoj, provoz a údržba takovýchto aplikací, zejména těch, které mají tendenci rychle růst, je velmi nákladná. AppFabric služby jsou navrženy tak, aby snížily počáteční i průběžné náklady na provoz složitých, vysoce dostupných a bezpečných aplikací. Služby jsou rozděleny do tří oblastí:

Servisní sběrnice (Service bus) : Vystavení a práce se webovými službami, jenž se v internetu již dávno kvalitně etablovaly, je často mnohem obtížnější, než se může na první pohled zdát. Servisní sběrnice proto vytváří široce dostupnou infrastrukturu pro komunikaci, širokou distribuci událostí, jmenný systém a publikaci webových služeb. Servisní sběrnice také řeší typické problémy, jako jsou překlad síťových adres, prostup přes firewally, měnící se nebo dynamicky přiřazované IP adresy.

Služba řízení přístupu (Access Control Service) : Internetové aplikace budou vždy vyžadovat ověření uživatele a řízení co uživatel může a co ne. V těch nejjednodušších případech si vystačíme s centrálním systémem, který je součástí internetové aplikace. V rozsáhlejších aplikacích do hry přichází bezpečnostní systémy a politiky ve firmách a jejich interních aplikacích. Služba řízení přístupu podporuje všechny typy scénářů a její síla zejména spočívá v možnosti federace autentikace a pravidly řízené (rules-driven), na požadavcích založené (claim-based) autorizace.

Databáze jako služba

Zpracování dat v cloud aplikacích není identické s lokálními aplikacemi, nebo aplikacemi, které mohou jednoduše vyžívat instance databázových serverů. Do hry přichází otázky vysoké škálovatelnosti, dostupnosti a spolehlivosti. Stejně tak jako potřeba rozsáhlé databázové systémy kvalitně spravovat či monitorovat. Zcela jinou otázkou je požadavek na obecnější datové služby, které by vedle nejfrekventovanější relačních, poskytovaly mnoho dalších forem až po zcela nestrukturované.

SQL služby (SQL Services) se stávají budoucí datovou platformou pro práci s daty v internetových aplikacích. Jsou postaveny na principu webových služeb a protokolech SOAP a REST rozhraních. V první fázi se opírají o schopnosti Microsoft SQL serveru a jsou realizovány první službu pod názvem Microsoft SQL Data Services (SDS) . Postupně budou přidávány další, umožňující např. reportování nebo analýzu dat.

Manipulace s daty v SDS se prování identickými způsoby jako známe z desktopových nebo serverových aplikací. Pro práci s daty lze použít celou řadu knihoven od historického ODBC, před ADO.NET a LINQ až po PHP. Stejně tak lze využívat standardní nástroje příkazové řádky nebo vizuální management nástroje. Hlavní cíle použití SQL Azure lze definovat:

  • Poskytnout služby a rozhraní k hostovanému RDBMS a jeho snadná záměna s lokálními implementacemi
  • Odbourání nutnosti spravovat vlastní DBMS

Zbývá jen vyzkoušet

Platforma služeb Azure je současné době plně komerčně dostupná a je slouží k reálnému provozu i testování všem vývojářům a společnostem. Všichni předplatitelé vývojových platforem MSDN dnes získávají výhodu bezplatné kapacity Azure platformy v objemu odpovídající úrovni předplatného. K dispozici je také volný testovací účet bez jakýchkoli závazků – Introductory Special a speciální slevy pro počáteční vývoj Cloud aplikací. Přehled těchto zvýhodněných nabídek lze jít zde.

Veškeré informace, včetně registrace lze najít na stránkách www.azure.com a informace určené pro vývojáře také na adrese https://msdn.microsoft.com/en-us/azure.