Migrace aplikací na platformu Azure–materiály ke 3. dílu ke stažení

Ve středu 18.1. se uskutečnil LiveMeeting na téma migrace aplikací na Azure platformu. Po prvním dílu věnovaném migraci relační databáze a druhém dílu věnovaném migraci aplikační vrstvy, se třetí díl soustředil na možnosti dalšch nerelačních datových úložišť, které nejčastěji slouží jako náhrada souborového systému.

Zde jsou kompletní materiály a odpovědi na položené otázky ke třetítmu dílu. Pokud se chcete zúčastnit posledního dílu a nejste dosud přihlášeni, můžete tak učinit zde.

 

Otázky

Otázky jsem si dovolil stylisticky i jazykově upravit.

Budou dostupné nahrávky všech přednášek?
Ano, na tomto blogu zveřejňuji všechny záznamy,přímé odkazy najdete v textu výše.

Jak se počítá transakce nad table? Pokud mám jeden dotaz vracející pět řádků, je to jedna nebo pět transakcí?
Zjednodušeně řečeno, transakce = HTTP požadavek. Exaktní popis najdete zde Konkrétně u Azure Storage Table je jeden dotaz roven jedné transakci. Pokud je výsledek z důvodu velkého počtu entit, velikosti dat anebo dlouhé doby zpracování rozdělen na více stránek (více navazujících HTTP operací), je z hlediska účtování každá stránka transakcí.

Je nějaká situace, kdy bych mohl příjít o zprávy uložené ve frontě (Azure Storage Queue)? Jde mi o zálohování této fronty.
Data ve frontě jsou stejně jako jakákoliv jiná data vkládána tranakčně ve třech replikách plus jedna asynchronní replika v sousedním datovém centru. Ochrana proti HW závadě je tedy dostatečná. Ztráta dat lidskou chybou je nepravděpodobná,navíc se fronta neustále mění. Abych to shrnul, žádný důvod k zálohování fronty nevidím.

Scénář: z aplikace načtu BLOB 10MB a těchto vemu a zase uložím 10MB do dalšího BLOB; kolik asi se jich provede za vteřinu ? samozřejmě v rámci jednoho datacentra.
Konzervativní výkonností charakteristiky najdete popsané zde, realita je zpravidla ještě znatelně lepší. Konkrétně v případě BLOBu je rychlost pro jeden BLOB cca 60MB/s, celková propustnost sítě pro jeden Storage Account je 3 Gbps.

V případě, že se překliknu a smažu Storage Account, je celý obsah ztracen? Je možné Storage nějak kopírovat nebo zrcadlit?
Ano, obsah je ztracen (to překliknutí musíte ale potvrdit :-). Záloha anebo zrcadlení nejsou vlastnosti platformy, existují na to komunitní nástroje (např. Azure Storage Backup) anebo profesionální nástroje třetích stran (např. Cerebrata).

Když vytvářím aplikaci pro Windows Azure, tak ji mohu nasadit do Staging a Production prostředí. Je možné také mít SQL databázi pro Staging a Production?
Snadné prohazování aplikací (VIP swap) je reálné pouze pokud se mezi verzemi nemění schéma databáze. Samozřejmě je možné mít více různých SQL databází (každá s jiným jménem). Databázová vrstva je oddělená od aplikační, takže se sám musíte postarat, aby každá verze aplikace využívala správný connect string do databáze. Pokud nová verze vyžaduje úpravy databáze, asi to nikdy nepůjde bez odstávky systému. Postup může být např. 1) produkční aplikace V1, produkční databáze V1, 2) vytvořím staging aplikaci V2, staging databázi V1, 3) odladím si upgrade skript databáze z V1 na V2 na staging databázi, 4) důkladně otestuji staging aplikací V2 se staging databází V2, 5) odstávka produkčního prostředí, 6) preventivní export/backup produkční databáze V1, 7) upgrade produkční databáze na V2, 8) VIP swap, čímž mám  v produkci aplikaci i databázi V2

Michael