Azure akademie – Závěrečná lekce

Záznam a materiály z LiveMeetingu:

Úvodní prezentace, která má následující agendu:

  • Logistika Potvrzení o účasti
  • SQL Azure – kopie databáze
  • Konzultace vašich projektů
  • Co chystáme dále

Migrace jednoduché aplikace – prezentace, zdrojový kód

Videozáznam přednášky – (vyplňte svoje jméno, není třeba vyplnit Recording Key)

Odpovědi na otázky položené během LiveMeetingu:

Níže jsou zodpovězené dotazy, které padly během šesté lekce naší Azure akademie. Otázky jsme si dovolili jazykově a stylisticky zkorigovat, stejně jako naše původní odpovědi, které jsme doplnili o další informace.

V novém driveru pro MS SQL Server v PHP jsme nenašli funkci seek. MS SQL Server seek z nějakého důvodu už nepodporuje nebo podpora zmizela jen z PHP?

Rozhodně se necítíme jako odborníci na PHP. Poslední ovladač najdete na https://sqlsrvphp.codeplex.com/, dokumentaci pak na https://msdn.microsoft.com/en-us/library/ff928321(v=SQL.10).aspx . Pokud funkcí seek myslíte vynechání prvních n záznamů (např. při stránkování), lze to řešit funkcí ROW_NUMBER v SQL příkazu, např. https://www.15seconds.com/issue/070628.htm

Lze založit databázi přímo v SQL manageru nebo je nutné zakládat vždy pres rozhraní?

Je možné i přes T-SQL pomocí příkazu CREATE DATABASE. Od klasického SQL serveru se liší jinou sadou možností (např. lze specifikovat edici, ale ne umístění souborů). Viz https://msdn.microsoft.com/en-us/library/ee336274.aspx

Na začátku kurzu jsem se ptal, jestli nejde automaticky udělat také kopie Storage - odpovídali jste, že to nešlo. Chtěl jsem se zeptat, zda se něco takového neobjevilo v té nové funkcionalitě, nebo jestli se to neplánuje. Zálohovat celou storage ručně by myslím bylo celkem pracné a komplikované.

Storage jako celek zálohovat jednoduše nejde. Viděl jsem v tuto chvíli nástroje 3. stran. Pokud jde o budoucnost, tak se mi žádná informace tohoto typu nedostala. Tim ale nechci říci, že se na tom nepracuje. Můžete ale například zkusit projekt pod názvem „Azure Storage Backup & Restore for Widnows Azure“, který je volně ke stažení na Codeplexu.

Můžete prosím nastínit nějaký model, jak může IT firma profitovat, když zákazníkovi doporučí SQL Azure z důvodů úspory nákladů na údržbu, licence atd... nebo obecně jak může profitovat z jiných služeb v cloudu jako např. Office 365 atd.?

To je asi poněkud delší diskuse. Jako IT firma např. můžete benefitovat ze známého prostředí, které nemusí být např. v každé firme identické nebo sebou musíte nést zvýšené náklady. Můžete např. nabídnout řešení, které je geograficky a výkonově dostupné v rozsahu, který si váš zákazník nemůže standardně dovolit. Stejné platí o kvalitě služeb. Pokud budete provozovat velký objem cloud služeb, budete moci nakupovat výkon v množstevních slevách, ... Asi bych mohl pokračovat velmi dlouho. Pokusím se na svém blogu odpovědět obšírněji.

Trochu vzdálenější dotaz od dnešní zajímavé ukázky, ale s cloudem související. Na internetu se v posledním týdnu objevilo několik článků o Windows 8 a „desktop as a service“, viz např. https://www.zdnet.com/blog/microsoft/windows-8-to-showcase-desktop-as-a-service/7975 . Předpokládám, že se zde plánuje využití Azure platformy. Jestli jsem to správně pochopil, Windows 8 by mohly na lokálním PC běžet virtuálně, díky čemuž by se virtuální disk mohl „zálohovat“ do cloudu a z cloudu bych si ho mohl stáhnout na jinou stanici a mít tak stále svůj virtuální desktop. Je tato představa správná? Pokud to tak je, zajímalo by mne, zda se plánuje i možnost spuštění virtuálního desktopu W8 přímo v cloudu s přístupem přes vzdálenou plochu. Ten virtuální běh desktopu Windows 8 bude volitelný nebo to bude základní princip fungování Windows 8?

Děkujeme za vizionářský dotaz :-) Nicméně informace v těchto článcích jsou čistě spekulativní, žádné oficiální informace k příští verzi Windows nejsou v tuto chvíli k dispozici.

Je lepší (z hlediska odezvy) North nebo West Europe? Dělali jsme interní "ping" testy a o něco málo lepší se nám zdálo West datové středisko. Dělali jste vlastní měření? Jaké další parametry bychom měli brát v potaz při nasazení aplikace pro zákazníka?

Jenom pro upřesnění – West Europe centrum je Dublin, North Europe je Amsterdam. Měření jsme nedělali, hodně by záviselo, kde „ústí“ vaše síť do Internetu, ve kterých zemích má váš poskytovatel Internetu sesterské firmy apod. Vždy je třeba změřit pro konkrétního zákazníka. Žádné další parametry nás nenapadají.

Není dotaz, spíš informace pro všechny: testováno přímo z páteře: odezva West Europe data centra 19ms, odezva North Europe data centra 35ms (průměry z několika desítek měření, relativně stejné odpovědi), měřili jsme tuším celý HTTP dotaz (PING nefungoval).

Děkujeme, zveřejňujeme i pro ostatní. Pro lepší validitu tohoto měření by asi také bylo dobré zveřejnit, za jakých podmínek jste měřili.

Uvažuje se o moznosti mít více produkčních prostředí? Příklad: Chtěl bych určitou novou funkcionalitu nejdříve otestovat na vybraném vzorku uživatelů a teprve následně tuto funkcionalitu poskytnout všem uživatelům.

Můžete toho dosáhnout používáním více hostovaných prostředí na jeden účet. Každé prostředí pak samozřejmě bude mít jiné URL. Při běhu více prostředí se též samozřejmě navýší i spotřeba a platby.

Plánujete další akademii na téma BPOS?

Formát akademie se nám líbil a považujeme ho za úspěšný, nicméně v nejbližší době nemáme žádné konkrétní plány. Zajímavý moment přijde s oficiálním uvedením Office 365, jehož součástí je i SharePoint 2010, kde programování je opravdovým potěšením. Jakmile budeme mít pro tento produkt cokoli připraveno, určitě vás budeme informovat.

Existuje nebo je alespoň plánováno nějaké "sofistikovanější" řešení pro migraci databáze z lokálu na SQL Azure než přes "Generate scripts", jak bylo uvedeno v příkladě HelloFacebook. Přece jen se tak data generují do texťáku ve formě insertů, což může u malinko větších databází vygenerovat opravdu velký skript. Navíc to bude zřejmě dlouho trvat při spuštění...

Generate Scripts je vhodné pro migraci schématu a menších dat. Pro větší data je vhodné použít buď SQL Server Integration Services (datová pumpa) anebo SQL Azure Migration Wizard (https://sqlazuremw.codeplex.com/), který využívá funkčnost bulk copy.

Když už jsme natrefili na migraci DB.. generování schématu „ručně“ přes studio je sice skvělé, ale pro reálné použití je nutné použití z příkazové řádky, aby bylo možné například pravidelně stahovat z Azure zálohy, případně naopak (do Azure nahrávat), při buildu apod.

Váš problém by mohl řešit SQL Azure Migration Wizard (https://sqlazuremw.codeplex.com/), který může běžet buď vizuálně anebo z příkazové řádky.

Dalibor a Michael