Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym scenariuszu firma zajmująca się handlem elektronicznym w branży podróży migruje starszą aplikację internetową przy użyciu usługi Azure API Management. Firma hostuje nowy UI jako aplikację PaaS na Azure. Nowy interfejs użytkownika zależy zarówno od istniejących, jak i nowych interfejsów API PROTOKOŁU HTTP. Te API są wdrażane z bardziej zaprojektowanymi interfejsami, które zwiększają wydajność, upraszczają integrację i umożliwiają przyszłą rozbudowę.
Architecture
Pobierz plik programu Visio tej architektury.
Workflow
Poniższy przepływ pracy odpowiada poprzedniemu diagramowi:
Istniejąca lokalna aplikacja internetowa nadal korzysta bezpośrednio z istniejących lokalnych usług internetowych.
Wywołania z istniejącej aplikacji internetowej do istniejących usług HTTP pozostają niezmienione. Te wywołania są wewnętrzne dla sieci firmowej.
Usługa API Management wykonuje wywołania z platformy Azure do istniejących usług wewnętrznych.
Zespół ds. zabezpieczeń pozwala na przepływ ruchu z wystąpienia API Management przez firewall korporacyjny do istniejących usług lokalnych przy użyciu bezpiecznych protokołów transportu, takich jak HTTPS w ramach Transport Layer Security (TLS).
Zespół operacyjny zezwala na połączenia przychodzące do usług tylko z instancji API Management. Spełnia to wymaganie przez dodanie adresu IP wystąpienia usługi API Management do listy dozwolonych w sieci firmowej.
Nowy moduł w potoku żądań lokalnych dla usług protokołu HTTP (Hypertext Transfer Protocol) działa tylko na połączeniach pochodzących z zewnątrz. Proces weryfikuje certyfikat dostarczany przez API Management.
Nowy interfejs API ma następujące cechy:
Tylko wystąpienie usługi API Management, które udostępnia fasadę interfejsu API, przedstawia nowy interfejs API. Nie uzyskujesz bezpośredniego dostępu do nowego interfejsu API.
Tworzysz i publikujesz nowy interfejs API jako aplikację internetową API usługi PaaS platformy Azure.
Skonfiguruj nowy interfejs API, używając ustawień funkcji Web Apps w Azure App Service, aby akceptować tylko wirtualny adres IP (VIP) usługi API Management.
Usługa Web Apps hostuje nowy interfejs API z włączonymi bezpiecznymi protokołami transportu, takimi jak HTTPS lub TLS.
Usługa Azure App Service zapewnia możliwości autoryzacji za pośrednictwem identyfikatora Entra firmy Microsoft i protokołu OAuth (Open Authorization) 2.
Nowa aplikacja internetowa oparta na przeglądarce zależy od wystąpienia usługi API Management zarówno dla istniejącego interfejsu API HTTP, jak i nowego interfejsu API.
Firma zajmująca się handlem elektronicznym może skierować niektórych użytkowników do nowego interfejsu użytkownika na potrzeby wersji zapoznawczej lub testowania, zachowując stary interfejs użytkownika i istniejące funkcje obok siebie.
Skonfiguruj wystąpienie usługi API Management, aby przypisać starsze usługi HTTP do nowego kontraktu API. W tej konfiguracji nowy internetowy interfejs użytkownika nie ma świadomości integracji z usługami i interfejsami API starszej generacji i nowymi interfejsami API.
W przyszłości zespół projektu może stopniowo przenosić funkcje do nowych interfejsów API i wycofać oryginalne usługi. Zespół obsługuje te zmiany w konfiguracji API Management, pozostawiając interfejs użytkownika front-end bez wpływu na działanie i unikając konieczności przebudowy.
Components
Usługa API Management to platforma zarządzania i brama dla interfejsów API we wszystkich środowiskach. W tej architekturze służy jako fasada zarówno istniejących starszych API, jak i nowych API. Nowa aplikacja kliencka korzysta z pojedynczego spójnego interfejsu, a zespół może stopniowo modernizować starsze systemy backendowe, co ma minimalny wpływ na rozwój frontend-u.
Usługa App Service to gotowe rozwiązanie PaaS do hostingu internetowego, które zapewnia gotowe funkcje, takie jak zabezpieczenia, równoważenie obciążenia, skalowanie automatyczne i automatyczne zarządzanie. W tej architekturze usługa App Service zapewnia elastyczny, kompleksowy hosting, aby zespół DevOps mógł skupić się na dostarczaniu funkcji.
Alternatives
Jeśli organizacja planuje przenieść swoją infrastrukturę, w tym maszyny wirtualne, które hostują starsze aplikacje, w całości na platformie Azure, usługa API Management może służyć jako fasada dla dowolnego adresowego punktu końcowego HTTP.
Jeśli organizacja przechowuje istniejące punkty końcowe jako prywatne i nie udostępnia ich publicznie, wystąpienie usługi API Management organizacji może połączyć się z siecią wirtualną platformy Azure.
Gdy usługa API Management jest połączona z siecią wirtualną platformy Azure, organizacja może bezpośrednio adresować usługę zaplecza za pośrednictwem prywatnych adresów IP.
W scenariuszu lokalnym instancja usługi API Management może łączyć się z usługą wewnętrzną prywatnie za pośrednictwem Azure VPN Gateway i połączenia typu lokacja-lokacja VPN z zabezpieczeniem protokołu internetowego (IPsec) lub Azure ExpressRoute. Ten scenariusz staje się hybrydą platformy Azure i środowiska lokalnego.
Organizacja może zachować prywatną instancję usługi API Management, wdrażając ją w trybie wewnętrznym. Organizacja może następnie używać wdrożenia z usługą Azure Application Gateway , aby zezwolić na dostęp publiczny dla niektórych interfejsów API, podczas gdy inne pozostają wewnętrzne. Aby uzyskać więcej informacji, zobacz Integrowanie usługi API Management w wewnętrznej sieci wirtualnej przy użyciu usługi Application Gateway.
Organizacja może zdecydować się na hostowanie lokalnych interfejsów API. Jedną z przyczyn tej zmiany może być to, że organizacja nie może przenieść zależności podrzędnej bazy danych, które znajdują się w zakresie tego projektu do chmury. W tym scenariuszu organizacja może korzystać z usługi API Management lokalnie przy użyciu własnej bramy.
Brama hostowana samodzielnie jest konteneryzowanym wdrożeniem bramy usługi API Management, które łączy się z platformą Azure w gniazdie wychodzącym. Aby korzystać z bram hostowanych samodzielnie, należy spełnić następujące wymagania wstępne:
Bramy hostowane samodzielnie należy wdrożyć przy użyciu zasobu nadrzędnego na platformie Azure, co zwiększa dodatkowy koszt.
Musisz użyć warstwy Premium usługi API Management.
Szczegóły scenariusza
Firma zajmująca się handlem elektronicznym w branży podróży chce zmodernizować swój starszy, oparty na przeglądarce stos oprogramowania. Istniejący stos jest głównie monolityczny, ale niektóre usługi HTTP oparte na protokole SIMPLE Object Access Protocol (SOAP) istnieją z ostatniego projektu. Firma rozważa tworzenie dodatkowych strumieni przychodów w celu spieniężenia niektórych swoich wewnętrznych zasobów własności intelektualnej.
Cele projektu obejmują rozwiązywanie problemów z długiem technicznym, ciągłymi ulepszeniami konserwacji i przyspieszaniem tworzenia funkcji z mniejszą liczbą błędów regresji. W projekcie jest używany proces iteracyjny, aby uniknąć ryzyka i wykonać następujące kroki równolegle:
Zespół deweloperów modernizuje zaplecze aplikacji, które składa się z relacyjnych baz danych hostowanych na maszynach wirtualnych.
Zespół deweloperów w firmie pisze nowe funkcje biznesowe i uwidacznia je za pośrednictwem nowych interfejsów API HTTP.
Zespół deweloperów kontraktowych tworzy nowy interfejs użytkownika oparty na przeglądarce, który Azure hostuje.
Firma dostarcza nowe funkcje aplikacji na etapach. Te funkcje stopniowo zastępują istniejące funkcje interfejsu użytkownika klienta i serwera oparte na przeglądarce hostowane lokalnie, które napędzają firmę w branży handlu elektronicznego.
Członkowie zespołu zarządzającego nie chcą niepotrzebnie modernizować. Chcą również zachować kontrolę nad zakresem i kosztami. Aby osiągnąć te cele, zdecydują się zachować istniejące usługi HTTP protokołu SOAP. Zamierzają również zminimalizować zmiany istniejącego interfejsu użytkownika. Mogą one używać usługi API Management do obsługi wielu wymagań i ograniczeń projektu.
Potencjalne przypadki użycia
W tym scenariuszu przedstawiono sposób modernizacji starszych stosów oprogramowania opartych na przeglądarce.
Tego scenariusza można użyć w następujących zadaniach:
- Zobacz, jak Twoja firma może korzystać z ekosystemu platformy Azure.
- Planowanie migracji usługi na platformę Azure.
- Dowiedz się, jak przejście na platformę Azure może mieć wpływ na istniejące interfejsy API.
Considerations
Te zagadnienia obejmują implementację filarów platformy Azure Well-Architected Framework, która jest zestawem wytycznych, których można użyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Well-Architected Framework.
Reliability
Niezawodność pomaga zapewnić, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca niezawodności.
Aktywuj strefy dostępności podczas wdrażania wystąpienia usługi API Management. Opcja wdrażania usługi API Management w strefach dostępności jest dostępna tylko w warstwach usług Premium.
Użyj stref dostępności, które mają dodatkowe instancje bramy wdrożone w różnych regionach. Ta kombinacja zwiększa dostępność usługi, jeśli jeden region przejdzie w tryb offline. Wdrożenie w wielu regionach jest dostępne tylko w warstwie usługi Premium.
Integracja z usługą Application Insights, która udostępnia metryki za pomocą usługi Azure Monitor na potrzeby monitorowania. Możesz na przykład użyć metryki pojemności, aby określić ogólne obciążenie zasobu usługi API Management i określić, czy potrzebujesz większej liczby jednostek skalowania w poziomie. Śledzenie wydajności zasobów i kondycji w celu zwiększenia niezawodności.
Upewnij się, że zależności podrzędne, takie jak usługi zaplecza, które hostują interfejsy API objęte usługą API Management, również są odporne.
Optymalizacja kosztów
Optymalizacja kosztów koncentruje się na sposobach zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca optymalizacji kosztów.
Usługa API Management ma osiem warstw:
- Zużycie
- Deweloper
- Podstawowa i Podstawowa wersja 2
- Standard i Standard v2
- Premium i Premium v2
Aby uzyskać więcej informacji na temat różnic w tych warstwach, zobacz Cennik usługi API Management.
Usługę API Management można skalować, dodając i usuwając jednostki. Każda jednostka ma pojemność zależną od jej poziomu.
Note
Warstwę dewelopera można użyć do oceny funkcji zarządzania API. Nie używaj go do produkcji.
Aby wyświetlić przewidywane koszty dla potrzeb związanych z wdrożeniem, możesz zmodyfikować liczbę jednostek skalowania i wystąpień usługi App Service w kalkulatorze cen platformy Azure.
Contributors
Firma Microsoft utrzymuje ten artykuł. Następujący współautorzy napisali ten artykuł.
Główny autor:
- Ben Gimblett | Starszy inżynier klienta
Inny współautor:
- Andrew Cardy | Starszy inżynier oprogramowania
Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.
Dalsze kroki
- Omówienie usługi App Service
- Omówienie usługi API Management
- Konfigurowanie środowisk przejściowych w usłudze App Service
- Przekształć i chroń interfejs API
- Hostowanie aplikacji internetowej za pomocą usługi Azure App Service