Týden v cloudu, díl IV

Tento týden bych se rád věnoval jednomu zajímavému aspektu Windows Azure - možnosti interoperability, tedy schopnosti běžet aplikace na konkurenčních platformách. Již od počátku Windows Azure je podporováno PHP. V současné době však vnikla celá řada projektů, které umožňují rychlejší vývoj a nasazení PHP aplikací. Začněme projektem s názvem Windows Azure Companion. Jeho cílem je zjednodušení nasazení PHP komponent a PHP aplikací. Druhým projektem je pak Windows Azure Tools for Eclipse. Pomocí něj získáme Windows Azure PHP plugin pro vývoj v Eclipse. Jeho součástí jsou utility pro psaní kódu, ladění, konfiguraci a nasazení aplikací do Windows Azure. Na stránkách Interoprability labu najdete i další zajímavé projekty jako jsou:

Z českých blogů

Jako první musím i tento týden zmínit informace z 2. běhu Azure akademie. Na blog jsme umístili opět informace ke studiu a záznam online meetingu a dále pak odpovědi na všechny položené otázky.

Na Czech MSDN blogu publikoval Ondra návod jak aktivovat Azure účet pro předplatitele MSDN. Jirka pak odkazy na jednoduchá videa popisující princip cloudu pro netechniky. Veselé.

Já jsem se pak na svém blogu pokusil dát odpověď na často kladenou otázku – Jak je výkonný SQL Azure. Jestli dostatečně, posuďte sami.

Azure – pohled do reálného světa: Rozhovor s Janem Vilímkem z firmy GETMORE, s.r.o.

MSDN: Jak jste se o Windows Azure dozvěděli a proč jste se rozhodli pro využití této technologie?

Jan Vilímek: O Azure platformě jsme se dozvěděli již někdy v říjnu roku 2008 z MS Partner newsletter, více jsme se o Azure začali zajímat cca v září 2009. Na následné konferenci Microsoft Developer Days 2009 jsme se potkali s Daliborem Kačmářem, jemuž bych chtěl touto cestou poděkovat za vyslechnutí i zodpovězení základních otázek o Azure :) Od cca října 2009 jsme se účastnili CTP programu Azure a zhruba do konce 2009/začátku 2010 probíhal proof of concept. Ten dopadl na jednu stranu úspěšně, protože jsme nezjistili žádné větší překážky, na stranu druhou jsme museli například s určitými záležitostmi počkat, až bude vybudované data centrum v Evropě (odezva aplikace, propustnost sítě,…). Zpět k Azure jsme se dostali v okamžiku, kdy bylo zpřístupněno data centrum v Evropě a hlavně, kdy jsme absolvovali workshop na Azure platformu (květen 2010). V červnu jsme získali první reálnou smlouvu, která s nasazením na platformu Azure přímo počítala, tedy od přelomu července/srpna jsme začali s postupným převodem naší „vlajkové“ lodi, systému Getmore (GMS).

Důvody pro využití platformy Azure byly zejména vynikající škálovatelnost, díky které se nám podařilo podstatně snížit odhadované náklady na provoz. Dalším důvodem bylo určitě zaručení 99,9% SLA a s tím související minimální starost o provoz základní HW/SW infrastruktury. Pro srovnání – náš stávající poskytovatel datacentra pro naše hostingové služby zaručuje SLA pouze na HW a konektivitu po práh datacentra. Operační systém (resp. DB server) a jeho správu musíme řešit interními silami, což pro nás, jakožto primárně vývojářskou společnost, není příliš ideální.

MSDN: Jaké otázky jste v souvislosti s přechodem na Windows Azure museli řešit?

Jan Vilímek: Zejména nekompatibilitu SQL serveru. Aplikační server je složen z čistě .NET komponent, v tomto případě byly tedy problémy s kompatibilitou minimální. Co jsme nicméně museli řešit i na straně .NETu byl zejména přesun konfigurace z web.config do konfiguračního systému Azure.

Konkrétní problémy u SQL Serveru by vydaly na samostatný článek, v případě zájmu je můžeme (včetně řešení) zveřejnit na některém z našich blogů.

MSDN: Zůstalo něco nezodpovězeno, resp. chybí Vám ve Windows Azure nějaká z Vašeho pohledu podstatná funkcionalita? (tady si dovolím požádat o reálný pohled, ne všechno se do cloudu dá naroubovat, jde mi o střízlivé zhodnocení technologie :-)

Jan Vilímek: Ano, určitě nám chybí SMTP služby. Dále potřebujeme automaticky řešit fakturaci, tedy by bylo vhodné mít možnost stáhnout faktury/info o využívání služeb v XML podobě, ideálně skrze nějaké API. A SQL Azure jako takové má stále nedostatky vůči „plnému“ SQL, například to, že na něj nelze nahrát CLR. Neexistuje SQL Agent. Dále chápu, že nelze plně využít „tečkovou“ notaci pro přístup k jiné DB, ale bylo by vhodné povolit přístup minimálně k TEMP databázi (if exists(‘tempdb..#xxx’)). Povolit zkrácený zápis hints k tabulce (nefunguje SELECT .. FROM TABLE (nolock)). Umožnit deployovat databázi z Visual Studia (databse project) a vůbec zvýšit integraci database projectu a SQL Azure, resp. celého Visual Studia. Podpora pro DB package na SQL Azure. Podpora Fulltext vyhledávání. Podpora SQL Change trackingu. Zjednodušení migrace a správy DB z On-premise na Cloud platformu. Tolik snad k nejpalčivějším tématům, které nejsou v Azure dořešeny. Nicméně zde bych si dovolil poděkovat za Database Copy :)

MSDN: Už máte aplikaci ve Windows Azure nasazenu a jaké jsou první zkušenosti, co přineslo využití technologie zákazníkovi a jak vnímá fakt, že využívá Windows Azure?

Jan Vilímek: Pro Azure již máme připravenou prakticky hotovou verzi pro rollout do produkce (testování běží cca od poloviny září několika uživateli klienta prozatím na našem on-premise serveru, zároveň máme aplikaci nasazenou i v cloudu nad testovacím účtem). Každým dnem (aktuální stav k 15. 10. 2010) by mělo dojít k překlopení do produkce nad Azure platformou. Zatím je tedy brzo na reálné hodnocení produkčního provozu, nakolik se splnily naše očekávání o výkonu i předpokládané ceně, zatím jsme však s technologií spokojeni. Zákazník nicméně určitě vnímá pozitivně fakt, že je aplikace postavena na nejmodernějších technologiích. Zároveň jej také potěší, že za provoz aplikace zaplatí výrazně méně, než v případě, že by ji buď provozoval sám, nebo hostoval na našich serverech (počet uživatelů je cca 2000).

MSDN: Jaké jsou Vaše plány v oblasti cludu a Windows Azure?

Jan Vilímek: Aktuálně provozujeme hosting našich aplikací pro SaaS na pronajímaném HW/SW. Plánujeme převést podstatnou část zákazníků na Windows Azure. To pro nás nicméně znamená, že musíme upravit náš stávající model poskytování a zároveň částečně upravit naši aplikaci tak, aby byla multi-tenantní i v prostředí Cloud. Aktuálně totiž řešíme více zákazníků tak, že každému zřídíme vlastní instanci aplikace i s databází. Naše aplikace samozřejmě umožňuje k jedné aplikační instanci připojit více databází, nicméně je třeba vyřešit zejména bezpečnost dat a důsledné oddělení jednotlivých zákaznických instancí. Od roku 2011/Q01 bychom tak začali vedle stávajícího hostingu poskytovat i provoz v rámci Windows Azure.

MSDN : Děkujeme za rozhovor.

Ještě jako vždy link na předchozí díl.

- Dalibor