Migrace webové aplikace pomocí služby Azure API Management

Azure API Management
Azure Monitor
Azure App Service

V tomto scénáři se společnost pro elektronické obchodování v rámci odvětví cestovního ruchu migruje starší verzi webové aplikace pomocí Azure API Managementu. Nové uživatelské rozhraní se bude hostovat jako aplikace PaaS (platforma jako služba) v Azure a bude záviset na existujících i nových rozhraních HTTP API. Tato rozhraní API budou dodávána s lépe navrženou sadou rozhraní, která umožní lepší výkon, snadnější integraci a budoucí rozšiřitelnost.

Architektura

Diagram architektury

Stáhněte si soubor Visia této architektury.

Workflow

  1. Stávající místní webová aplikace nadále přímo využívá stávající místní webové služby.
  2. Volání z existující webové aplikace do stávajících služeb HTTP zůstanou beze změny. Tato volání jsou interní pro podnikovou síť.
  3. Příchozí volání se provádí z Azure do stávajících interních služeb:
    • Bezpečnostní tým umožňuje provoz z instance služby API Management předávat přes podnikovou bránu firewall do stávajících místních služeb pomocí zabezpečeného přenosu (HTTPS nebo SSL).
    • Provozní tým umožňuje příchozí volání do služeb pouze z instance služby API Management. Splňuje tento požadavek přidáním IP adresy instance služby API Management do seznamu povolených v rámci hraniční sítě v podnikové síti.
    • Nový modul je nakonfigurovaný do místního kanálu požadavků pro služby HTTP (aby fungoval pouze na připojeních, která pocházejí externě). Kanál ověří certifikát, který poskytuje služba API Management.
  4. Nové rozhraní API:
    • Zobrazuje se pouze prostřednictvím instance služby API Management, která poskytuje fasádu rozhraní API. Nové rozhraní API není přístupné přímo.
    • Vyvíjí se a publikuje jako aplikace webového rozhraní API Azure PaaS.
    • Je nakonfigurovaná (prostřednictvím nastavení funkce Web Apps služby Aplikace Azure) tak, aby přijímala pouze virtuální IP adresu služby API Management.
    • Je hostovaná ve službě Web Apps se zapnutým zabezpečeným přenosem (HTTPS nebo SSL).
    • Má povolenou autorizaci poskytovanou službou Aplikace Azure Service prostřednictvím Microsoft Entra ID a OAuth 2.
  5. Nová webová aplikace založená na prohlížeči závisí na instanci služby Azure API Management pro stávající rozhraní HTTP API i na novém rozhraní API.

Instance služby API Management je nakonfigurovaná tak, aby namapovala starší služby HTTP na nový kontrakt rozhraní API. V této konfiguraci nové webové uživatelské rozhraní neví o integraci se sadou starších služeb a rozhraní API a nových rozhraní API.

V budoucnu projektový tým postupně portuje funkce do nových rozhraní API a vyřadí původní služby. Tým bude tyto změny zpracovávat v rámci konfigurace služby API Management a nechá front-endové uživatelské rozhraní nedotčené a zabrání opětovnému nasazení.

Komponenty

Alternativy

  • Pokud organizace plánuje přesunout svou infrastrukturu zcela do Azure, včetně virtuálních počítačů, které hostují starší verze aplikací, je služba API Management stále skvělou volbou, protože může fungovat jako fasáda pro jakýkoli adresovatelný koncový bod HTTP.

  • Pokud se organizace rozhodla zachovat stávající koncové body privátní a nezpřístupnit je veřejně, mohla by být instance služby API Management organizace propojená s virtuální sítí Azure:

    • Ve scénáři "lift and shift" Azure propojeném s nasazenou virtuální sítí Azure může organizace přímo řešit back-endovou službu prostřednictvím privátních IP adres.
    • V místním scénáři by se instance SLUŽBY API Management mohla soukromě připojit k interní službě prostřednictvím brány Azure VPN a připojení VPN typu site-to-site IPSec nebo Azure ExpressRoute. Tento scénář by se pak stal hybridním prostředím Azure a místním prostředím.
  • Organizace může udržovat instanci služby API Management soukromou tím, že ji nasadí v interním režimu. Organizace pak může pomocí nasazení se službou Aplikace Azure Gateway povolit veřejný přístup pro některá rozhraní API, zatímco jiné zůstanou interní. Další informace najdete v tématu Integrace služby API Management do interní virtuální sítě se službou Application Gateway.

  • Organizace se může rozhodnout hostovat svá rozhraní API místně. Jednou z důvodů této změny může být, že organizace nemohla přesunout závislosti podřízené databáze, které jsou v oboru pro tento projekt do cloudu. V takovém případě může organizace využít výhod služby API Management místně pomocí brány v místním prostředí.

    Brána v místním prostředí je kontejnerizované nasazení brány SLUŽBY API Management, které se připojuje zpět k Azure na odchozím soketu. Prvním předpokladem je, že brány v místním prostředí není možné nasadit bez nadřazeného prostředku v Azure, což nese další poplatek. Za druhé je vyžadována úroveň Premium služby API Management.

Poznámka:

Obecné informace o připojení služby API Management k virtuální síti najdete v tomto článku.

Podrobnosti scénáře

Společnost elektronického obchodování v cestovním průmyslu modernizuje starší softwarovou sadu založenou na prohlížeči. Přestože je existující zásobník převážně monolitický, některé služby HTTP založené na protokolu SOAP existují z nedávného projektu. Společnost uvažuje o vytvoření dalších příjmů datových proudů, aby zpeněžila některé vnitřní duševní vlastnictví, které vyvinula.

Mezi cíle projektu patří řešení technického dluhu, zlepšení průběžné údržby a urychlení vývoje funkcí s menším počtem regresních chyb. Projekt použije iterativní proces, aby se zabránilo riziku, přičemž některé kroky se provádějí paralelně:

  • Vývojový tým modernizuje back-end aplikace, který se skládá z relačních databází hostovaných na virtuálních počítačích.
  • Interní vývojový tým napíše nové obchodní funkce, které budou zpřístupněny prostřednictvím nových rozhraní HTTP API.
  • Tým pro vývoj kontraktů vytvoří nové uživatelské rozhraní založené na prohlížeči, které bude hostováno v Azure.

Nové funkce aplikace se budou doručovat ve fázích. Tyto funkce postupně nahradí stávající funkce uživatelského rozhraní na základě prohlížeče nebo serveru (hostované místně), které nyní pomůžou podnikání společnosti v elektronickém obchodování.

Členové vedení nechtějí zbytečně modernizovat. Chtějí také udržovat kontrolu nad rozsahem a náklady. Za tímto účelem se rozhodli zachovat své stávající služby HTTP protokolu SOAP. Mají také v úmyslu minimalizovat změny stávajícího uživatelského rozhraní. Azure API Management může využít k řešení mnoha požadavků a omezení projektu.

Potenciální případy použití

Tento scénář zdůrazňuje modernizaci starších softwarových zásobníků založených na prohlížeči.

Tento scénář můžete použít k:

  • Podívejte se, jak může vaše firma těžit z používání ekosystému Azure.
  • Naplánujte migraci služeb do Azure.
  • Zjistěte, jak by přechod do Azure ovlivnil stávající rozhraní API.

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které pomáhají zlepšit kvalitu úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

Dostupnost a škálovatelnost

Optimalizace nákladů

Optimalizace nákladů spočívá v hledání způsobů, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.

Api Management se nabízí ve čtyřech úrovních: Developer, Basic, Standard a Premium. Podrobné pokyny k rozdílům v těchto úrovních najdete v doprovodných materiálech k cenám služby Azure API Management.

Službu API Management můžete škálovat přidáním a odebráním jednotek. Každá jednotka má kapacitu podle své úrovně.

Poznámka:

Úroveň Vývojář můžete použít k vyhodnocení funkcí služby API Management. Nepoužívejte ho pro produkční prostředí.

Pokud chcete zobrazit předpokládané náklady a přizpůsobit si potřeby nasazení, můžete upravit počet jednotek škálování a instancí služby App Service v cenové kalkulačce Azure.

Nasazení tohoto scénáře

Začněte vytvořením instance služby Azure API Management na portálu.

Případně si můžete vybrat ze stávající šablony rychlého startu Azure Resource Manageru, která odpovídá vašemu konkrétnímu případu použití.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky

Dokumentace k produktu:

Moduly learn: