OREA Hotel Voroněž I Brno 5. – Twitter hashtag: #cztechdays
Top Hotel Praha 7. – Twitter hashtag: #cztechdays
Michael Juřek Software Architect Microsoft s.r.o. Kam kráčí Azure platforma? Twitter hashtag: #cztechdays
Kontrola versus náklady = nemusíte řešitStandalone Servers IaaSPaaSSaaS Aplikace Běhové prostředí Databáze Operační systém Virtualizace Servery Úložiště Síť Windows Azure Efektivita Kontrola a náklady
Chceme všechno co nejjednodušší Přepracovaný portál pro založení účtu a správu Nový přehledný web Integrace výhod do MSDN předplatného, BizSparku, … Nechceme finanční riziko 90denní zkušební účet s garantovanou nulovou platbou Vyžadována bankovní karta jako autentizační prostředek Chceme spouštět i menší aplikace s nižšími náklady Extrasmall instance, 100 MB databáze Čekejte velké překvapení ještě letos Nasloucháme našim vývojářům
Jednoduchost Snadnost použití Symetrie cloud a on-premises nástrojů Kam kráčí Azure platforma?
Založení účtu Převod databázové vrstvy Převod aplikační vrstvy Na co si dát pozor Agenda
Rádi vám pomůžeme s registrací na stánku MSDN Budete potřebovat: Platební kartu Mobilní telefon Máme pro vás malý dárek Vytvořte si bezplatný Azure účet
Založení účtu Převod databázové vrstvy Převod aplikační vrstvy Na co si dát pozor Agenda
Bez relační databáze se většina aplikací neobejde, „No SQL DB“ ji nenahradí „Jiný připojovací řetězec k databázi“ Ve většině aspektů nerozlišitelná od klasické relační databáze Ale pozor na rozdíly: Ne všechny schopnosti klasické databáze jsou podporovány Server není jenom pro vás, proto nelze využívat funkce, které by byly rizikem pro bezpečnost, výkonnost, stabilitu celého serveru Databáze pohledem vývojáře
Nižší náklady (TCO) Nulové pořizovací náklady – nekupujete hardware ani licence Předvídatelné provozní náklady Automatická vysoká dostupnost Tři servery s aktuální replikou vašich dat Automatická odolnost proti selhání Automatická aktualizace a údržba (téměř nulový výpadek) Vysoká symetrie s klasickým SQL serverem: Stejné znalosti Stejný kód Stejné nástroje Výhody databáze jako služby
Databázové repliky Replika 1 Replika 2 Replika 3 DB Jedna databázeVíce replik dat Primární replika Replika 4 !
Každý účet vlastní jeden nebo více serverů Správa pomocí portálu Subjekt pro účtování Každý server má jednu nebo více databází Ekvivalent SQL instance, má DNS jméno master databáze – metadata o ostatních databázích, uživatelské účty apod. Jednotka autentizace Jednotka umístění (různá datová centra v oblasti) Každá databáze má standardní SQL objekty Tabulky, pohledy, indexy,... Jednotka účtování Jednotka izolace a konzistence Model služby Účet Účet Server Server Databáze Databáze
Nasazení jako Data Tier Application (*.dacpac) Databázový projekt typu Data Tier Application ve VS 2010 umožňuje nasazení na klasický SQL i na SQL Azure Podporován je též upgrade schématu Naskriptování schématu v SSMS V možnostech skriptování lze zvolit SQL Azure jako cílovou platformu SSMS pro SQL Server 2012 Deploy Database to SQL Azure Možnosti přesunu schématu
25
DEMO Přenos databázové vrstvy
Založení účtu Převod databázové vrstvy Převod aplikační vrstvy Na co si dát pozor Agenda
Azure nabízí hostovaný operační systém Windows Server 2008 a 2008 R2 Prakticky cokoliv, co běží na Windows Serveru lze spustit na Windows Azure: ASP.NET, ASP, PHP, Java, Ruby, …, nativní kód Libovolný web server běžící na Windows (IIS předinstalován ve web roli) Aplikační vrstva pohledem vývojáře
My pro vás připravíme operační systém Vy dodáte balíček se „zaZIPovanou“ aplikací My balíček nasadíme do OS a spustíme aplikaci My aktualizujeme a spravujeme virtuální počítač Vaše aplikace nemá administrativní práva k OS Pokud chcete, tak může mít, ale není to z hlediska bezpečnosti doporučená praxe Vy můžete OS modifikovat, ale na vlastní riziko My můžeme kdykoliv vytvořit nový virtuál Rozdělení kompetencí
Architektura „velké“ aplikace Cíl: MASIVNÍ ŠKÁLOVATELNOST Škáluje „out” – nikoli „up“ – replikováním worker instancí podle potřeby. Umožňuje škálovat uživatelské a výpočetní aktivity nezávisle. Instance dvou typů: Web Role & Worker Role Windows Azure aplikace se mohou skládat z web role instancí, worker role instancí nebo kombinací obou. Každá instance běží ve svém vlastním VM, replikovaném podle potřeby.
Výběr správného typu role
DEMO Přenos aplikační vrstvy
Založení účtu Převod databázové vrstvy Převod aplikační vrstvy Na co si dát pozor Agenda
Common Language Runtime (CLR) Database file placement Database mirroring Distributed queries Distributed transactions Filegroup management Full Text Search Global temporary tables Nepodporováno v současné verzi SQL Server configuration options SQL Server Service Broker System tables Trace Flags Kompletní dokumentace omezení:
Aplikace jej velmi často používají, ať již otevřeně anebo skrytě (např. komponenty třetích stran) Častý zdroj nečekaných obtíží Řešení nebývá složité Nutno konfigurovat cestu za běhu Používání souborového systému
V metodě OnStart() role: Běží při každém restartu aplikace Definice prostřednictvím kódu Může běžet jako administrátor (executionContext="elevated" pro ) Použití tzv. startup task Běží při každém restartu OS Definice v konfiguraci role Může běžet jako administrátor (executionContext="elevated" pro ) Pozor na správný taskType Instalace a nastavení prerekvizit
V závislosti na uživatelském účtu: Standardně práva běžného uživatele Možno zvýšit na úroveň administrátora (executionContext="elevated" pro ) Nedoporučuje se, neboť v případě bezpečnostní chyby v aplikaci dává útočníkovi větší možnosti eskalace útoku V závislosti na nastavené úrovni důvěry Standardně plná práva k provádění veškerého kódu (souborový systém, registry, nativní kód, …) Omezení operací.NET FX, žádný nativní kód (enableNativeCodeExecution ="false" pro ) Co kód smí a nesmí dělat?
Chybějící referencované knihovny: Typicky pro knihovny v GAC, které nejsou součástí.NET frameworku (např. ASP.NET MVC) Dnes již dobře kontrolováno nástroji ve VS Postačí nastavit referenci na Copy Local = true Knihovny zkompilované pouze pro 32-bit platformu Nezpracovaná výjimka ve třídě RoleEntryPoint Role se vrátí z metody RoleEntryPoint.Run() Operace ve třídě RoleEntryPoint vyžadují administrativní oprávnění, která nejsou povolena Špatný DiagnosticsConnectionString Např. nastavení na lokální Storage Emulator Proč se role v cloudu restartuje?
Kurz migrace aplikací – kompletní materiály azure-kompletni-materialy-a-4-dil.aspx azure-kompletni-materialy-a-4-dil.aspx Praktické cvičení (stejné, které jste viděli dnes + scénář na mobil + scénář s desktopovou aplikací) jednoduche-aplikace-do-cloudu.aspx jednoduche-aplikace-do-cloudu.aspx E!386&parid=30D7E2F2BC3DB6BE!380 E!386&parid=30D7E2F2BC3DB6BE!380 Vytvoření účtu zdarma a bez rizika zcela-bez-finanancniho-rizika-a-zdarma.aspx zcela-bez-finanancniho-rizika-a-zdarma.aspx Odkazy
Windows Azure je běžný operační systém Windows Server 2008 (R2) Prakticky cokoliv lze převést Nutno respektovat specifika spravovaného operačního systému (nastavení práv k souborovému systému, zabezpečení, diagnostika, monitorování, …) SQL Azure je velmi podobný SQL Serveru 2008 Migrace je zpravidla relativně snadná s předvídatelnými obtížemi Testování a zkoušení je možné bezplatně a bez rizika Závěrem