Ve středu 4.1. se uskutečnil LiveMeeting na téma migrace aplikací na Azure platformu. První díl se věnoval migraci relační databáze. Zde jsou kompletní materiály a odpovědi na položené otázky k prvnímu dílu. Pokud se chcete zúčastnit dalších dílů a nejste dosud přihlášeni, můžete tak učinit zde.

Otázky k SQL Azure

Trochu mě zarazilo ze jako výhoda Azure Storage oproti SQL Azure je pouziti LINQ. Pokud je přeci SQL Azure dostupné přes standartní .NET providery, je i možné použií LINQu, je to tak?
Je to přesně jak říkáte, asi jsem to neřekl úplně přesně. Azure Storage umožňuje přístup přes HTTP/REST, případně existují knihovny balící tento protokol do LINQ konstrukcí. SQL Azure podporují standardní T-SQL příkazy přes TDS protokol a jakékoliv datové knihovny nad ním postavené, tedy i ADO.NET, LINQ to SQL, Entity Framework, ...

Existují 2 repliky dat pro databázi. Je to stejné i při použití Azure Storage Table?
Přesněji řečeno – existují celkem 4 repliky. Tři jsou synchronní ve vašem vybraném datovém centru – jedna je primární a dvě záložní. Čtvrtá replika je asynchronní v sesterském data centru jako záloha pro katastrofu celého datového centra. Tyto počty jsou stejné pro SQL Azure i Azure Storage, i když se používají jiné mechanismy pro uložení dat.

Je možné použít funkci vygenerování skriptu (Tasks > Generate scripts) z SQL Server Management Studia pro přenesení dat přes webový portál SQL Azure?
Přes webový portál je možné pustit jakýkoliv SQL skript, tedy i takto vygenerovaný. Zvažte i možnost používání DACPAC/BACPAC souborů pro přenos změn ve schématu, případně prvotní přenos databáze i s daty – považuji ji za lepší.

Jak je to se zálohováním a obnovou dat? Pořád se musí použít aplikace třetí strany? Nebo lze použít SQL Management Studio?
V prezentaci je to rozebráno. Záloha/obnova do časového bodu není v tuto chvíli nativně podporována. Můžete ale provést export/import dat do BACPAC souboru. V tuto chvíli ho lze provést z příkazové řádky anebo z webového portálu SQL Azure, do budoucna to půjde i z SQL Server Management Studia verze 2012.

Která verze SQL Server Management Studia umí generování skriptů pro SQL Azure? Script for Server Version tu mám "pouze" SQL Server 2005 - 2008 R2. Co mi chybí?
Potřebujete verzi SSMS 2008 R2 anebo vyšší. Jste o řádek vedle, Azure se nastavuje v řádku „Script for the database engine type“.

Jaká je možnost využít Azure pro aplikace v MS Access?
Access samozřejmě běží na klientských stanicích a běžet ho v cloudu postrádá smysl. Můžete ale v cloudu mít SQL Azure databázi a tu mít z Access souboru nalinkovanou pomocí ODBC spojení. Jenom pozor na přidanou latenci v řádu desítek milisekund – pokud aplikace provádí velké množství rychlých dotazů, může se latence nepříjemně nasčítat a aplikaci zpomalit.

Mohu nějak ovlivnit výkon vykonávání SQL dotazů v SQL Azure? Někdy mám pocit, že vykonávání dotazů je rychlejší na mém lokálním serveru než v SQL Azure.
Je třeba si uvědomit, že servery v cloudu jsou zatížené též dotazy do jiných databází – nemůžete to srovnávat se situací, kdy svůj jediný dotaz pustíte proti nezatíženému serveru. Pokud dojde k přetížení serveru, chvíli trvá, než se pomocí přepínání replik zátěž rovnoměrněji rozloží na servery s volnou kapacitou. Výkonnost dotazu není možné přímo ovlivnit. Pomocí nové web konzole ale můžete získat výbornou diagnostiku o rychlosti dotazů, generované zátěži, prováděcích plánech apod. – více zde.

Jak je to se škálovatelností SQL Azure databáze? Můžu si připlatit více instancí SQL Azure? Budou se pak chovat pro mě transparentně jako jediná SQL Azure?
Každá databáze patří do jedné instance a je v danou chvíli obsluhována jediným databázovým serverem. Od prosince existuje možnost používání tzv. federací, což je rozdělení dat podle určitého klíče mezi více databází. Tato možnost ale není transparentní – aplikace s ní musí počítat už při vytváření databázového spojení.

Otázky k Azure účtu

Co se stane s bezplatným účtem po uplynutí 3měsíční lhůty? Musím službu rušit nebo deaktivovat?
Pokud máte nastavený nulový „spending limit“, což je výchozí stav, nemusíte dělat nic. Vaše hostované virtuály budou odstraněny a uložená data převedena do read-only stavu, po nějaké době pak zcela smazána. Pokud si „spending limit“ zrušíte, váš účet de facto přejde na normální placený účet s tím, že první tři měsíce máte některé zdroje zdarma, po uplynutí 3 měsíců účet funguje dále jako normální komerční účet s platbou za spotřebu – případné zrušení se provádí přes Azure portál. Více informací o limitech zde.

Jak je to s limity SQL Azure pro vývoj v rámci MSDN benefitů? Jaké objemy dat a přenosy jsou zdarma?
Zdroje máte k dispozici po celou dobu trvání předplatného a jejich množství závisí na edici Visual Studia, detailní rozpis je zde.

Je možné nastavit finanční strop při jehož dosažení se Azure služby zastaví? Případně kde tyto limity můžu najít?
Není možné nastavit si vlastní limit, dostupné režimy jsou „platím 0“ anebo „platím podle spotřeby“. Limity a jejich čerpání můžete pohodlně sledovat na portále ke svému účtu – viz obrázky na konci tohoto příspěvku.

Jak by byly řešeny případné spory o účtované částky?
SLA smlouva nabízí jasně daná pravidla a ceny. Pokud máte pocit, že účtovaná částka neodpovídá pravidlům anebo realitě, reklamujete ji snadno prostřednictvím služby podpory, podobně jako u všech ostatních dodavatelů. Podle našich zkušeností je reakce rychlá a velmi vstřícná.

Které telefonní číslo na český helpdesk byste pro Win Azure doporučili?
Přehled všech kontaktních informací najdete na https://www.windowsazure.com/en-us/support/contact/

Má na účtování nějaký vliv maximální velikost DB? Resp. k čemu je tento limit, když se účtuje podle skutečně obsazeného prostoru?
Jedná se o technický limit, který zároveň shora omezuje velikost vašeho měsíčního účtu za databázi. Na konkrétní účtovanou částku v daném měsíci ale žádný vliv nemá.

Jaké jsou výhody/nevýhody Azure platformy oproti klasickému hostingu?
Nevím, co myslíte tím „klasický“. Pokud levný sdílený hosting, tak tomu Windows Azure nekonkuruje – ve Windows Azure máte dedikované zdroje, tedy spíše něco jako je hostování virtuálních počítačů. Oproti této možnosti Azure nabízí výrazně nižší náklady na správu (instalace, aktualizace, zálohování, obnova při havárii atd. – vše je plně automatické). Dále nabízí bez dalších příplatků vysokou dostupnost (trojí replika dat, farma aplikačních serverů s rozkládáním zátěže apod.). V neposlední řadě pak elasticitu a platbu přesně podle spotřebovaných zdrojů – můžete mít například jeden server a před vánocemi zvýšit na 3 servery – platíte za hodiny běžících počítačů podobně jako u účtu za elektřinu.

Michael