Migrowanie aplikacji internetowej przy użyciu usługi Azure API Management

Usługa Azure API Management
Azure Monitor
Azure App Service

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

Diagram przedstawiający kroki migracji aplikacji internetowej przy użyciu usługi API Management.

Diagram przedstawia przepływ między systemami lokalnymi, Internetem i usługami platformy Azure. Po lewej stronie w polu oznaczonym lokalnie ikona globusa reprezentuje istniejące usługi HTTP i interfejsy API. W tym samym polu ikona okna przeglądarki reprezentuje istniejący internetowy interfejs użytkownika oparty na przeglądarce. Dwukierunkowa strzałka łącząca te ikony wskazuje komunikację między istniejącym internetowym interfejsem użytkownika opartym na przeglądarce a istniejącymi usługami HTTP i interfejsami API. Ikona budynku reprezentuje lokalne centrum danych. Po prawej stronie w polu oznaczonym etykietą Azure ikona chmury reprezentuje wystąpienie usługi API Management. Dwukierunkowa strzałka przechodząca przez ikonę blokady łączy tę ikonę i istniejące lokalne usługi HTTPS i interfejsy API. Pole platformy Azure zawiera również nową ikonę interfejsu API i ikonę globusa reprezentującą nowy internetowy interfejs użytkownika oparty na przeglądarce. Dwukierunkowa strzałka, która przecina ikonę blokady, łączy wystąpienie usługi API Management z nowym interfejsem API. Dwukierunkowa strzałka łączy instancję API Management i nowy przeglądarkowy interfejs użytkownika. Między polem lokalnym a polem Platformy Azure ikona chmury reprezentuje Internet. Strzałki przechodzące przez ikony blokady z ikon użytkownika handlu elektronicznego do istniejącego internetowego interfejsu użytkownika opartego na przeglądarce i nowego internetowego interfejsu użytkownika opartego na przeglądarce.

Pobierz plik programu Visio tej architektury.

Workflow

Poniższy przepływ pracy odpowiada poprzedniemu diagramowi:

  1. Istniejąca lokalna aplikacja internetowa nadal korzysta bezpośrednio z istniejących lokalnych usług internetowych.

  2. Wywołania z istniejącej aplikacji internetowej do istniejących usług HTTP pozostają niezmienione. Te wywołania są wewnętrzne dla sieci firmowej.

  3. Usługa API Management wykonuje wywołania z platformy Azure do istniejących usług wewnętrznych.

  4. Nowy interfejs API ma następujące cechy:

  5. 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.

  6. 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.

  • 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:

Inny współautor:

Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Dalsze kroki