modely aplikací a vývojové strategie pro SQL Server v Azure Virtual Machines
PLATÍ PRO:
SQL Server na virtuálním počítači Azure
Poznámka
Azure má dva různé modely nasazení pro vytváření prostředků a práci s nimi: Správce prostředků a Classic. Tento článek popisuje použití obou modelů, ale Microsoft doporučuje, aby většina nových nasazení používala model Resource Manager.
Souhrn:
rozhodnutí, které modely nebo vzory aplikací, které se mají použít pro aplikace založené na SQL Server v prostředí azure, je důležité rozhodnutí o návrhu. vyžaduje se přitom plně pochopit, jak SQL Server a jednotlivé komponenty infrastruktury Azure spolupracují. díky SQL Server ve službách infrastruktury azure můžete snadno migrovat, udržovat a monitorovat stávající SQL Server aplikace založené na Windowsm serveru na virtuální počítače v Azure.
Cílem tohoto článku je poskytnout architektům řešení a vývojářům základ pro dobrou architekturu a návrh aplikací, které můžou postupovat při migraci stávajících aplikací do Azure a při vývoji nových aplikací v Azure.
Pro každý model aplikace najdete místní scénář, jeho příslušné řešení s podporou cloudu a související technická doporučení. Článek navíc popisuje strategie vývoje specifické pro Azure, abyste mohli správně navrhovat aplikace. Vzhledem k mnoha možným vzorům aplikací doporučujeme, aby architekti a vývojáři zvolili nejvhodnější model pro své aplikace a uživatele.
Techničtí přispěvatelé: Luis Carlos Vargas sleď, Madhan Arumugam Ramakrishnan
Techničtí kontroloři: Corey Sanders, nakreslilo McDaniel, Narayan Annamalai, jmenuji Nir a Mashkowski, Sanjay Mishra, Silvano Coriani, Stefan Schackow, Tim Hickey, Tim Wieman, Xin jin
Úvod
Můžete vyvíjet mnoho typů n-vrstvých aplikací oddělením komponent různých vrstev aplikace na různých počítačích a také v samostatných součástech. Například můžete umístit součásti klientských aplikací a obchodních pravidel do jednoho počítače, do front-endové součásti webové vrstvy a úrovně přístupu k datům v jiném počítači a na úrovni back-end databáze v jiném počítači. Tento druh struktury pomáhá izolovat každou vrstvu od sebe navzájem. Pokud změníte místo, odkud data pocházejí, nemusíte měnit klienta nebo webovou aplikaci, ale pouze součásti úrovně přístupu k datům.
Typická n-vrstvá aplikace zahrnuje prezentační vrstvu, obchodní vrstvu a datovou vrstvu:
| Úroveň | Description |
|---|---|
| Zobrazení | Prezentační vrstva (webová vrstva, front-end úroveň) je vrstva, ve které uživatelé pracují s aplikací. |
| Firemní | Obchodní vrstva (střední vrstva) je vrstva, kterou prezentační vrstva a Datová vrstva používá ke komunikaci mezi sebou a zahrnuje základní funkce systému. |
| Data | Datová vrstva je v podstatě Server, na kterém jsou uložena data aplikace (například server se systémem SQL Server). |
Aplikační vrstvy popisují logická seskupení funkcí a komponent v aplikaci. vzhledem k tomu, že úrovně popisují fyzickou distribuci funkcí a komponent na samostatných fyzických serverech, počítačích, sítích nebo vzdálených umístěních. Vrstvy aplikace se mohou nacházet ve stejném fyzickém počítači (stejné vrstvě) nebo mohou být distribuovány přes samostatné počítače (n-vrstvou) a komponenty v jednotlivých vrstvách komunikují s komponentami v jiných vrstvách prostřednictvím dobře definovaných rozhraní. Pojem úrovně můžete představit jako odkaz na způsoby fyzické distribuce, jako je například dvě vrstva, tři vrstvy a n-vrstvá. Vzor vícevrstvé aplikace obsahuje dvě aplikační vrstvy: aplikační server a databázový server. Mezi aplikačním serverem a databázovým serverem dojde k přímé komunikaci. Aplikační server obsahuje komponenty webové i obchodní vrstvy. Ve vzoru aplikace na 3 vrstvě existují tři aplikační vrstvy: webový server, aplikační server, který obsahuje vrstvu obchodní logiky nebo komponenty pro přístup k datům obchodních vrstev a databázový server. Komunikace mezi webovým serverem a databázovým serverem probíhá prostřednictvím aplikačního serveru. Podrobné informace o vrstvách a úrovních aplikace najdete v tématu Průvodce architekturou aplikací Microsoftu.
než začnete s čtením tohoto článku, měli byste si být vědomi základních konceptů SQL Server a Azure. informace najdete v tématu SQL Server knihy Online, SQL Server v Azure Virtual Machines a Azure.com.
Tento článek popisuje několik vzorů aplikací, které mohou být vhodné pro vaše jednoduché aplikace a také pro vysoce složité podnikové aplikace. před podrobnostem každého vzoru doporučujeme, abyste se seznámili s dostupnými službami datových úložišť v Azure, jako jsou Azure Storage, Azure SQL Databasea SQL Server na virtuálním počítači Azure. Aby se zajistilo, že se pro vaše aplikace vylepší rozhodnutí o návrhu, a to podle toho, kdy se služba Data Storage jasně používá.
v Azure Virtual Machines vyberte SQL Server, když:
potřebujete mít kontrolu nad SQL Server a Windows. to může například zahrnovat verzi SQL Server, speciální opravy hotfix, konfiguraci výkonu atd.
potřebujete plnou kompatibilitu s SQL Server a chcete přesunout existující aplikace do Azure tak, jak jsou.
chcete využívat možnosti prostředí Azure, ale Azure SQL Database nepodporuje všechny funkce, které vaše aplikace vyžaduje. To může zahrnovat následující oblasti:
- velikost databáze: v době, kdy se tento článek aktualizoval, SQL Database podporuje databázi o velikosti až 1 TB dat. pokud vaše aplikace vyžaduje více než 1 TB dat a nechcete implementovat vlastní řešení horizontálního dělení, doporučujeme použít SQL Server na virtuálním počítači Azure. nejnovější informace najdete v tématu horizontální navýšení kapacity Azure SQL Database, nákupní model založený na DTUa vCoreý model nákupu(preview).
- HIPAA dodržování předpisů: zdravotní péče a nezávislí výrobci softwaru (isv) mohou zvolit SQL Server v azure Virtual Machines namísto Azure SQL Database , protože SQL Server na azure Virtual Machines se zabývá smlouvou HIPAA Business přidružte Agreement (BAA). informace o dodržování předpisů najdete v tématu Microsoft Azure Trust Center: dodržování předpisů.
- funkce na úrovni Instance: v současné době SQL Database nepodporuje funkce, které jsou živé mimo databázi (například propojené servery, úlohy agenta, FileStream, Service Broker atd.). další informace najdete v tématu pokyny a omezení pro Azure SQL Database.
1 vrstva (jednoduchá): jeden virtuální počítač
v tomto modelu aplikace nasadíte svou aplikaci SQL Server a databázi do samostatného virtuálního počítače v Azure. Stejný virtuální počítač obsahuje vaše klientské/webové aplikace, obchodní komponenty, vrstvy přístupu k datům a databázový server. Kód pro prezentace, obchodní a přístup k datům je logicky oddělený, ale fyzicky se nachází v počítači s jedním serverem. Většina zákazníků začíná s tímto modelem aplikace a následně se škáluje přidáním dalších webových rolí nebo virtuálních počítačů do systému.
Tento model aplikace je užitečný v těchto případech:
- Chcete provést jednoduchou migraci na platformu Azure a vyhodnotit, jestli platforma odpovídá požadavkům vaší aplikace, nebo ne.
- Chcete zachovat všechny aplikační vrstvy hostované ve stejném virtuálním počítači ve stejném datovém centru Azure, abyste snížili latenci mezi úrovněmi.
- Chcete rychle zřídit vývojové a testovací prostředí pro krátkou dobu.
- Chcete provést zátěžové testování pro různé úrovně úloh, ale zároveň nechcete, aby se všechny fyzické počítače udržovaly po celou dobu.
Následující diagram znázorňuje jednoduchý místní scénář a způsob nasazení jeho řešení s podporou cloudu na jednom virtuálním počítači v Azure.

Nasazení obchodní vrstvy (komponenty Business Logic a Data Access) na stejné fyzické úrovni, když je prezentační vrstva, může maximalizovat výkon aplikace, pokud nemusíte používat samostatnou vrstvu z důvodu škálovatelnosti nebo zabezpečení.
vzhledem k tomu, že se jedná o velmi společný vzor, který je možné začít používat, můžete najít následující článek o migraci, která je užitečná pro přesunutí vašich dat na virtuální počítač SQL Server: migrace databáze na SQL Server na virtuálním počítači Azure.
3 – vrstva (jednoduchá): více virtuálních počítačů
V tomto modelu aplikace nasadíte na Azure na jiném virtuálním počítači vrstvu aplikace na 3 vrstvě. Díky tomu získáte flexibilní prostředí pro snadné škálování a škálování na více instancí. Pokud jeden virtuální počítač obsahuje vaše klientské/webové aplikace, druhý hostitel, který je součástí vaší firmy, a druhý, který je hostitelem databázového serveru.
Tento model aplikace je užitečný v těchto případech:
- Chcete provést migraci komplexních databázových aplikací do Azure Virtual Machines.
- Chcete, aby různé aplikační vrstvy byly hostovány v různých oblastech. Můžete mít například sdílené databáze nasazené do více oblastí pro účely generování sestav.
- Chcete přesunout podnikové aplikace z místních virtualizovaných platforem do Azure Virtual Machines. podrobné informace o podnikových aplikacích najdete v tématu co je Enterprise aplikace.
- Chcete rychle zřídit vývojové a testovací prostředí pro krátkou dobu.
- Chcete provést zátěžové testování pro různé úrovně úloh, ale zároveň nechcete, aby se všechny fyzické počítače udržovaly po celou dobu.
Následující obrázek ukazuje, jak můžete umístit jednoduchou 3D aplikaci do Azure tím, že na jiný virtuální počítač umístíte každou vrstvu aplikace.

V tomto modelu aplikace je v každé vrstvě jenom jeden virtuální počítač. Pokud máte v Azure více virtuálních počítačů, doporučujeme nastavit virtuální síť. Azure Virtual Network vytvoří hranici důvěryhodného zabezpečení a zároveň umožňuje virtuálním počítačům komunikovat mezi sebou přes privátní IP adresu. Kromě toho vždy zajistěte, aby všechna připojení k Internetu přešla pouze do prezentační vrstvy. Při použití tohoto modelu aplikace spravujte pravidla skupiny zabezpečení sítě, abyste mohli řídit přístup. Další informace najdete v tématu Povolení externího přístupu k virtuálnímu počítači pomocí Azure Portal.
V diagramu mohou být protokoly sítě Internet TCP, UDP, HTTP nebo HTTPS.
Poznámka
Nastavení virtuální sítě v Azure je zdarma. Účtuje se ale za bránu VPN, která se připojuje k místnímu prostředí. Tento poplatek vychází z doby, po kterou je připojení zřízené a dostupné.
Oboustranná a 3 vrstva s možností škálování na více instancí prezentační vrstvy
V tomto modelu aplikace nasadíte 2 nebo 3-vrstvou databázovou aplikaci do Azure Virtual Machines tím, že každou vrstvu aplikace umístíte na jiný virtuální počítač. Kromě toho můžete škálovat vrstvu prezentace z důvodu zvýšeného objemu příchozích požadavků klientů.
Tento model aplikace je užitečný v těchto případech:
- Chcete přesunout podnikové aplikace z místních virtualizovaných platforem do Azure Virtual Machines.
- Chcete škálovat vrstvu prezentace z důvodu zvýšeného objemu příchozích požadavků klientů.
- Chcete rychle zřídit vývojové a testovací prostředí pro krátkou dobu.
- Chcete provést zátěžové testování pro různé úrovně úloh, ale zároveň nechcete, aby se všechny fyzické počítače udržovaly po celou dobu.
- Chcete vlastnit prostředí infrastruktury, které může na vyžádání škálovat nahoru a dolů.
Následující diagram ukazuje, jak můžete umístit aplikační vrstvy do několika virtuálních počítačů v Azure horizontálním navýšením kapacity prezentační vrstvy z důvodu zvýšeného objemu příchozích klientských požadavků. Jak je vidět v diagramu, Azure Load Balancer za distribuci provozu mezi více virtuálních počítačů a také za určení webového serveru, ke kterému se chcete připojit. Více instancí webových serverů za nástroj pro vyrovnávání zatížení zajišťuje vysokou dostupnost prezentační vrstvy.

Osvědčené postupy pro 2vrstvé, 3vrstvé nebo n-vrstvé vzory s více virtuálními počítače v jedné vrstvě
Doporučujeme umístit virtuální počítače, které patří do stejné úrovně, do stejné cloudové služby a do stejné skupiny dostupnosti. Například umístěte sadu webových serverů do CloudService1 a AvailabilitySet1 a sadu databázových serverů v CloudService2 a AvailabilitySet2. Sada dostupnosti v Azure umožňuje umístit uzly s vysokou dostupností do samostatných domén selhání a upgradovaných domén.
Pokud chcete využít více instancí virtuálních počítače vrstvy, musíte nakonfigurovat Azure Load Balancer mezi aplikačními vrstvami. Pokud chcete Load Balancer na jednotlivých úrovních, vytvořte na virtuálních počítačech jednotlivých vrstev koncový bod s vyrovnáváním zatížení zvlášť. Pro konkrétní úroveň nejprve vytvořte virtuální počítače ve stejné cloudové službě. Tím se zajistí, že budou mít stejnou veřejnou virtuální IP adresu. Dále na jednom z virtuálních počítačů na této úrovni vytvořte koncový bod. Pak přiřaďte stejný koncový bod ostatním virtuálním počítačům v této vrstvě pro vyrovnávání zatížení. Vytvořením sady s vyrovnáváním zatížení distribuujete provoz mezi několik virtuálních počítačů a také umožníte službě Load Balancer určit, který uzel se má připojit, když selže uzel back-endového virtuálního počítače. Například více instancí webových serverů za nástroj pro vyrovnávání zatížení zajišťuje vysokou dostupnost prezentační vrstvy.
Osvědčeným postupem je vždy zajistit, aby všechna připojení k internetu nejprve byla v prezentační vrstvě. Prezentační vrstva přistupuje k obchodní vrstvě a pak k datové vrstvě přistupuje. Další informace o tom, jak povolit přístup k prezentační vrstvě, najdete v tématu Povolení externího přístupu k virtuálnímu počítači pomocí Azure Portal.
Upozorňujeme, Load Balancer v Azure funguje podobně jako nástroje pro vyrovnávání zatížení v místním prostředí. Další informace najdete v tématu Vyrovnávání zatížení pro služby infrastruktury Azure.
Kromě toho doporučujeme nastavit privátní síť pro virtuální počítače pomocí azure Virtual Network. To jim umožňuje komunikovat mezi sebou přes privátní IP adresu. Další informace najdete v tématu Azure Virtual Network.
2-vrstvá a 3vrstvá s horizontálním navýšením velikosti obchodní vrstvy
V tomto aplikačním modelu nasadíte 2-vrstvou nebo 3vrstvou databázová aplikace do azure Virtual Machines umístěním jednotlivých aplikačních vrstev do jiného virtuálního počítače. Kromě toho můžete kvůli složitosti aplikace chtít distribuovat komponenty aplikačního serveru do několika virtuálních počítačů.
Tento vzor aplikace je užitečný v případě, že:
- Chcete přesunout podnikové aplikace z místních virtualizovaných platforem do Azure Virtual Machines.
- Komponenty aplikačního serveru chcete kvůli složitosti vaší aplikace distribuovat do několika virtuálních počítačů.
- Chcete přesunout místní obchodní aplikace (obchodní) náročné na obchodní logiku do Azure Virtual Machines. Obchodní aplikace jsou sada důležitých počítačových aplikací, které jsou nezbytné pro provoz podniku, jako jsou účetní, personální oddělení, mzdy, správa dodavatelského řetězce a aplikace pro plánování zdrojů.
- Chcete rychle zřídit vývojová a testovací prostředí na krátkou dobu.
- Chcete provádět zátěžové testování pro různé úrovně úloh, ale zároveň nechcete vlastnit a udržovat mnoho fyzických počítačů po celou dobu.
- Chcete vlastnit prostředí infrastruktury, které může na vyžádání škálovat nahoru a dolů.
Následující diagram znázorňuje místní scénář a jeho cloudové řešení. V tomto scénáři umístěte aplikační vrstvy do několika virtuálních počítačů v Azure horizontálním navýšením kapacity obchodní vrstvy, která obsahuje úroveň obchodní logiky a komponenty pro přístup k datům. Jak je vidět v diagramu, Azure Load Balancer za distribuci provozu mezi více virtuálních počítačů a také za určení webového serveru, ke kterému se chcete připojit. Více instancí aplikačních serverů za nástroj pro vyrovnávání zatížení zajišťuje vysokou dostupnost obchodní vrstvy. Další informace najdete v tématu Osvědčené postupy pro 2vrstvé, 3vrstvé nebo n-vrstvéaplikační vzory, které mají více virtuálních počítačů v jedné vrstvě.

2-vrstvá a 3vrstvá s horizontálním navýšením velikosti prezentačních a obchodních úrovní a hadr
V tomto aplikačním modelu nasadíte 2-vrstvou nebo 3vrstvou databázovou aplikaci do služby Azure Virtual Machines tak, že distribuujete prezentační vrstvu (webový server) a komponenty obchodní vrstvy (aplikační server) do několika virtuálních počítačů. Kromě toho implementujete řešení vysoké dostupnosti a zotavení po havárii (HADR) pro vaše databáze v Azure Virtual Machines.
Tento vzor aplikace je užitečný v případě, že:
- Chcete přesunout podnikové aplikace z virtualizovaných platforem v místním prostředí do Azure implementací SQL Server vysokou dostupností a možnostmi zotavení po havárii.
- Chcete škálovat prezentační a obchodní vrstvu na více z důvodu zvýšeného objemu příchozích požadavků klientů a složitosti vaší aplikace.
- Chcete rychle zřídit vývojová a testovací prostředí na krátkou dobu.
- Chcete provádět zátěžové testování pro různé úrovně úloh, ale zároveň nechcete vlastnit a udržovat mnoho fyzických počítačů po celou dobu.
- Chcete vlastnit prostředí infrastruktury, které může na vyžádání škálovat nahoru a dolů.
Následující diagram znázorňuje místní scénář a jeho cloudové řešení. V tomto scénáři škálovat prezentační úroveň a komponenty obchodní vrstvy na více virtuálních počítačů v Azure. Kromě toho implementujete techniky vysoké dostupnosti a zotavení po havárii (HADR) pro SQL Server databáze v Azure.
Spouštění více kopií aplikace na různých virtuálních počítači se ujistěte, že mezi nimi používáte požadavky na vyrovnávání zatížení. Pokud máte více virtuálních počítačů, musíte zajistit, aby všechny vaše virtuální počítače byly přístupné a spuštěné v jednom okamžiku. Pokud nakonfigurujete vyrovnávání zatížení, Azure Load Balancer sleduje stav virtuálních počítače a správně směruje příchozí volání na funkční uzly virtuálních počítače. Informace o tom, jak nastavit vyrovnávání zatížení virtuálních počítačů, najdete v tématu Vyrovnávání zatížení pro služby infrastruktury Azure. Více instancí webových a aplikačních serverů za nástroj pro vyrovnávání zatížení zajišťuje vysokou dostupnost prezentačních a obchodních vrstev.

Osvědčené postupy pro vzory aplikací vyžadující SQL HADR
Při nastavování řešení vysoké dostupnosti SQL Server zotavení po havárii v Azure Virtual Machines je nastavení virtuální sítě pro virtuální počítače pomocí azure Virtual Network povinné. Virtuální počítače v rámci Virtual Network budou mít stabilní privátní IP adresu i po výpadku služby, takže se můžete vyhnout době aktualizace potřebné k překladu názvů DNS. Virtuální síť navíc umožňuje rozšířit místní síť do Azure a vytvořit důvěryhodnou hranici zabezpečení. Pokud má vaše aplikace například omezení podnikové domény (například ověřování Windows, Active Directory), je nastavení služby Azure Virtual Network nezbytné.
Většina zákazníků, kteří v Azure provozují produkční kód, udržuje primární i sekundární repliky v Azure.
Komplexní informace a kurzy o technikách vysoké dostupnosti a zotavení po havárii najdete v tématu Vysoká dostupnost a zotavení po havárii pro SQL Server v Azure Virtual Machines.
2-vrstvá a 3vrstvá s využitím Azure Virtual Machines a Cloud Services
V tomto aplikačním modelu nasadíte do Azure 2-vrstvou nebo 3vrstvou aplikaci pomocí rolí Azure Cloud Services (webová role i role pracovního procesu – Platforma jako služba (PaaS)) a Azure Virtual Machines (infrastruktura jako služba (IaaS)). Použití Azure Cloud Services prezentační vrstvy nebo obchodní vrstvy a SQL Server v Azure Virtual Machines pro datovou vrstvu je výhodné pro většinu aplikací spuštěných v Azure. Důvodem je to, že výpočetní instance běžící na virtuálních Cloud Services poskytuje snadnou správu, nasazení, monitorování a škálování na více instancí.
V Cloud Services azure udržuje infrastrukturu za vás, provádí rutinní údržbu, opravuje operační systémy a pokouší se zotavit ze selhání služeb a hardwaru. Pokud vaše aplikace potřebuje škálování na více instancí, jsou pro projekt cloudové služby dostupné možnosti automatického a ručního škálování na více instancí, a to zvýšením nebo snížením počtu instancí nebo virtuálních počítačů, které vaše aplikace používá. Kromě toho můžete k nasazení aplikace do projektu cloudové Visual Studio v Azure použít místní úložiště.
Pokud nechcete vlastnit rozsáhlé úlohy správy pro prezentační nebo obchodní vrstvu a vaše aplikace nevyžaduje žádnou složitou konfiguraci softwaru nebo operačního systému, použijte Azure Cloud Services. Pokud Azure SQL Database nepodporuje všechny funkce, které hledáte, použijte SQL Server na virtuálním počítači Azure pro datovou vrstvu. Spuštění aplikace v Azure Cloud Services a ukládání dat v Azure Virtual Machines kombinuje výhody obou služeb. Podrobné porovnání najdete v části v tomto tématu o porovnání strategií vývoje v Azure.
V tomto aplikačním modelu prezentační vrstva obsahuje webovou roli, což je komponenta Cloud Services spuštěná v prostředí pro spouštění Azure a je přizpůsobená pro programování webových aplikací podle toho, jak je podporováno službou IIS Cloud Services ASP.NET. Obchodní nebo back-endová vrstva zahrnuje roli pracovního procesu, což je komponenta Cloud Services spuštěná v prostředí pro spouštění Azure, která je užitečná pro generalizovaný vývoj a může pro webovou roli provádět zpracování na pozadí. Databázová vrstva se nachází v SQL Server virtuálním počítači v Azure. Komunikace mezi prezentační a databázovou vrstvou probíhá přímo nebo přes obchodní vrstvu – komponenty role pracovního procesu.
Tento vzor aplikace je užitečný v případě, že:
- Chcete přesunout podnikové aplikace z virtualizovaných platforem v místním prostředí do Azure implementací SQL Server vysokou dostupností a možnostmi zotavení po havárii.
- Chcete vlastnit prostředí infrastruktury, které může na vyžádání škálovat nahoru a dolů.
- Azure SQL Database nepodporuje všechny funkce, které vaše aplikace nebo databáze potřebuje.
- Chcete provádět zátěžové testování pro různé úrovně úloh, ale zároveň nechcete vlastnit a udržovat mnoho fyzických počítačů po celou dobu.
Následující diagram znázorňuje místní scénář a jeho cloudové řešení. V tomto scénáři umístěte prezentační vrstvu do webových rolí, obchodní vrstvu v rolích pracovního procesu, ale datovou vrstvu na virtuálních počítačích v Azure. Spuštění více kopií prezentační vrstvy v různých webových rolích zajišťuje vyrovnávání zatížení požadavků mezi nimi. Při kombinování Azure Cloud Services s Azure Virtual Machines doporučujeme nastavit také azure Virtual Network. S Azure Virtual Networkmůžete mít stabilní a trvalé privátní IP adresy v rámci stejné cloudové služby v cloudu. Jakmile definujete virtuální síť pro virtuální počítače a cloudové služby, mohou mezi sebou začít komunikovat přes privátní IP adresu. Kromě toho virtuální počítače a webové role a role pracovního procesu Azure ve stejné službě Azure Virtual Network poskytuje nízkou latenci a bezpečnější připojení. Další informace najdete v tématu Co je cloudová služba.
Jak je vidět v diagramu, Azure Load Balancer provoz mezi několik virtuálních počítačů a také určuje, ke kterému webovému serveru nebo aplikačnímu serveru se má připojit. Více instancí webových a aplikačních serverů za nástroj pro vyrovnávání zatížení zajišťuje vysokou dostupnost prezentační a obchodní vrstvy. Další informace najdete v tématu Osvědčené postupy pro vzory aplikací vyžadující SQL HADR.

Dalším přístupem k implementaci tohoto aplikačního modelu je použití konsolidované webové role, která obsahuje prezentační i obchodní vrstvy komponenty, jak je znázorněno v následujícím diagramu. Tento model aplikace je vhodný pro aplikace, které vyžadují stavový návrh. vzhledem k tomu, že Azure poskytuje bezstavové výpočetní uzly na webových a pracovních rolích, doporučujeme implementovat logiku pro ukládání stavu relace pomocí jedné z následujících technologií: azure Ukládání do mezipaměti, azure Table Storage nebo Azure SQL Database.

vzor s Azure Virtual Machines, Azure SQL Database a Azure App Service (Web Apps)
Hlavním cílem tohoto modelu aplikace je Ukázat, jak kombinovat komponenty infrastruktury jako služby (IaaS) Azure s komponentami Azure Platform-as-a-Service (PaaS) ve vašem řešení. tento model se zaměřuje na Azure SQL Database pro relační úložiště dat. nezahrnuje SQL Server na virtuálním počítači Azure, který je součástí infrastruktury Azure jako nabídky služeb.
v tomto modelu aplikace nasadíte databázovou aplikaci do Azure tím, že umístíte prezentační a obchodní vrstvy do stejného virtuálního počítače a získáte přístup k databázi na serverech Azure SQL Database (SQL Database). Prezentační vrstvu můžete implementovat pomocí tradičních webových řešení založených na službě IIS. Nebo můžete implementovat kombinovanou prezentační a obchodní vrstvu pomocí Azure App Service.
Tento model aplikace je užitečný v těchto případech:
- už máte v Azure nakonfigurovaný existující SQL Database server a chcete aplikaci testovat rychle.
- Chcete testovat možnosti prostředí Azure.
- Chcete rychle zřídit vývojové a testovací prostředí pro krátkou dobu.
- Vaše obchodní logika a komponenty pro přístup k datům můžou být v rámci webové aplikace samostatně obsažené.
Následující diagram znázorňuje místní scénář a jeho řešení s podporou cloudu. V tomto scénáři umístíte aplikační vrstvy do jediného virtuálního počítače v Azure a získáte přístup k datům v Azure SQL Database.

Pokud se rozhodnete implementovat kombinaci webových a aplikačních vrstev pomocí Azure Web Apps, doporučujeme, abyste zachovali střední vrstvu nebo aplikační vrstvu jako knihovny DLL (Dynamic Link Library) v kontextu webové aplikace.
Kromě toho si přečtěte doporučení v části porovnání strategií vývoje webu v Azure na konci tohoto článku, kde najdete další informace o technikách programování.
N-vrstvý vzor hybridní aplikace
Ve vzoru hybridní aplikace v n-vrstvách implementujete svou aplikaci na více úrovních distribuovaných mezi místními prostředími a Azure. Proto vytvoříte flexibilní a opakovaně použitelný hybridní systém, který můžete upravit nebo přidat, aniž byste museli měnit ostatní úrovně. Pokud chcete svou podnikovou síť rozšíříte do cloudu, použijte službu Azure Virtual Network .
Tento vzor hybridní aplikace je užitečný v těchto případech:
- Chcete sestavovat aplikace, které běží částečně v cloudu, a částečně místně.
- Chcete migrovat některé nebo všechny prvky existující místní aplikace do cloudu.
- Chcete přesunout podnikové aplikace z místních virtualizovaných platforem do Azure.
- Chcete vlastnit prostředí infrastruktury, které se může na vyžádání škálovat nahoru a dolů.
- Chcete rychle zřídit vývojové a testovací prostředí pro krátkou dobu.
- Potřebujete nákladově efektivní způsob, jak vytvářet zálohy pro podnikové databázové aplikace.
Následující diagram znázorňuje model hybridní aplikace v n-vrstvách, který je rozložený mezi místními a Azure. Jak je znázorněno v diagramu, místní infrastruktura zahrnuje Active Directory Domain Services řadič domény pro podporu ověřování a autorizace uživatelů. Všimněte si, že diagram znázorňuje scénář, ve kterém některé části datové vrstvy žijí v místním datovém centru, zatímco některé části datové vrstvy jsou v Azure živé. V závislosti na potřebách vaší aplikace můžete implementovat několik dalších hybridních scénářů. Můžete například uchovávat prezentační vrstvu a obchodní vrstvu v místním prostředí, ale datovou vrstvu v Azure.

v Azure můžete jako samostatný cloudový adresář pro vaši organizaci použít službu Active directory, nebo můžete integrovat stávající místní službu active directory s Azure Active Directory. jak je vidět v diagramu, komponenty obchodní vrstvy mají přístup k několika zdrojům dat, jako je například SQL Server v Azure prostřednictvím privátní interní IP adresy, místní SQL Server prostřednictvím Azure Virtual Networknebo SQL Database technologie poskytovatele dat .NET Framework. v tomto diagramu je Azure SQL Database volitelnou službou data storage.
Ve vzoru hybridní aplikace v n-vrstvách můžete implementovat následující pracovní postup v zadaném pořadí:
Identifikujte podnikové databázové aplikace, které je potřeba přesunout do cloudu pomocí Microsoft Assessment and Planning (map) Toolkit. mapa Toolkit shromažďuje data inventáře a výkonu z počítačů, u kterých zvažujete virtualizaci, a poskytuje doporučení pro plánování kapacity a hodnocení.
Naplánujte prostředky a konfiguraci potřebné na platformě Azure, jako jsou účty úložiště a virtuální počítače.
Nastavte připojení k síti mezi podnikovou a místní sítí a Virtual Network Azure. Pokud chcete nastavit připojení mezi podnikovou sítí a virtuálním počítačem v Azure, použijte jednu z následujících dvou metod:
Navažte spojení mezi místními a Azure prostřednictvím veřejných koncových bodů na virtuálním počítači v Azure. tato metoda poskytuje snadnou instalaci a umožňuje ve vašem virtuálním počítači používat ověřování SQL Server. Kromě toho nastavte pravidla skupiny zabezpečení sítě pro řízení veřejného provozu virtuálního počítače. Další informace najdete v tématu Povolení externího přístupu k virtuálnímu počítači pomocí Azure Portal.
Navažte spojení mezi místními a Azure prostřednictvím tunelového připojení virtuální privátní sítě (VPN) Azure. Tato metoda umožňuje rozšiřování zásad domény na virtuální počítač v Azure. kromě toho můžete nastavit pravidla brány firewall a použít Windows ověřování na svém virtuálním počítači. V současné době podporuje Azure zabezpečená připojení VPN typu Site-to-site a VPN typu Point-to-site:
- Díky zabezpečenému připojení Site-to-site můžete vytvořit připojení k síti mezi vaší místní sítí a virtuální sítí v Azure. Doporučuje se připojit vaše místní prostředí datového centra k Azure.
- Díky zabezpečenému připojení Point-to-site můžete vytvořit připojení k síti mezi vaší virtuální sítí v Azure a jednotlivými počítači, na kterých běží kdekoli. Většinou se doporučuje pro účely vývoje a testování.
informace o tom, jak se připojit k SQL Server v azure, najdete v tématu Připojení na SQL Server virtuální počítač v azure.
Nastavte naplánované úlohy a výstrahy, které zálohují místní data na disku virtuálního počítače v Azure. další informace najdete v tématu SQL Server zálohování a obnovování pomocí služby azure Blob storage a zálohování a obnovení pro SQL Server v Azure Virtual Machines.
V závislosti na potřebách vaší aplikace můžete implementovat jeden z následujících tří běžných scénářů:
- Webový server, aplikační server a citlivá data můžete zachovat na databázovém serveru v Azure, zatímco místní citlivá data budete uchovávat místně.
- Webový server a aplikační server můžete uchovávat v místním prostředí, zatímco databázový server ve virtuálním počítači v Azure.
- Svůj databázový server, webový server a aplikační server můžete uchovávat v místním prostředí, zatímco repliky databáze na virtuálních počítačích v Azure udržujete. Toto nastavení povoluje místním webovým serverům nebo aplikacím pro vytváření sestav přístup k replikám databáze v Azure. Proto můžete dosáhnout snížení zatížení v místní databázi. Doporučujeme, abyste tento scénář implementovali pro náročné úlohy čtení a vývojové účely. informace o vytváření replik databáze v azure najdete v tématu Skupiny dostupnosti AlwaysOn při vysoké dostupnosti a zotavení po havárii pro SQL Server v azure Virtual Machines.
Porovnání strategií vývoje webu v Azure
k implementaci a nasazení vícevrstvé aplikace založené na SQL Server v Azure můžete použít jednu z následujících dvou programovacích metod:
- nastavení tradičního webového serveru (IIS-Internetová informační služba) v azure a přístup k databázím v SQL Server v azure Virtual Machines.
- Implementujte a nasaďte cloudovou službu do Azure. pak se ujistěte, že tato cloudová služba má přístup k databázím v SQL Server v Azure Virtual Machines. Cloudová služba může zahrnovat několik webových a pracovních rolí.
v následující tabulce najdete porovnání tradičního vývoje webu pomocí azure Cloud Services a azure Web Apps s ohledem na SQL Server na Virtual Machines azure. tabulka zahrnuje Azure Web Apps, protože je možné použít SQL Server na virtuálním počítači azure jako zdroj dat pro azure Web Apps prostřednictvím veřejné virtuální IP adresy nebo názvu DNS.
| Tradiční vývoj pro web v Azure Virtual Machines | Cloudové služby v Azure | Hostování webů pomocí Azure Web Apps | |
|---|---|---|---|
| Migrace aplikace z místního prostředí | Existující aplikace tak, jak jsou. | Aplikace potřebují webové a pracovní role. | Stávající aplikace jsou tak, jak jsou, ale jsou vhodné pro webové aplikace a webové služby, které vyžadují rychlou škálovatelnost. |
| Vývoj a nasazení | Visual Studio, webmatrix, Visual Web Developer, webdeploy, FTP, TFS, IIS Manager, PowerShell. | Visual Studio, Azure SDK, TFS, PowerShell. Každá cloudová služba má dvě prostředí, do kterých můžete nasadit balíček a konfiguraci služby: pracovní a produkční. Cloudovou službu můžete nasadit do přípravného prostředí a otestovat ji před tím, než ji povýšíte do produkčního prostředí. | Visual Studio, webmatrix, Visual Web Developer, FTP, GIT, BitBucket, CodePlex, DropBox, GitHub, Mercurial, TFS, Nasazení webu, PowerShell. |
| Správa a instalace | Zodpovídáte za úlohy správy aplikace, dat, pravidel brány firewall, virtuální sítě a operačního systému. | Zodpovídáte za úlohy správy aplikace, data, pravidla brány firewall a virtuální sítě. | Zodpovídáte za úlohy správy jenom pro aplikace a data. |
| Vysoká dostupnost a zotavení po havárii (HADR) | Virtuální počítače doporučujeme umístit do stejné skupiny dostupnosti a do stejné cloudové služby. Udržování virtuálních počítačů ve stejné skupině dostupnosti umožňuje, aby Azure umístil uzly vysoké dostupnosti do samostatných domén selhání a upgradovacích domén. Podobně platí, že virtuální počítače ve stejné cloudové službě umožňují vyrovnávání zatížení a virtuální počítače přímo komunikovat přes místní síť v rámci datového centra Azure. zodpovídáte za implementaci řešení vysoké dostupnosti a zotavení po havárii pro SQL Server v Azure Virtual Machines, abyste se vyhnuli výpadkům. podporované technologie HADR najdete v tématu vysoká dostupnost a zotavení po havárii pro SQL Server v Azure Virtual Machines. Zodpovídáte za zálohování vašich vlastních dat a aplikací. Azure může přesunout virtuální počítače, pokud se hostitelský počítač v datovém centru nezdařil z důvodu problémů s hardwarem. Kromě toho by mohlo dojít ke plánovanému výpadku vašeho virtuálního počítače, když je hostitelský počítač aktualizován z důvodu zabezpečení nebo aktualizací softwaru. Proto doporučujeme udržovat alespoň dva virtuální počítače v každé vrstvě aplikace, aby se zajistila nepřetržitá dostupnost. Azure neposkytuje smlouvu SLA pro jeden virtuální počítač. |
Azure spravuje selhání vyplývající z základního softwaru hardwaru nebo operačního systému. Doporučujeme, abyste implementovali více instancí webové role nebo role pracovního procesu, abyste zajistili vysokou dostupnost vaší aplikace. Informace najdete v tématu Cloud Services, Virtual Machines a Virtual Network smlouva SLA. Zodpovídáte za zálohování vašich vlastních dat a aplikací. pro databáze nacházející se v databázi SQL Server na virtuálním počítači Azure zodpovídáte za implementaci řešení vysoké dostupnosti a zotavení po havárii, abyste se vyhnuli výpadkům. podporované technologie HDAR najdete v tématu vysoká dostupnost a zotavení po havárii pro SQL Server v Azure Virtual Machines. SQL Server zrcadlení databáze: použijte službu Azure Cloud Services (web/role pracovního procesu). SQL Server Virtuální počítače a projekt cloudové služby můžou být ve stejném Virtual Network Azure. pokud SQL Server virtuální počítač není ve stejném Virtual Network, budete muset vytvořit SQL Server Alias ke směrování komunikace s instancí SQL Server. kromě toho musí název aliasu odpovídat názvu SQL Server. |
Vysoká dostupnost se dědí z rolí pracovních procesů Azure, úložiště objektů BLOB v Azure a Azure SQL Database. Azure Storage například udržuje tři repliky všech dat objektů blob, tabulek a front. v jednom okamžiku Azure SQL Database udržuje tři repliky dat, jednu primární repliku a dvě sekundární repliky. další informace najdete v tématu Azure Storage a Azure SQL Database. při použití SQL Server na virtuálním počítači azure jako zdroj dat pro azure Web Apps pamatujte na to, že azure Web Apps nepodporuje Virtual Network azure. jinými slovy, všechna připojení z azure Web Apps k SQL Server virtuálním počítačům v azure musí projít veřejnými koncovými body virtuálních počítačů. To může způsobit některá omezení pro scénáře vysoké dostupnosti a zotavení po havárii. například klientská aplikace v azure Web Apps připojení k SQL Servermu virtuálnímu počítači s zrcadlením databáze by se nemohla připojit k novému primárnímu serveru, protože zrcadlení databáze vyžaduje, abyste nastavili Azure Virtual Network mezi SQL Server hostitelskými virtuálními počítači v Azure. proto se použití SQL Server zrcadlení databáze s Azure Web Apps v současnosti nepodporuje. SQL Server Skupiny dostupnosti AlwaysOn: při použití Web Apps Azure s SQL Server virtuálními počítači v Azure můžete nastavit Skupiny dostupnosti AlwaysOn. Musíte ale nakonfigurovat naslouchací proces skupiny dostupnosti AlwaysOn pro směrování komunikace s primární replikou prostřednictvím veřejných koncových bodů s vyrovnáváním zatížení. |
| Připojení mezi místními sítěmi | K místnímu připojení můžete použít Azure Virtual Network. | K místnímu připojení můžete použít Azure Virtual Network. | Podporuje se Azure Virtual Network. Další informace najdete v tématu Web Apps Virtual Network Integration. |
| Škálovatelnost | Horizontální navýšení kapacity je dostupné zvýšením velikosti virtuálních počítačů nebo přidáním dalších disků. Další informace o velikostech virtuálních počítačů najdete v tématu velikosti virtuálních počítačů v Azure. pro databázový Server: horizontální navýšení kapacity je k dispozici prostřednictvím technik vytváření oddílů databáze a SQL Server skupin dostupnosti AlwaysOn. pro úlohy s velkým množstvím čtení můžete použít Skupiny dostupnosti AlwaysOn na několika sekundárních uzlech i na SQL Server replikaci. Pro úlohy s velkým zápisem můžete implementovat horizontální data dělení na více fyzických serverech, aby se zajistilo škálování aplikace. kromě toho můžete implementovat horizontální navýšení kapacity pomocí SQL Server se směrováním závislým na datech. v případě směrování závislého na datech (DDR) je nutné implementovat mechanismus dělení v klientské aplikaci, obvykle v úrovni obchodní vrstvy, pro směrování požadavků databáze na více SQL Serverch uzlů. Obchodní vrstva obsahuje mapování, jak jsou data rozdělená na oddíly a která uzel obsahuje data. Můžete škálovat aplikace, na kterých běží virtuální počítače. Další informace najdete v tématu Jak škálovat aplikaci. Důležité upozornění: funkce automatického škálování v Azure umožňuje automatické zvýšení nebo snížení počtu virtuálních počítačů, které vaše aplikace používá. Tato funkce zaručuje, že činnost koncového uživatele nemá negativní dopad na dobu špičky a virtuální počítače se po nízkém zatížení vypnou. doporučujeme, abyste pro cloudovou službu nestavili možnost automatického škálování, pokud zahrnuje SQL Server virtuálních počítačů. Důvodem je, že funkce automatického škálování umožňuje službě Azure zapnout virtuální počítač, když je využití procesoru na tomto VIRTUÁLNÍm počítači vyšší než určité prahové hodnoty, a vypnout virtuální počítač, když je využití procesoru nižší než. Funkce automatického škálování je užitečná pro bezstavové aplikace, jako jsou třeba webové servery, kde libovolný virtuální počítač může spravovat úlohy bez jakýchkoli odkazů na předchozí stav. funkce automatického škálování ale není užitečná pro stavové aplikace, jako je například SQL Server, kde pouze jedna instance umožňuje zápis do databáze. |
Horizontální navýšení kapacity je dostupné pomocí několika webových a pracovních rolí. Další informace o velikostech virtuálních počítačů pro webové role a role pracovního procesu najdete v tématu Konfigurace velikostí pro Cloud Services. Při použití Cloud Services můžete definovat více rolí pro distribuci zpracování a také dosáhnout flexibilního škálování aplikace. Každá cloudová služba zahrnuje jednu nebo více webových rolí a rolí pracovních procesů, z nichž každý má vlastní soubory a konfiguraci aplikace. Můžete škálovat cloudovou službu zvýšením počtu instancí rolí (virtuálních počítačů) nasazených pro roli a škálovat cloudovou službu snížením počtu instancí rolí. Podrobné informace najdete v tématu modely spouštění Azure. Škálování na více instancí je dostupné prostřednictvím integrované podpory Azure s vysokou dostupností prostřednictvím Cloud Services, Virtual Machines a Virtual Network smlouva SLA a Load Balancer. Pro vícevrstvé aplikace doporučujeme připojit aplikaci webové aplikace a role pracovního procesu k virtuálním počítačům s databázovým serverem prostřednictvím Azure Virtual Network. Kromě toho Azure poskytuje vyrovnávání zatížení pro virtuální počítače ve stejné cloudové službě a šíří požadavky uživatelů napříč nimi. Virtuální počítače připojené tímto způsobem můžou přímo komunikovat přes místní síť v rámci datového centra Azure. Automatické škálování můžete nastavit na Azure Portal a také na časy plánování. Další informace najdete v tématu Konfigurace automatického škálování pro cloudovou službu na portálu. |
Horizontální navýšení a snížení kapacity: můžete zvětšit nebo zmenšit velikost instance (virtuálního počítače) rezervovaného pro váš web. Horizontální navýšení kapacity: pro svůj web můžete přidat další rezervované instance (VM). Automatické škálování můžete nastavit na portálu i na časy plánování. Další informace najdete v tématu Jak škálovat Web Apps. |
Další informace o volbě těchto programovacích metod najdete v tématu Azure Web Apps, Cloud Services a virtuálních počítačů: Kdy použít.
Další kroky
další informace o spouštění SQL Server v azure Virtual Machines najdete v tématu SQL Server na azure Virtual Machines Overview.