Jak jsme slíbili, přinášíme zodpovězené dotazy, které padly během druhé 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.

Dalibor a Michael

 

LiveMeeting, organizace Azure akademie

Dozvíme se někde odpovědi či hodnocení jednotlivých domácích úkolů?

Pokud myslíte jednotlivě, tak to není naším cílem ani v našich silách hodnotit. Příklady správných odpovědí se dozvíte vždy na začátku následující lekce. Nejlepší a nejzajímavější odpovědi každý týden ohodnotíme.

Jestli byly odpovědi dostatečné, zjistíme kde? Stačil by mail s odpovědí "Zpráva byla přijata, blablabla :)"... odpověď do týdne by byla naprosto dostačující.

Nemějte obavu, nejsme maturitní komise. Nehodnotíme absolutní správnost odpovědí na otázky, které jsou mnohdy subjektivní. Každému, kdo věnuje odpovědím adekvátní čas a snahu je jako „čárku“ uznáme. Pokud byste rád dostal potvrzení o přijetí/přečtení, lze tento příznak nastavit u odesílaném mailu. Bez problému odeslání o přečtení vyžádané mailem budeme odesílat.

Veškeré dotazy týkající se kvality audio přenosu...

Omlouváme se, pokud byla kvalita nižší, na vině byla větší zátěž internetu, možná kvůli tzv. „patch Tuesday“. Není v naší moci tento fakt ovlivnit. V případě vážných problému zkuste znovu projet průvodce Setup Audio and Video. Pokud by byla kvalita vašeho audia v daný den extrémně nízká, doporučujeme se podívat na záznam, kde je dostatečná.

V jakém časovém horizontu bude prezentace a záznam na webu?

Budeme se snažit záznam, prezentace i otázky/odpovědi vystavit na http://blogs.msdn.com/vyvojari do 24 hodin od skončení lekce.

Stáhnul jsem si prezentace - dá se zjistit, kam se to stáhlo?

Pokud myslíte tzv. Handouts v klientu Live Meeting, měl by se vám po kliknutí na „ikonku s 3 listy papíru“ zobrazit seznam souborů, a po stisku Download nabídnout výběr cesty, kam se soubor stáhne.

Je možné se svolením pisatele uveřejňovat odpovědi, které byly vyhodnoceny jako nejlepší?

Požádáme autora odpovědí o souhlas a v případě kladné reakce jeho odpovědi zveřejníme.

Azure Storage

Délka názvů souborů BLOBů je nějak omezena? V lokálním filesystému NFTS bývá běžně celkem brzo problém. Také nějaká mezení na povolené znaky? Opět lokálně se např. v IE (*,mht) chová "jinak" třeba # ...

Ano jsou, protože to musí být validní URL. Používají se totiž přes REST rozhraní. Jinak dostanete status code 400 (Bad Request).

V příkladu na Azure Queue jsem viděl, že se dá nastavit timeout, po jehož dobu na danou zprávu nic jiného nemůže... aha :)

Ano, je to tak. Důvod pro timeout parametr je následující - do doby, dokud není zpráva korektně zpracována, neměla by být z fronty odstraněna. Aby s ní ale nemohl paralelně pracovávat jiný proces, musí se na dobu zpracování zneviditelnit. Pokud by ji náhodou první proces nezpracoval, druhý ji po vypršení timeoutu zpracuje za něj.

Co se stane, když ani druhý proces, který zpracovává zprávu z fronty zhavaruje? Bude ta zpráva stále ve frontě?

Ano, stále tam zůstane. Pokud by se jednalo o špatnou zprávu, která systematicky způsobuje selhání zpracovatele (tzv. poison message), můžete to detekovat pomocí počtu zpracování v hlavičce zprávy a zareagovat podle toho.

Je možná prioritizace zpráv ve frontě?

Pořadí zpracování ve frontě nemusí být zachováno. Frontu vidíte celou a je na vás, co si z ní vyzvednete. Standardní funkčnost to ale není.

Ten Azure Storage SDK je samostatný nebo je to součást Windows Azure SDK?

Je to součást Windows Azure SDK.

Azure CDN je další placená služba?

Ano, je to doplňková služba k Azure Storage. Jedná se v podstatě o distribuovanou cache, která přináší data blíže k zákazníkovi. Cena z hlediska přístupu klientů je stejná jako u Azure Storage, jediný náklad navíc je přenos dat z Azure Storage do cache, což je typicky malý zlomek celkových přístupů.

Kde a kdy lze pouzit LINQ?

Pokud použijete Azure Storage SDK, máte k dispozici objektový model zapouzdřující REST API služby Azure Storage. Tento objektový model hojně využívá technologii LINQ.

Povinné sloupce v tabulce Azure Storage mají předepsaný typ?

Ano, PartitionKey a RowKey jsou typu string, TimeStamp je typu DateTime.

Je někde logováno, že byla zpráva odstraněna, případně, lze to nějak automaticky zařídit (např. konfigurací)?

Ne, tento fakt si musíte logovat sám v aplikaci, která frontu zpracovává.

Pokud jsou data veřejná, pak se za jejich stažení platí pouze vlastník nebo na to platí nějaký jiný princip?

Ano, platí je vlastník dat.

Na jak rychlou páteř jsou datová centra připojena? A jak je to pak se mnohonásobným streamováním např. videa? (Jakože milion naráz :-)

Tato data nejsou veřejná, ale můžete si být jisti, že mají „nejlepší na trhu dostupnou konektivitu“, navíc násobnou. Pokud jde o opravdu extrémní zátěž, je vhodné zkombinovat s CDN (Content Delivery Network), který data přiblíží koncovému uživateli a nepřináší prakticky žádné náklady navíc.

Je možný programový přístup ke frontě? Má nějaké API?

Ano, fronty maji REST API a k tomu plný objektový model v rámci Azure SDK.

Existuje nějaká detekce příliš častého (nekalého) čtení veřejných dat (pokusy o zvyšování nákladů zvenčí)?

Na firewallech před službou se provádí detekce útoků typu DoS/DDoS. Pokusíme se vám zjistit více podrobností. V mezičase si určitě přečtěte whitepaper - Security Best Practices

For Developing Windows Azure Applications

Jsou požadavky do Azure databáze cachované, protože se platí za počet přístupů? Anebo si cache implementuje aplikace sama? Je podpora nějaké cache vrstvy přímo v Azure platformě?

Nevím, zda myslíte Azure Storage anebo SQL Azure, v obou případech si můžete data v aplikaci cachovat dle svého uvážení, automaticky cachována nejsou. Pokud si data (BLOBy) z Azure Storage stahují klienti, je možné nastavit TTL (time to live), tedy jak dlouho zůstávají v cache prohlížece a proxy serverů po cestě.

Procesy, které zpracovávají zprávy si je mohou nějak vybírat, například jestli lze používat jednu frontu pro více typů zpráv s možností rozlišení, pro který z typu procesů je určena?

Procesy vidí celý obsah fronty, mohou si vybrat, co si vyzvednou. Pro vaši situaci by ale bylo jednodušší použít více front (jejich počet není limitován ani zpoplatněn), bude to jednodušší z hlediska návrhu aplikace a nijak to nezmění množství účtovaných operací.

Ostatní technické dotazy

Chtěl jsem se zeptat jak je rozdílné postavit klasický projekt web site ve VS 2010 a "neklasický" projekt Website napojený na MS Azure. A zdali víte o nějakých dokumentech, které toto rozebírají.

Pro Azure existuje novy typ projektu. Na první pohled vypadá jako běžná web aplikace. Liší se zejména konfiguraci cloud řešení - jednotlivé role a konfigurace těchto rolí. Další rozdíly určitě najdete v použitých assembly, které jsou specifické pro Azure. Posledním rozdílem může být využití několika nových událostí (např. start nebo ukončení aplikace). Tyto prvky mohou být i v klasickém projektu a nevyužívat se, jenom je třeba tuto situaci ošetřit kontrolou nebo použitím vhodných návrhových vzorů tam, kde se přístup liší. Prakticky o tom budeme hovořit příští týden.

Jak je složité změnit velikost SQL Azure databáze z 1GB na 10GB. A co se stane, pokud používám 1GB a dochází místo.

To trochu předbíháme, SQL Azure bude ve čtvrté lekci. Velikost databáze lze změnit. Odpověď na druhou otázku najdete zde http://msdn.microsoft.com/en-us/library/ff394109.aspx. Když dosáhnete limit, získáte chybu 40544 a na databázi nemůžete provádět všechny operace. Více na uvedeném odkazu.

Je možné sledovat aktuální zatížení, které moje aplikace v Azure využívá (nějaký benchmark)? Popřípadě celkové statistiky využití procesoru, velikosti databáze atd.?

Opět trochu předbíháme. Všechny tyto údaje lze sledovat, ale jsou poněkud rozptýlené po jednotlivých komponentách Azure platformy. V brzké budoucnosti budou sjednocena v novém portálu pro správu platformy.

Chci se zeptat na praktické cvičení, jestli máte někde na webu nějaká videa jak udělat jednoduchý Azure projekt pro další praktické cvičení?

Videa a praktické cvičení naleznete ve Windows Azure Platform Training Kitu.

Nemáme Visual Studio 2010. Funguje Windows Azure Training Kit na VS2008?

Alespoň některá cvičení fungovat budou, ale není to oficiálně podporováno. Doporučujeme spíše použít Visual Studio 2010, časově omezená verze je volně ke stažení.

Ostatní dotazy

"On-premise" je gramaticky špatně (ačkoliv se občas používá), správně je "on-premises", více viz. http://en.wikipedia.org/wiki/On-premises_software

Přednáška je skvělá, opravdu jsem spokojen, ale to pánovo ááááááááá, ééééééééé mu to kazí.

Příště se již budu více hlídat a to co projde nahradím typickým pípnutím známým z televize :-). Díky za upozornění.

Můžete v rohu slidu uvést jeho číslo, zlepšuje to pak orientaci v prezentaci... jenom takové doporučení pro příště :)

Děkujeme za připomínku, snad na to nezapomeneme :-)

Jsem členem MS BizSpark, ale na tabu Subscription na portálu nic nevidím, žádnou zvýhodněnou nabídku. Můžete mi poradit, na koho bych se měl obrátit?

Obraťte se prosím na našeho kolegu, e-mail ondrej.strba(zavináč)microsoft.com.