Vícevrstvá aplikační služba s koncovým bodem služby

App Service
Virtual Network

Všechny webové aplikace, které jsou vyvíjené a distribuované mezi více než jednou vrstvou, se označují jako Vícevrstvá webová aplikace. Vrstvy rozdělují aplikaci na dvě nebo více součástí, které mohou být samostatně vyvinuty a provedeny. Pro jednoduché webové aplikace je Vícevrstvá webová aplikace, která volá jednu nebo více aplikací API za ní. Tato referenční architektura předvádí použití koncových bodů služby pro zabezpečenou komunikaci mezi aplikačními službami v prostředí s více vrstvami.

Pomocí koncových bodů služby můžete řídit příchozí přístup k vaší aplikaci API. Můžete určit, že všechny přistupující objekty musí být v podsítích, které vyberete. Omezení lze nastavit v aplikaci API nebo v front-end lokalitě s pravidly povolení a odmítnutí na úrovni virtuální sítě a podsítě.

Poznámka

I když se tento článek zaměřuje na používání koncových bodů služby, jsou často použitelné i další aspekty architektury, jako je Azure App Service a integrace virtuální sítě.

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

Tato architektura může vyhovovat těmto případům použití:

  • Řešení se dvěma službami, které vyžadují omezení přístupu
  • Finanční a zdravotní aplikace, které vyžadují privátní připojení k back-endové aplikaci API

Architektura

Architektura vícevrstvé aplikace

Stáhněte si soubor aplikace Visio s touto architekturou.

Zde je přenosový tok a základní konfigurace architektury:

  1. Vyžádá trasu z Internetu do front-endové aplikace.
  2. Funkce integrace virtuální sítě App Service směruje veškerou odchozí komunikaci z front-endové aplikace do podsítě integrace. Další informace o integraci virtuální sítě najdete v tématu Integrace aplikace do služby Azure Virtual Network.
  3. Aplikace API má koncové body služby, které omezují příchozí komunikaci – povoluje pouze komunikaci z front-endové aplikace v podsíti Integration. Další informace o koncových bodech služby najdete v tématu Virtual Network koncových bodů služby.
  4. Aplikace API není dostupná z veřejného Internetu. K aplikaci API se můžou dostat jenom interní součásti nebo součásti připojené k virtuální síti.
  5. Skupina prostředků je kontejner, který uchovává související prostředky pro řešení Azure. Prostředky můžou zahrnovat virtuální počítače, virtuální sítě, účty úložiště, webové aplikace, databáze a databázové servery. Může být vhodné seskupit prostředky, které mají stejný životní cyklus, abyste je mohli snadno nasadit, aktualizovat a odstranit jako skupinu. Další informace najdete v tématu co je skupina prostředků.

Komponenty

  • Azure Virtual Network je zabezpečená privátní síť v cloudu. Připojuje virtuální počítače navzájem, k Internetu a místní sítě.
  • Azure App Service je plně spravovaná služba pro sestavování, nasazování a škálování webových aplikací. Aplikace můžete vytvářet pomocí .NET, .NET Core, Node.js, Java, Pythonu nebo PHP. aplikace můžou běžet v kontejnerech nebo na Windows nebo Linux. Funkce integrace virtuální sítě služby App Service může vaší aplikaci poskytnout přístup k prostředkům v nebo prostřednictvím virtuální sítě. Další informace najdete v tématu integrace aplikace do služby Azure Virtual Network.
  • Privátní propojení Azure poskytuje soukromý přístup ke službám hostovaným na platformě Azure a zajišťuje vaše data v síti Microsoftu.

Alternativy

  • Aplikaci front-end i aplikaci API můžete nasadit ve stejném Azure App Service Environment a zajistit, aby byla aplikace front-end přímo dostupná pro Internet pomocí aplikační brány. Informace o App Service prostředích najdete v tématu Úvod do App Service prostředí.

  • Další technikou je nasazení front-endové aplikace ve víceklientské službě a aplikace API v App Service Environment. V rámci víceklientské služby můžete také hostovat jak front-end aplikaci, tak aplikaci API.

  • Existují i jiné způsoby, jak zabezpečit webové aplikace, jako například:

    • Adresy přiřazené aplikacím
    • Omezení přístupu
    • Azure Private Link

    Další informace najdete v tématu funkce App Service sítě.

Výhody

  • Tato architektura poskytuje způsob, jak vytvořit vícevrstvou webovou aplikaci, která má back-end zabezpečeného rozhraní API. Provoz do vaší aplikace API přichází jenom z podsítě front-endové webové aplikace.
  • Koncové body služby jsou v porovnání s App Service prostředími cenově výhodnější, rychlejší a snazší. Neexistuje žádný způsob, jak App Service webové aplikaci připojit se k virtuální síti bez App Service Environment, což je nákladné.
  • Koncové body služby fungují dobře v menším měřítku, protože můžete snadno povolit koncové body služby pro aplikaci API na front-endové integrační podsíti.
  • Použití privátního odkazu přináší složitost, protože existují dvě podsítě. Privátní připojení je také prostředek nejvyšší úrovně, který přináší režijní náklady na správu.

Požadavky

Koncové body služby chrání rozhraní API před tím, než jsou aplikace z front-endu dostupné. Aplikace front-end však nejsou chráněny před jinými aplikacemi front-end.

Dostupnost

  • Systém nemůže být vysoce dostupný, pokud není spolehlivý. Techniky ke zvýšení spolehlivosti najdete v tématu vzory spolehlivosti.

Škálovatelnost

  • Efektivita výkonu je schopnost vaší úlohy škálovat tak, aby splňovala požadavky vynaložené efektivním způsobem. Při návrhu a sestavování cloudové aplikace si pamatujte na vzory efektivity výkonu. Další informace najdete v tématu vzory efektivity výkonu.
  • Přečtěte si o škálování základní webové aplikace při škálování aplikace App Service. V dalších článcích v této části najdete nápady týkající se jiných architektur.
  • Další nápady k efektivitám výkonu najdete v tématu Kontrolní seznam efektivity výkonu.

Ceny

Pomocí cenové kalkulačky Azure můžete odhadnout náklady.

Mezi aspekty, které ovlivňují náklady na implementaci, patří:

  • Škálovatelnost řešení – to, jak dobře podporuje změny na vyžádání.
  • Bez ohledu na to, jestli se řešení spouští nepřetržitě nebo občas.
  • Zvolené úrovně služeb.

Další kroky