Týden v cloudu, díl VIII – vánoční vydání
Dnešní díl „týdne v clodu“ bych rád věnoval pouze jednomu tématu – novinkám ve Windows Azure, které přišly s nově vydaným SDK 1.3. Jak jsem již avizoval ve svém postu, do konce roku 2010 bude uvolněna celá řada nových funkcí. A také se tak již stalo. Proto, abyste mohli většiny z nich využívat, je právě nutné si stáhnout a nainstalovat nové SDK. Doporučuji si stáhnout balíček s verzí, která obsahuje i nové nástroje pro Visual Studio (na download centru je nazvaná jako VSCloudService.exe). Pokud máte instalovánu předchozí verzi 1.2 jako já, bez problému ji můžete přeinstalovat novou. Vše mi funguje na poprvé.
Minulý týden byla také uvolněna nejnovější verze Training Kitu (December release), který obsahuje nový obsah k níže popsaným novinkám.
No, a aby toho nebylo málo, také byla uvolněna nová verze AppFabric CTP (December release). Jde o předprodukční verzi, která je provozována odděleně od produkční verze. CTP je dostupné na adrese https://portal.appfabriclabs.com/ a popis novinek v prosincové edici je uveden zde.
Moře novinek
Všechny nově dostupné funkce lze rozdělit asi do dvou kategorií. Ty, které jsou již v produkční fázi:
- Remote Desktop Access
- Nový management portál
- Nová verze operačního systému WS 2008 R2
- Zvýšená práva pro spouštění úloh při startu rolí
- Podpora plného IIS ve Webové roli
a ty, které jsou v Beta verzi (ty je nutné explicitně aktivovat novém management portálu):
Remote Desktop
Jako vývojář nebo administrátor se mám možnost připojit pomocí RDP protokolu na libovolnou běžící instanci role. Zde je asi důležité říci, že nejde o terminálovou službu pro obecné aplikační použití, nýbrž o administrativní přístup. Remote Desktop Services (dříve Terminal Services). Běžné terminálové služby nejsou na compute službě podporovány a ani licencovány.
Nový management portál
Nejstarším nástrojem pro správu celé Windows Azure Platformy je webový portál na adrese windows.azure.com. Ten nejen prošel absolutním přeprogramováním pomocí technologie Silverlight, ale byly zde zpřístupněny některé novinky:
- Možnost přidat více Live ID administrátorů služby Compute
- Možnost se rychle připojit před remote desktop
- Konfigurace Windows Azure Connect
- Správa SQL Azure databází přes online Database Manager
- Správa nové VM role
- Aktivace beta služeb
Nová verze operačního systému WS 2008 R2
Při nasazení aplikací (Web, Worker nebo VM role) lze zvolit image virtuálního serveru založeného na Windows Serveru 2008 R2. Díky této verzi mohou aplikace využít rozšíření, která přináší IIS 7.5, AppLocker nebo PowerShell 2.0. Posledně zmiňovaný lze s výhodou použít k případné instalaci komponent/aplikací nebo automatizovanému managementu během startu virtuálního počítače. Do aplikačního balíčku lze totiž přibalit instalační skripty a různé komponenty (např. COM/COM+/ActiveX/ atd.) a jejich instalaci řídit z konfiguračního souboru cloud aplikace. Jen pro pořádek ještě uvedu způsob označování jednotlivých verzí OS:
- Pod číslem 1.x se skrývá Windows Azure OS postavený nad Windows 2008 SP2
- Pod číslem 2.x se skrývá Windows Azure OS postavený nad Windows 2008 R2
Pokud dovolíte automatický upgrade OS, bude se tak dít pouze v rámci „desetinných verzí“. Nedojde k automatickému upgrade z verze 1 na 2. Tu musíte udělat ručně, ideálně VIP swapem.
Zvýšená práva pro spouštění úloh při startu rolí
Při spouštění některých úloh při startu VM je nutné dát těmto úlohám vyšší práva přístupu k některým systémovým zdrojům, které jsou implicitně chráněny před přístupem nebo zápisem. V novém elementu <Task> konfiguračního souboru máme možnosti nastavit, aby běžel s administrátorskými privilegii, zatím co běžně běží se stejnými privilegii jako hostitelský proces zvolené role.
Podpora plného IIS ve Webové roli
Od této chvíle je ve Web roli povolen plný přístup k IIS. Díky němu můžeme na jedné webové roli např. rozjet více Sites, což byl jeden z nejčastějších požadavků. SDK 1.3 obecně přináší tato rozšíření při práci s IIS:
- Web role podporuje více Sites and více Applications na jedné web instanci
- Web sites and aplikace běží přímo pod IIS
- Webové role používají aplikační domény stejným způsobem jako na běžném IIS
- FastCGI moduly běží přímo pod IIS
Virtual Machine Role (VM Role)
VM role je třetím typem role, kterou je možné v Azure provozovat. Jejím hlavním cílem je zjednodušení přenesení některých aplikací do cloudu. Na rozdíl od Web nebo Worker role si image operačního systému administrátor nebo vývojář konfiguruje sám. Technickou stránku vytvoření VM role nechám na speciální blog post a v tuto chvíli se zaměřím spíše na popsání výhod či nevýhod VM role.
VM roli bych doporučil zvolit pouze tehdy, kdy nejsem schopen automaticky skriptem nainstalovat potřebný software, jak jsem popsal výše v kapitole „Zvýšená práva pro spouštění úloh při startu rolí“. Pokud je instalační proces produktu složitý a vyžaduje interaktivní přístup administrátora, VM role je řešením.
V některých diskusích na internetu se objevilo přirovnání VM role k běžnému virtuálnímu dedikovanému serveru (VDS), který si lze pořídit u všech dobrých hosterů. Tato úvaha je bohužel chybná. Není to identická služba. VM roli lze více přirovnat oběma ostatním rolím – Web a Worker – ve smyslu řízení její životnosti. Pokud např. aplikace ve Web roli selže, Azure Fabric zajistí restart této role (ve skutečnosti dojde k nasazení image na nový virtuální počítač, nabootování, nakonfigurování DNS a load balancerů atd.). Obdobný postup se provede při případném selhání HW nebo při automatickém upgrade OS. Když se touto optikou podívám na VM roli, není v ničem jiná. Místo nahrání aplikačního balíčků (*.cspkg) a konfiguračního souboru (*.cscfg) se nahrají pro VM roli VHD disky. Na ty lze také nazírat jako na aplikace, ale s „přibaleným operačním systémem“ a Azure platforma je stále PaaS, nikoli IaaS.
Výše uvedený fakt má své klady i zápory. Mezi klady lze určitě řadit dostupnost identického servisního modelu i pro VM roli, mezi zápory fakt, že ten, kdo chápal VM roli jako jiný název pro VDS, bude jistě zklamán.
Windows Azure Connect
Tato nová služba, zatím v beta verzi, umožňuje vytvořit síť mezi cloud rolemi a lokálními počítači postaveném nad IPsec protokolem. Cílem vybudování takové sítě je jednoduché adresování zařízení a zdrojů. Pokud síť sestavíme, usnadníme si následující úkoly:
- Jednoduché vytvoření distribuované architektury, která se chová na síťové vrstvě stejně, jako by byla přímo uvnitř organizace. Takové distribuované řešení se může skládat z celé řady Azure rolí (Web, Worker, VM) a lokálně provozovaných serverů nebo služeb (file servery, print servery, sjednocená komunikace atd.). Mezi jeden z nejdůležitějších scénářů patří případ, kdy potřebujeme s cloud aplikacemi spojit starší aplikace, které nelze nijak rozšiřovat, typicky o webové služby.
- Začlenění jednotlivých instancí Azure rolí do lokálně definované domény. Díky této možnosti lze použít společné administrativní nástroje a politiky nebo využít společné autentikace a name resolution. Obdobně lze použít např. PS skripty pro automatizovanou správu Azure rolí, identicky jako u lokálních serverů. Přirozeně lze použít i existující management nástroje.
- Aplikace běžící v cloudu lze vzdáleně ladit pomocí běžných nástrojů.
Jak je vidět z obrázku, na lokálních počítačích v tuto chvíli musí být instalován speciální software, který zajistí začlenění počítače do Azure Connect sítě.
Extra Small Instace
Jakákoli role za 5 centů USD za hodinu provozu. Takto je oceněna nová verze nejmenší instance Azure role. Nastavení se provede v konfiguračním souboru řešení:
<WebRole name="WebRole1" vmsize="Small" >
Jak je vidět z níže uvedené tabulky, nejmenší instance je vhodná pro velmi malé projekty nebo testovací účely.
Velkost virtuálního stroje |
CPU jádna |
Paměť |
Lokální disk VM |
ExtraSmall |
Shared |
768 MB |
20 GB |
Small |
1 |
1.75 GB |
225 GB |
Medium |
2 |
3.5 GB |
490 GB |
Large |
4 |
7 GB |
1000 GB |
ExtraLarge |
8 |
14 GB |
2040 GB |
Případová studie
V dnešním vydání Týdne v cloudu nemám rozhovor s partnerskou firmou. Místo toho jsem připravil informaci zajímavém projektu, který na platformě Windows Azure běží. Jede o informační systém Londýnského transportní organizace (Transport for London). Ta prostřednictvím Azure poskytuje datové feedy, které jsou použity pro mobilní aplikace a jiná zařízení používané cestujícími. Přes klientská zařízení získají informace o místech půjčoven kol, jízdní řády, a informace o celé síti londýnských komunikací. Více informace můžete získat zde.
K vánocům patří i trocha zábavy
Pokud se budete chtít během svátků pobavit, můžete si zahrát vánoční hru. Hra je napsána v Silverlightu a hostována ve Windows Azure. Jejím cílem je co nejdéle skákat po obláčcích (jak jinak, když jde o cloud hru :-).
A ještě odkaz na předchozí díl.
Krásné prožití svátků přeje
Dalibor