Posouzení webové aplikace pomocí nástroje Azure App Service Migration Assistant

Dokončeno

V této lekci si projdeme potenciální výzvy, se kterými se můžete setkat při migraci webových aplikací hostovaných místně na vlastním serveru na vysoké úrovni. Seznámíme vás s kontextem typů závislostí, které mají webové aplikace na funkcích Internetové informační služby (IIS), a vysvětlíme, proč způsobují problémy. Tyto důležité rozšiřující informace vám poskytnou kontext, díky kterému dokážete lépe pochopit nutnost posouzení.

Proč je vhodné přesunout webovou aplikaci do služby Azure App Service?

Azure App Service je plně spravovaná platforma pro vaše webové aplikace. Můžete ji použít ke spouštění a škálování webových aplikací s minimálním nastavením. Microsoft podle potřeby spravuje infrastrukturu, aktualizace operačního systému, vyrovnávání zatížení i logiku škálování.

Nastavení můžete nakonfigurovat ve zjednodušeném uživatelském rozhraní a prozkoumat výkon aplikace při jeho spuštění, ale na vaší straně není k dispozici nic jiného. Díky tomu je Azure App Service zajímavou alternativou ke spouštění aplikací ve vašem vlastním serverovém prostředí. Ve vlastním serverovém prostředí musíte řešit hardwarové náklady, nastavení, instalaci operačních systémů, jejich aktualizaci i konfiguraci, instalaci serverového softwaru a jeho aktualizaci i konfiguraci a další aspekty.

Práci s Azure App Service zefektivňuje několik funkcí.

Funkce automatického škálování umožňuje správci nastavit maximální počet instancí, na které by měla být webová aplikace povolena škálování, a prahové hodnoty provozu. Pak rozhodovací logika služby App Service určí, jestli se má škálovat na vyšší nebo nižší kapacitu.

Sloty nasazení umožňují operacím nebo DevOps nasadit novou verzi webové aplikace do živého testování nebo přípravného prostředí, kde je možné provádět ruční nebo automatizované integrační testy. Jakmile nová verze projde všemi testy, můžou operace prohodit sloty a přesunout fázovanou aplikaci do produkčního prostředí. Pokud po nasazení dojde k problémům, operace můžou znovu prohodit sloty a přesunout předchozí verzi zpět do produkčního prostředí.

Diagnostika App Service poskytuje interaktivní rozhraní, ve kterém může poradce při potížích odpovědět na pár otázek. Rozhraní vytvoří úplnou diagnostickou zprávu specifickou pro typ problému, na který vaše aplikace narazila. Nástroje, jako je kontrola stavu, Application Insights a Navigátor (interaktivní diagram závislostí), vám navíc pomůžou pochopit, kde jsou problémy.

Co je Azure App Service Migration Assistant?

Pomocník s migrací Azure App Service je součástí rozsáhlejší sady aplikací, která organizacím pomáhá s přechodem na cloud. Migration Assistant přináší uživatelské prostředí ve stylu průvodce určené pro tyto dva úkoly:

  1. Posouzení konkrétní webové aplikace nainstalované na Windows Serveru Vyhodnocení závislostí webové aplikace za účelem zjištění, jestli je migrace do služby Azure App Service možná bez úpravy webové aplikace
  2. Pokud posouzení prokáže, že se webová aplikace může migrovat, Migration Assistant migraci provede. Musíte udělit Pomocník s migrací přístup k vašemu účtu Azure, vybrat skupinu prostředků, kterou chcete použít, a vybrat název webové aplikace, mimo jiné podrobnosti.

Azure App Service Migration Assistant může také vygenerovat šablonu Azure Resource Manageru, pomocí které můžete webovou aplikaci migrovat s ještě větší automatizací a opakovatelností.

Proč je vhodné provést posouzení?

V některých organizacích se webové aplikace původně sestavovaly s předpokladem, že aplikace budou mít vždy přístup k funkcím služby IIS nízké úrovně. Někteří vývojáři třeba vytvořili funkce, jako je monitorování, protokolování a zabezpečení, nad filtry ISAPI. Filtry zjišťovaly přístup k příchozím žádostem před jejich předáním aplikaci ASP.NET. Zajišťovaly také přístup k odchozím odpovědím, které aplikace ASP.NET vygenerovala.

Jedna z výhod využití nabídky Platforma jako služba (PaaS), jako je Azure App Service, ale spočívá v tom, že poskytovatel cloudu (v tomto případě Microsoft) spravuje hardware i software místo vás. Ušetříte tak náklady i čas. To ale znamená, že vaše aplikace mají přístup k menšímu počtu funkcí nižší úrovně systému Windows Server a IIS. Pokud vaše aplikace na těchto funkcích nižší úrovně závisí, nebudete pravděpodobně moct výhody služby Azure App Service využívat bez modifikací.

Jaké typy problémů se při posuzování prověřují?

Migration Assistant hledá konkrétní funkce webové aplikace, aby zkontroloval, jestli je služba Azure App Service dokáže zajistit nebo jestli Migration Assistant dokáže funkci automaticky migrovat. Následující tabulka nabízí přehled o kontrolách, které nástroj Migration Assistant provádí.

Kontrola připravenosti Vysvětlení
Vazby portů Azure App Service povoluje jenom standardní webový provoz, takže tato kontrola připravenosti ověřuje, jestli webová aplikace naslouchá jen na portech 80 (pro přenosy HTTP) a 443 (pro přenosy HTTPS).
Protokoly Azure App Service funguje jenom s protokoly HTTP a HTTPS, takže tato kontrola připravenosti ověřuje, jestli webová aplikace zpracovává jenom protokoly založené na HTTP. Pokud například vaše webová aplikace závisí na windows Communication Foundation, neprojde touto kontrolou připravenosti.
Certifikáty Aplikace Azure Služba dokáže zpracovat certifikáty zabezpečení, ale tato kontrola připravenosti vás upozorní, že Pomocník s migrací certifikát automaticky nemigruje za vás.
Značky umístění Značky umístění umožňují uchovávat konfiguraci všech webových aplikací hostovaných na serveru v jediném souboru (ne jako samostatné soubory web.config pro každou webovou aplikaci). Aplikace ve službě Azure App Service používají předem nakonfigurovaný soubor služby IIS s názvem applicationhost.config a nepodporují funkci značek umístění. Nastavení každé webové aplikace, kterou migrujete, by se mělo přesunout do jednotlivých souborů web.config. Tato kontrola připravenosti zjišťuje použití značek umístění.
Filtry ISAPI Azure App Service poskytuje určitou podporu pro filtry ISAPI, ale záleží na způsobu jeho implementace. Pomocník s migrací nemigruje aplikaci, která závisí na filtru ISAPI. Nejdříve je nutné filtr ISAPI z aplikace odebrat, pak můžete aplikaci migrovat a nakonec filtr ISAPI přidáte ve službě Azure App Service ručně.
Fondy aplikací Azure App Service podporuje jeden fond aplikací na aplikaci, takže tato kontrola připravenost ověřuje, jestli vaše webová aplikace spoléhá jenom na jediný fond aplikací.
Identita fondu aplikací Aplikace se ve službě Azure App Service hostují v rámci pracovního procesu služby IIS, který se spouští přes systémem spravovaný účet přidružený k fondu aplikací. Ten zároveň představuje výchozí identitu používanou místními instalacemi služby IIS. Tato kontrola připravenosti ověřuje, jestli je webová aplikace nakonfigurovaná na spuštění v rámci výchozí identity.
Authentication type Aplikace ve službě Azure App Service podporují odlišnou sadu typů ověřování než aplikace hostované místně spuštěnou službou IIS. Tato kontrola připravenosti ověřuje, jestli je webová aplikace nakonfigurovaná na používání anonymního ověřování. Po migraci můžete typ ověřování u služby Azure App Service nakonfigurovat ručně.
Nastavení aplikace Tato kontrola připravenosti vás upozorní na vlastní nastavení aplikace v souboru web.config, které by se raději mělo přesunout do Azure App Service>Konfigurace>Nastavení aplikace.
Připojovací řetězce Tato kontrola připravenosti určuje, jestli připojovací řetězce databází uložené v souboru web.config odkazují na místní databáze. Pokud ano, Pomocník s migrací vám poskytne možnost nastavit hybridní připojení.
Architektury Migration Assistant podporuje jen ASP.NET a PHP. Pokud vaše aplikace používá jinou architekturu, nemůžete provést automatickou migraci.
Chyba konfigurace Pomocník s migrací zajistí, že je vaše místní instance služby IIS správně nakonfigurovaná a při kontrole nevrátí chybu. Tato kontrola připravenosti ověřuje, jestli před migrací nedošlo k žádným základním problémům s webovou aplikací.
Virtuální adresáře Azure App Service ukládá všechny soubory do pevné adresářové struktury. Pomocník s migrací přesune soubory do příslušných podadresářů. Nemůže ale migrovat aplikace s virtuálními adresáři, které jsou podporovány sdílenými složkami UNC.

Informace v této tabulce představují souhrn údajů z wikiwebu pro nástroj Azure App Service Migration Assistant.

Jak postupovat v případě, že se při posuzování zjistí problém?

Pokud Azure App Service Migration Assistant zjistí při posuzování webové aplikace problémy, máte tyto možnosti:

  • Můžete aplikaci aktualizovat tak, že nahradíte funkce závislé na funkcích rozšíření služby IIS nižší úrovně. Tato úloha může být relativně jednoduchá v závislosti na konkrétní funkčnosti. Můžete třeba nahradit vlastní funkce protokolování, které byly závislé na filtru ISAPI, službou Azure Application Insights. Služba Application Insights vyžaduje přidání jen několika řádků kódu do aplikace a přináší celou řadu sestav, na které se dá reagovat.
  • Můžete aplikaci aktualizovat tak, že dočasně zakážete funkci, která blokuje migraci. Migration Assistant vás může potřebným postupem provést.
  • Můžete aplikaci nasadit na virtuální počítač Azure „jak je“. I když byste nezískali výhody plynoucí z použití Azure App Service a museli byste udržovat operační systém, nemuseli byste dál spravovat hardware. Měli byste také k dispozici jediné místo pro správu všech vašich webových služeb.

Wikiweb pro nástroj Azure App Service Migration Assistant obsahuje možné nápravné kroky mnoha problémů zjištěných během posouzení.

Rekapitulace

Tady jsou nejdůležitější poznatky z této lekce:

  • Služba Aplikace Azure Service Pomocník s migrací hledá nekompatibilitu mezi místními webovými aplikacemi a informacemi podporovanými ve službě Aplikace Azure Service. Pokud existuje problém, obvykle existuje způsob, jak ho místně vyřešit (nebo deaktivovat funkci, která ho způsobuje). Pak můžete nástroj Migration Assistant spustit znovu.
  • Pokud žádné problémy neblokují, Pomocník s migrací migruje webovou aplikaci do služby Aplikace Azure Service za vás.