Materiály k semináři “Rozšířené možnosti Windows Azure”

Včera proběhnul online seminář věnovaný jarní vlně novinek na platformě Azure. Pokud jste jej neměli možnost sledovat, zde je záznam, prezentace, dema a odpovědi na položené dotazy.

Otázky a odpovědi

Vaše otázky, stejně jako naše původní odpovědi jsme si dovolili stylisticky a jazykově zkorigovat

Azure Virtual Machines

Jak často se persistuje běžící VM do BLOBu? Pokud změním nastavení OS, za jak dlouho se data uloží na disk OS?
Technicky vzato se VM nepersistuje do BLOBu, ale je nabootována z BLOBu, přičemž zápisy se promítají zpětně do tohoto BLOBu. Má pak 3 druhy disků – disk z pagefile souborem, který se nepersituje vůbec. Dále disk operačního systému, který se persistuje průběžně, ale asynchronně, takže hrozí obdobná ztráta dat jako při nečekaném výpadku proudu. Další připojené disky se persistují synchronně, tudíž po ukončení operace zápisu na disk je persistence těchto dat zcela zaručeně.

Bude možné virtualizovat i desktopová Windows?
V tuto chvíli tento scénář není podporován. Navíc ani cenově by nebylo toto řešení asi optimální.

Mohu si připojit disk s NTFS a cizími UID a právy?
Pokud by se přenášel mezi počítači ve stejné doméně (počítač v cloudu může být připojen do domény), tak není problém. Pokud ne, nebudou SIDy patřit známým účtům, takže si budete muset převzít vlastnictví a nastavit práva.

Je možné si Azure IaaS vyzkoušet v nějakém bezplatném režimu jako ostatní Azure služby?
Ano, jsou součástí bezplatného 90denního testovacího účtu (viz https://www.windowsazure.com/en-us/pricing/free-trial/) , účtují se hodiny virtuálních strojů, které jsou během Preview období poníženy o třetinu oproti skutečnému času.

Jak dlouho trvá zotavení z pádu OS? (tzn. jak dlouho uživatel webu čeká, než se zjistí, že OS nekomunikuje, a začne kopírování VHD na jiný stroj, jeho spuštění a přesměrování adresy na nový server).
VHD soubor je uložen na externím úložišti, odkud se načítá (a cachuje) při startu, žádné kopírování „předem“ není třeba. Počítejte orientačně s jednotkami minut, podobně jako při startu operačního systému z pomalejšího lokálního disku.

Bude služba Azure VM časem umožňovat snapshot přes management portál?
V tuto chvíli nemáme informaci o této možnosti. Existuje ale určité popsané náhradní řešení, i když to není kompletní snapshot včetně stavu RAM a konfigurace počítače.

Jak je to s aktualizacemi operačního systému u Azure Virtual Machines? Hodně aktualizací vyžaduje restart, což by znamenalo dočasný výpadek námi poskytované služby.
U PaaS se o aktualizaci a dostupnost stará Microsoft, v případě IaaS virtuálů je to vaše zodpovědnost – buď se spolehnete na automatickou aktualizaci anebo zvolíte kontrolovanou manuální aktualizaci. V obou případech se můžete nedostupnosti vyhnout použitím farmy serverů s rozkládáním zátěže.

Má smysl využívat takových služeb jako clustering, jak na úrovni operačního systému nebo jednotlivých serverových aplikací? Nebo technologie Azure již tuto potřebu odbourává?
Zajímavá, ale velmi komplexní otázka. Azure sám o sobě nabízí pro virtuály host-based clustering. Nastavit guest-based clustering je asi velmi těžko proveditelné, i když v principu možné, ale nedává to příliš smysl – cloud používáme pro zjednodušení práce, ne pro její zkomplikování. Pro aplikační servery se doporučuje využívat farmu serverů a load-balancing. Pro datovou vrstvu je nejlepší použít SQL Azure, který sám o sobě nabízí vysokou dostupnost se třemi replikami dat.

Prošel jsem si ceníky – je to tedy tak, že u PaaS probíhají v podstatě platby i za přenášená/ukládaná data, zatímco u IaaS se platí fixně pouze čas po který VM běží?
Ne, platby jsou v zásadě stejné – za čas, kdy je virtuál vytvořen (ať běží či nebězí) a za data přenášená z cloudu ven. U IaaS virtuálu platíte ještě za uložení VHD souboru a transakce na něm, ale to jsou v celkovém kontextu drobné. Více na https://www.windowsazure.com/en-us/pricing/calculator/

Azure Web Sites

Plánuje se podpora Oracle/Firebird/XXX databáze ve Web Sites?
V tuto chvíli nevíme. Zatím je podporována SQL Azure databáze a dále MySQL databáze, která je ovšem provozována a hostována firmou ClearDB a Microsoft zde působí pouze jako zprostředkovatel. Jiné databáze byste si musel sám hostovat ve vlastní Virtual Machine včetně pořízení vlastní licence.

Je možné zároveň používat Azure Web Sites při tom používat vlastní doménové jméno (např. www.mojedomena.cz)?
Ano, samozřejmě. Ve svojí DNS zóně si můžete nastavit CNAME a přesměrovat prakticky libovolné jméno na mujwebsite.cloudapp.net. Dále pak v nastavení web site uvedete seznam používaných doménových jmen pro hostované IIS.

Mezi nástroji byl Git. Co takhle Mercurial (Hg)?
V tuto chvíli je podporováno pouze TFS a Git coby nejrozšířenější Open Source nástroj.

Může být nasazení Azure Web Site z TFS preview podmíněno spuštěním unit testů?
Ano, může. Dokonce je to tak i ve výchozím nastavení. Jedná se v podstatě o připravenou šablonu buildu s novými aktivitami pro nasazení pomocí WebDeploy. Šablonu si můžete libovolným způsobem upravit.

Je možná publikace na Azure Web Site z lokálního TFS serveru?
Technicky tomu celkem nic nebrání, ale v tuto chvíli tento scénář nepodporujeme, v budoucnu to jistě možné bude. Více najdete na konci článku na blogu Briana Harryho.

Jak je to s bezpečností firemních dat pokud bylo řečeno, že poskytovatel MySQL je třetí strana.
Provozovatelem MySQL je třetí strana (www.cleardb.com). Veškeré právní aspekty uložení dat se řídí podmínkami tohoto poskytovatele, nikoliv Microsoftu.

Jaká bude cena a platební model pro Web Sites?
Předběžný cenový model najdete na https://www.windowsazure.com/en-us/pricing/calculator/?scenario=web, nelze však vyloučit ještě změny do uvedení finální verze.

Azure Web Sites mohou používat MySql databázi. Kde se k ní připojím?
Pokud vytvoříte web site využívající MySql a poté jej otevřete a přejdete na záložku Configure, uvidíte připojovací řetězec pro MySql se všemi potřebnými údaji.

Ostatní

Prezentované rozhraní pro správu je již dostupné anebo teprv bude? V současném portále nevidím žádnou možnost přepnutí.
Ano, je dostupné. https://manage.windowsazure.com/. Jinak na současném portále je dole uprostřed malý odkaz „Visit the Preview Portal“. Je ale třeba upozornit, že ne všechna funkčnost starého portálu je v této předběžné verzi přenesena – přibude až časem.

Jak je řešené zálohování zdrojového kódu v hostovaném TFS?
Je uložen v databázích SQL Azure/Azure Storage a tyto jsou ve třech replikách a navíc asynchronně replikovány do sousedního datového centra.

Mám předplatné "Služby platformy Windows Azure pro aplikaci Visual Studio Ultimate" a v novém management portálu nevidím Web Sites ani Virtual Machines. Je to kvůli tomu, že to není dostupné v mém předplatném anebo jsem někde něco neaktivoval?
B je správně. Jděte na Account/Preview Features, viz např tento článek.

Nabízí Azure také službu zálohování dat/obsahu disků?
Azure nabízí úložiště Azure Storage, kam si můžete uložit prakticky cokoliv. Plnou službu zálohy a obnovy včetně správy těchto činností v tuto chvíli nenabízíme.

Mohou instance sdílet jeden BLOB? Nesnižuje to výkon? Je lepší řešení když 1 virtuál používá 1 BLOB?
Obecně 1 BLOB může číst více klientů, ale pouze jeden smí zapisovat. Dopad na výkon není žádný. Pokud ale myslíte VHD soubor uložený jako BLOB, tak ten si může v současné verzi připojit pouze jediný virtuál.

Můžete prosím podrobněji popsat rozdíl mezi Web Role a Worker Role?
Oba termíny se používají pro virtuální počítače v PaaS modelu s dedikovanými virtuály. Web Role = aplikace hostovaná v IIS. Worker Role = jakkoliv jinak hostovaný kód + startovací skript. Jak Web Role tak Worker Role může běžet ve větším počtu instancí a tvořit tak farmu serverů s příslušnou rolí.

Je možné využít Azure Connect pro připojení k on-premises databázi jiné než SQL server, např. Oracle?
Ano, na databázový server je ale třeba instalovat agenta pro Azure Connect a zajistit odchozí HTTPS konektivitu směrem do cloudu. Tento agent běží pouze na Windows, bohužel se nám nepodařilo najít přesné verze OS (více viz https://msdn.microsoft.com/en-us/library/windowsazure/gg432964).

Jaké jsou zhruba ceny? Vše důležité najdete na https://www.windowsazure.com/en-us/pricing/details/

Je možné využít službu Azure pouze pro testovaní, jak by budoucí síť fungovala? A bylo by to nějak zpoplatněno?
Zcela jistě ano, testování je jeden z velmi vhodných scénářů. Nicméně platba je počítaná za spotřebu zdrojů (jádra procesoru, paměť, disky apod.) a je lhostejné, zda jde o testování nebo produkční provoz.

Můžete v krátkosti popsat možnosti autoscaling-u? Jsou zde nějaké změny? Můžeme podle zátěže přidávat/ubírat instance a podle toho i platit?
Azure platforma sama o sobě počet instancí nemění (dostalo by nás to do určitého konfliktu zájmů, kdy bychom měli zároveň funkci stavební firmy a stavebního dozoru). Počet instancí si můžete měnit sami a to i automaticky. Nabízíme buď „vnější“ monitorování pomocí management packu do System Center Operations Manageru anebo „vnitřní“ monitorování pomocí tzv. auto-scaling application block, kdy si aplikace sama určuje, kdy je třeba zvednout/snížit, např. podle délky fronty nebo denní doby.

Máme Java aplikaci v Azure. Ta se mi zobrazuje jako VM, kde můžu přidávat/ubírat instance podle potřeby. Dá se to nějak přepnout jako Cloud Service, aby se výkon a počet instancí škáloval automaticky? Je to tak, že u VM se platí za to, kolik instancí je aktivních a ne podle jejich vytížení, takže pokud mám proměnlivou zátěž, tak je pro mne výhodnější cloud?
Nejprve bych ujasnil pojmy. To co používáte (dedikované virtuály) je cloud service a samozřejmě též cloud. Platíte za počet hodin vytvořených (zastavených anebo spuštěných) instancí virtuálních počítačů. Jejich počet je možné měnit, viz předchozí odpověď. Zřejmě spíše myslíte spuštění vaší aplikace v režimu Azure Web Sites, tedy se sdílenými, nikoliv dedikovanými virtuály. To v tuto chvíli možné určitě není, sdílené prostředí je omezeno pouze na předinstalované aplikační platformy, což je v tuto chvíli ASP.NET, PHP nebo Node.js. Dalo by se říct, že při použití Azure Web Sites se vzdáváte flexibility a garantovaného výkonu výměnou za nižší cenu.

Říkali jste, že je jednoduché použít ADFS. Mohl byste to více komentovat případně doporučit nějaké video nebo nějaký jiný zdroj?
Určitě lze doporučit tzv. Identity Developer Training Kit. V něm popsané postupy a praktická cvičení jsou použitelná bez ohledu na to, zda virtuál běží v cloudu či nikoliv.

Je možné využít Windows Azure pro HPC (high performance computing)? V ceníku vidím jako jednotku "large" 4 jadra a 7GB paměti, což by pro HPC bylo směšně málo.
Existuje ještě dvojnásobně velká jednotka extra-large, větší virtuály nenabízíme. Pro větší požadavky se hodí výpočty paralelizovat (pokud je to možné) a vytvářet farmy počítačů. Existují praktická cvičení na tuto problematiku, naleznete je zde.

Jaká kombinace Azure služeb by byla vhodná pro sociální síť, do které by se uživatelé přihlašovali jak přes Facebook, Google apod. a zároveň pomocí kombinace jméno, heslo, které by si aplikace sama ukládala?
Určitě byste použili Azure Cloud Service anebo Azure Web Sites pro aplikační vrstvu vaší aplikace a zřejmě SQL Azure pro uložení autentizačních údajů a dalších dat. Od externích poskytovatelů identity by vás pak odstínila služba Access Control Service, kterou můžete snadno integrovat do vlastní aplikace. Pro podrobnější diskusi nás kontaktujte napřímo.

Uvažujeme o zřízení nějakého SSO (Single Sign On) řešení, pomocí kterého bychom autorizovali uživatele našich externích aplikací. Máme nyní přes LDAP ošetřený přístup na web.Připravujeme extranet a trouble ticket system, kde zatím správu uživatelů ponecháváme v režii každé aplikace. Chceme sjednotit autorizaci do všech systémů tak, že uživatel bude mít jedno heslo+login do všech aplikací, které bude používat/používá. Je možné použít Azure pro takový způsob autorizace? Pokud ano, je možné získat nějakou podporu pro návrh a realizaci takového řešení?
Zcela jistě to možné je, např. může být vhodné ponechat uživatelům jejich identitu (LiveID, GoogleID, Facebook ID, účet v Active Directory apod.) a použít službu Access Control Service. Pro podrobnější diskusi nás kontaktujte napřímo.