Udostępnij przez


Migrowanie obciążeń OLTP systemu IBM z/OS na platformę Azure

Azure Front Door
Azure Traffic Manager
Azure Kubernetes Service (AKS)
Zarządzany Redis w Azure

Systemy przetwarzania transakcji online (OLTP) są twarzą Twojej firmy, ponieważ wchodzą w bezpośrednią interakcję z klientami. Dzięki migracji do dynamicznie adaptowalnej infrastruktury Twoja firma może szybko tworzyć i wprowadzać na rynek produkty, dzięki czemu klienci mogą szybciej z nich korzystać.

Architektura

Na poniższym diagramie przedstawiono architekturę systemu OLTP, który działa na komputerze mainframe z/OS przed migracją na platformę Azure:

Diagram architektury OLTP w systemie z/OS.

Workflow

Poniższy przepływ pracy odpowiada powyższemu diagramowi:

  1. Użytkownicy łączą się z komputerem mainframe za pośrednictwem protokołu TCP (Transmission Control Protocol) lub protokołu internetowego (IP) przy użyciu standardowych protokołów komputera mainframe, takich jak TN3270 i HTTPS.

  2. Menedżerowie transakcji wchodzą w interakcję z użytkownikami i wywołują aplikację w celu spełnienia żądań użytkowników.

  3. W warstwie frontonu aplikacji użytkownicy wchodzą w interakcję z ekranami systemu kontroli informacji o kliencie (CICS) lub systemu zarządzania informacjami (IMS) lub ze stronami internetowymi.

  4. Do realizacji transakcji menedżerowie transakcji wykorzystują logikę biznesową napisaną w Common Business-Oriented Language (COBOL) lub Programming Language One (PL/I).

  5. Kod aplikacji korzysta z możliwości przechowywania warstwy danych, takiej jak DB2, IMS DB lub VSAM.

  6. Oprócz przetwarzania transakcji inne usługi zapewniają uwierzytelnianie, bezpieczeństwo, zarządzanie, monitorowanie i raportowanie. Usługi te współdziałają ze wszystkimi innymi usługami w systemie.

Na poniższym diagramie pokazano, jak przeprowadzić migrację tej architektury na platformę Azure.

Diagram przedstawiający architekturę służącą do migrowania obciążenia OLTP systemu z/OS na platformę Azure.

Na diagramie przedstawiono sposób migrowania obciążenia OLTP systemu z/OS na platformę Azure. Architektura jest podzielona na kilka warstw, które reprezentują różne komponenty i ich interakcje. Każda warstwa używa liczb i strzałek w celu wyróżnienia przepływu danych. Warstwa 1 reprezentuje użytkownika lokalnego. Dwustronna strzałka łączy użytkownika i usługę Azure ExpressRoute. Warstwa 2 reprezentuje żądania wejściowe. Ta warstwa zawiera dwa pola, które są połączone kropkowaną, dwustronną strzałką oznaczoną zaporą aplikacji internetowej platformy Azure. Pole po lewej stronie zawiera ikony usług Azure Front Door i Azure Traffic Manager. Dwustronna strzałka łączy lewe pole z ikoną reprezentującą Internet. Kolejna dwustronna strzałka łączy ikonę internetową z identyfikatorem Microsoft Entra. Pole po prawej stronie zawiera ikony dla usług Azure Application Gateway i Azure Load Balancer. Dwustronna strzałka łączy to pole z polem oznaczonym jako front-end. Pole oznaczone jako frontend znajduje się wewnątrz warstwy aplikacji. Zawiera ikony usług Azure API Management, Azure App Service, Azure Kubernetes Service (AKS) i Azure Spring Apps. Trzy kropkowane, dwustronne strzałki łączą pole front-end z polem oznaczonym logiką biznesową. To pole zawiera ikony Azure Functions, Azure WebJob, AKS i Azure Spring Apps. Ikony usług Azure Service Bus i Azure Queue Storage (asynchroniczne) znajdują się powyżej i poniżej trzech strzałek. Dwustronna strzałka łączy warstwę aplikacji z warstwą pamięci podręcznej. Warstwa pamięci podręcznej zawiera Azure Cache for Redis. Strzałka wskazuje warstwę pamięci podręcznej do warstwy monitorowania. W tej warstwie kropkowana strzałka przechodzi z usługi Azure Monitor przez dzienniki usługi Azure Monitor i do niebieskiego pola zawierającego ikony z etykietą Pulpit nawigacyjny i alerty usługi Log Analytics. Warstwa monitorowania obejmuje również usługę Application Insights. Kropkowana strzałka wskazuje z usługi Application Insights do niebieskiego pola. Inna strzałka wskazuje z warstwy aplikacji do usługi Application Insights. Warstwa danych zawiera dwa pola. Jedno pole zawiera ikony usług Azure Table Storage i Azure Files. Drugie pole zawiera Azure SQL, Azure Cosmos DB, Azure Database for PostgreSQL i Azure Database for MySQL. Dwustronna strzałka łączy warstwę danych i warstwę aplikacji.

Pobierz plik programu Visio tej architektury.

  1. Użytkownicy komputerów mainframe są zaznajomieni z terminalami 3270 i łącznością lokalną. W zmigrowanym systemie wchodzą one w interakcję z aplikacjami platformy Azure za pośrednictwem publicznego Internetu lub za pośrednictwem połączenia prywatnego, które jest implementowane za pośrednictwem usługi Azure ExpressRoute. Identyfikator Microsoft Entra zapewnia uwierzytelnianie.

  2. Żądania wejściowe przechodzą do globalnej usługi modułu równoważenia obciążenia, takiej jak Azure Front Door lub Azure Traffic Manager. Load balancer może obsługiwać geograficznie rozproszoną bazę użytkowników. Kieruje żądania zgodnie z regułami zdefiniowanymi dla obsługiwanych obciążeń. Te moduły równoważenia obciążenia mogą koordynować się z Azure Application Gateway lub Azure Load Balancer w celu równoważenia obciążenia warstwy aplikacji. Usługa Azure Content Delivery Network buforuje zawartość statyczną na serwerach brzegowych w celu szybkiego reagowania. Zapora aplikacji internetowej (WAF) pomaga zabezpieczyć usługę.

  3. Fronton warstwy aplikacji używa usług platformy Azure, takich jak Azure App Service, do implementowania ekranów aplikacji i interakcji z użytkownikami. Ekrany są zmigrowanymi wersjami ekranów mainframe.

  4. Kod COBOL i PL/I w backendzie warstwy aplikacji implementuje logikę biznesową. Kod może korzystać z usług i funkcji, takich jak Azure Functions, WebJob i mikrousługi Azure Spring Apps. Aplikacje mogą być uruchamiane w kontenerze Azure Kubernetes Service (AKS).

  5. Magazyn danych w pamięci przyspiesza aplikacje OLTP o wysokiej przepustowości. Przykłady obejmują In-Memory OLTP, który jest funkcją Azure SQL Database i Azure SQL Managed Instance, oraz Azure Cache for Redis.

  6. Warstwa danych może obejmować:

    • Pliki, tabele i obiekty blob zaimplementowane przy użyciu usługi Azure Storage.
    • Relacyjne bazy danych z rodziny Azure SQL.
    • Implementacje baz danych typu open source PostgreSQL i MySQL na platformie Azure.
    • Azure Cosmos DB, która jest bazą danych NoSQL.

    Te magazyny przechowują dane zmigrowane z komputera mainframe do użycia przez warstwę aplikacji.

  7. Usługi natywne dla platformy Azure, takie jak Application Insights i Azure Monitor, proaktywnie monitorują kondycję systemu. Dzienniki usługi Azure Monitor można zintegrować przy użyciu pulpitu nawigacyjnego platformy Azure.

Komponenty

Ta architektura składa się z kilku usług w chmurze platformy Azure. Jest ona podzielona na cztery kategorie zasobów: sieć i tożsamość, aplikacja, magazyn i monitorowanie. W poniższych sekcjach opisano usługi dla każdego zasobu i ich role.

Sieć i tożsamość

Podczas projektowania architektury aplikacji kluczowe znaczenie ma priorytetyzacja składników sieci i tożsamości, aby zapewnić bezpieczeństwo, wydajność i łatwość zarządzania podczas interakcji za pośrednictwem publicznego Internetu lub połączeń prywatnych. Następujące składniki w architekturze są niezbędne do skutecznego spełnienia tego wymagania.

  • Zapora aplikacji internetowej platformy Azure to zapora aplikacji internetowej, która chroni aplikacje przed złośliwymi atakami i typowymi lukami w zabezpieczeniach sieci Web, takimi jak wstrzyknięcie kodu SQL i wykonywanie skryptów między witrynami. W tej architekturze zabezpiecza migrowane aplikacje mainframe, filtrując i sprawdzając ruch przychodzący do usług internetowych.

  • Application Gateway to kontroler dostarczania aplikacji warstwy 7. W tej architekturze zarządza routingiem ruchu HTTP i zapewnia równoważenie obciążenia migrowanych aplikacji internetowych mainframe.

  • Usługa Azure Front Door to globalny moduł równoważenia obciążenia HTTP z natychmiastowymi możliwościami trybu failover. W tej architekturze przyspiesza dostarczanie zawartości i zapewnia wysoką dostępność dla geograficznie rozproszonych użytkowników komputerów mainframe.

    • Content Delivery Network to rozproszona usługa buforowania, która optymalizuje dostarczanie zawartości statycznej przez przechowywanie buforowanych kopii na serwerach brzegowych w celu umożliwienia szybszego czasu odpowiedzi dla użytkowników. Używa optymalizacji sieci w celu poprawy odpowiedzi na zawartość dynamiczną. Usługa Content Delivery Network jest szczególnie przydatna, gdy baza użytkowników jest globalna. W tej architekturze zwiększa wydajność elementów ekranu mainframe i statycznych zasobów w globalnych lokalizacjach brzegowych.
  • ExpressRoute to prywatna usługa łączności, która ustanawia dedykowane połączenie między infrastrukturą lokalną a platformą Azure. W tej architekturze zapewnia bezpieczny dostęp sieciowy dla użytkowników zaznajomionych z łącznością terminalową mainframe, którzy wymagają połączeń prywatnych.

Load Balancer to usługa, która dystrybuuje przychodzący ruch sieciowy między wiele zasobów zaplecza i obsługuje ruch TCP i UDP warstwy 4. W tej architekturze równoważy ruch dla konteneryzowanych aplikacji i mikrousług, które zastępują składniki przetwarzania transakcji mainframe.

  • Traffic Manager to oparta na systemie DNS usługa routingu ruchu, która ułatwia dystrybucję żądań użytkowników w wielu punktach końcowych. W tej architekturze dystrybuuje ruch między regionalnymi punktami końcowymi, aby zoptymalizować dostępność dla użytkowników komputerów mainframe w różnych lokalizacjach geograficznych.

Aplikacja

Platforma Azure udostępnia usługi zarządzane, które obsługują bezpieczniejsze, skalowalne i wydajniejsze wdrażanie aplikacji. Usługi warstwy aplikacji używane przez poprzednią architekturę mogą pomóc w zoptymalizowaniu architektury aplikacji.

  • Usługa AKS to zarządzana usługa Kubernetes dla konteneryzowanych aplikacji. Usługa AKS upraszcza wdrażanie zarządzanego klastra usługi AKS na platformie Azure, odciążając obciążenie operacyjne na platformę Azure. W tej architekturze hostuje mikrousługi, które zastępują monolityczne składniki przetwarzania transakcji mainframe, takie jak CICS i IMS.

  • App Service to w pełni zarządzana usługa do tworzenia, wdrażania i skalowania aplikacji internetowych. Aplikacje można tworzyć przy użyciu platformy .NET, .NET Core, Node.js, Java, Python lub PHP. Aplikacje mogą działać w kontenerach lub w systemie Windows lub Linux. W ramach migracji komputera mainframe ekrany frontonu lub interfejs internetowy mogą być kodowane jako interfejsy API REST oparte na protokole HTTP. Mogą być segregowane zgodnie z aplikacją mainframe i mogą być bezstanowe w celu orkiestracji systemu opartego na mikrousługach. W tej architekturze dostarcza interfejsy API REST i interfejsy internetowe, które zastępują ekrany terminalowe 3270 i interfejsy użytkownika mainframe.

    • Zadania WebJob to funkcja usługi App Service, która uruchamia program lub skrypt w tym samym wystąpieniu co aplikacja internetowa, aplikacja interfejsu API lub aplikacja mobilna. Zadanie sieci Web może być dobrym wyborem do implementowania logiki programu z możliwością udostępniania i wielokrotnego użytku. W tej architekturze wykonuje zadania przetwarzania wsadowego i zadania w tle , które były wcześniej obsługiwane przez harmonogramy zadań mainframe.
  • Usługa Azure API Management to w pełni zarządzana platforma jako usługa (PaaS), która obsługuje publikowanie, routing, zabezpieczanie, rejestrowanie i analizę interfejsów API. Możesz kontrolować, w jaki sposób dane są prezentowane i rozszerzane oraz które aplikacje mogą mieć do nich dostęp. Możesz również ograniczyć dostęp do aplikacji lub zezwolić innym firmom. W tej architekturze zarządza dostępem do zmodernizowanych interfejsów API, które uwidaczniają logikę biznesową mainframe i kontrolują sposób uzyskiwania dostępu do starszych danych przez nowe aplikacje.

  • Azure Cache for Redis to w pełni zarządzana usługa buforowania w pamięci do udostępniania danych i stanu między zasobami obliczeniowymi. Obejmuje ona usługi Redis typu open source i Redis Enterprise, produkt komercyjny firmy Redis Labs, jako usługę zarządzaną. Wydajność aplikacji OLTP o wysokiej przepływności można zwiększyć, projektując je pod kątem skalowania i używania magazynu danych w pamięci, takiego jak Azure Cache for Redis. W tej architekturze przyspiesza dostęp do danych dla obciążeń OLTP o wysokiej przepływności, które zastępują systemy przetwarzania transakcji mainframe.

  • Azure Functions to bezserwerowa usługa obliczeniowa. Zapewnia środowisko do uruchamiania małych fragmentów kodu nazywanych funkcjami bez konieczności ustanawiania infrastruktury aplikacji. Można go używać do przetwarzania danych zbiorczych, integrowania systemów, pracy z Internetem rzeczy oraz tworzenia prostych interfejsów API i mikrousług. Za pomocą mikrousług można tworzyć serwery, które łączą się z usługami platformy Azure i są zawsze aktualne. W tej architekturze obsługuje przetwarzanie sterowane zdarzeniami i lekkie składniki logiki biznesowej migrowane z menedżerów transakcji mainframe.

  • Usługa Azure Service Bus to niezawodna usługa obsługi komunikatów w chmurze na potrzeby prostej integracji hybrydowej. Kolejki Service Bus i Storage mogą łączyć fronton z logiką biznesową w migrowanym systemie. Usługa Azure Service Bus umożliwia niezawodne przesyłanie komunikatów między systemami rozproszonymi. W tej architekturze ułatwia asynchroniczną komunikację między zmigrowanymi składnikami mainframe, które wcześniej używały systemów obsługi komunikatów mainframe.

Pamięć masowa i baza danych

Ta architektura dotyczy skalowalnego i bezpiecznego magazynu w chmurze, a także zarządzanych baz danych na potrzeby migrowania danych mainframe i obsługi nowoczesnych wymagań aplikacji.

  • Azure Cosmos DB to w pełni zarządzana usługa bazy danych NoSQL, która umożliwia migrowanie danych mainframe, nietabularnych na platformę Azure przy użyciu usługi Azure Cosmos DB. W tej architekturze przechowuje dane nierelacyjne migrowane z systemów mainframe, takich jak pliki VSAM, i zapewnia globalną dystrybucję dla międzynarodowych baz użytkowników.

  • Azure Database for MySQL to w pełni zarządzana usługa bazy danych MySQL. W tej architekturze obsługuje aplikacje wymagające zgodności bazy danych typu open source podczas procesu modernizacji komputera mainframe.

  • Azure Database for PostgreSQL to w pełni zarządzana, inteligentna i skalowalna baza danych PostgreSQL, która ma natywną łączność z usługami platformy Azure. W tej architekturze hostuje dane relacyjne migrowane z baz danych mainframe z zaawansowanymi możliwościami indeksowania i analizy.

  • Azure SQL to rodzina usług bazy danych SQL opartych na chmurze. W tej architekturze hostuje dane relacyjne migrowane z baz danych mainframe, takich jak DB2 i IMS DB:

    • Azure SQL Edge to wyspecjalizowana wersja aparatu bazy danych programu SQL Server zoptymalizowana pod kątem wdrożeń IoT i edge. W tej architekturze przetwarza dane w pobliżu urządzeń brzegowych w scenariuszach, w których aplikacje mainframe zostały dystrybuowane do lokalizacji brzegowych.

    • SQL Database to w pełni zarządzana usługa relacyjnej bazy danych. W tej architekturze obsługuje zmodernizowane obciążenia z elastycznym skalowaniem dla zmiennych obciążeń transakcji mainframe.

    • Sql Managed Instance to w pełni zarządzana opcja wdrażania oparta na chmurze, która zapewnia zgodność z programem SQL Server zbliżonym do 100%. W tej architekturze hostuje migrowane bazy danych mainframe z minimalnymi zmianami kodu i wbudowaną wysoką dostępnością.

    • Program SQL Server na maszynach wirtualnych platformy Azure to oferta infrastruktury jako usługi (IaaS), która zapewnia pełną funkcjonalność programu SQL Server. W tej architekturze obsługuje starsze obciążenia wymagające określonych funkcji aparatu bazy danych podczas migracji.

    • In-Memory OLTP to funkcja o wysokiej wydajności, która przyspiesza przetwarzanie transakcji w usługach SQL Database i SQL Managed Instance. W tej architekturze zapewnia ona możliwości przetwarzania transakcji o wysokiej wydajności, których wymagają obciążenia OLTP komputera mainframe.

  • Magazyn to zestaw wysoce skalowalnych i bezpieczniejszych usług w chmurze dla danych, aplikacji i obciążeń, które zapewniają podstawowe usługi magazynu w chmurze. W tej architekturze obsługuje usługi Azure Files, Azure Table Storage i Azure Queue Storage na potrzeby różnych scenariuszy migracji danych mainframe.

Nadzorowanie

Poniższe narzędzia do monitorowania zapewniają kompleksową analizę danych i cenne informacje na temat wydajności aplikacji.

  • Application Insights to funkcja usługi Azure Monitor, która zapewnia telemetrię na poziomie kodu dla aplikacji. Monitoruje aplikację, wykrywa anomalie, takie jak przeciętna wydajność i awarie, oraz wysyła dane osobowe do Azure Portal. Możesz również użyć usługi Application Insights do rejestrowania, śledzenia rozproszonego i niestandardowych metryk aplikacji. W tej architekturze śledzi wydajność aplikacji, wykrywa anomalie i obsługuje rozproszone śledzenie i metryki niestandardowe w celu zapewnienia niezawodności i czasu odpowiedzi.

  • Usługa Azure Monitor to kompleksowa platforma do zbierania, analizowania i działania na podstawie danych telemetrycznych z platformy Azure i środowisk lokalnych. W tej architekturze pełni rolę centralnego centrum do monitorowania infrastruktury, aplikacji i usług.

    • Alerty usługi Azure Monitor to funkcja usługi Azure Monitor, która powiadamia użytkowników, gdy metryki lub dzienniki przekraczają zdefiniowane progi. W tej architekturze wyzwalają automatyczne odpowiedzi lub eskalują problemy do zespołów operacyjnych w celu terminowej interwencji.

    • Log Analytics to narzędzie do wykonywania zapytań w usłudze Azure Monitor, które używa zaawansowanego języka do analizowania danych dzienników. Ta architektura umożliwia głęboką diagnostykę, obsługuje niestandardowe pulpity nawigacyjne i integruje się z alertami i skoroszytami na potrzeby szczegółowych informacji operacyjnych.

Szczegóły scenariusza

Ze względu na zmieniające się potrzeby biznesowe i dane aplikacje muszą być skalowane i generować wyniki bez powodowania problemów z infrastrukturą. W tym przykładowym obciążeniu pokazano, jak można przeprowadzić migrację aplikacji OLTP komputera mainframe systemu z/OS do bezpieczniejszego, skalowalnego i wysoce dostępnego systemu w chmurze przy użyciu usług platformy Azure jako usługi (PaaS). Ta migracja pomaga firmom z branży finansowej, zdrowotnej, ubezpieczeniowej i detalicznej zminimalizować czas dostarczania aplikacji. Pomaga również obniżyć koszty uruchamiania aplikacji.

Potencjalne przypadki użycia

Ta architektura jest idealna dla obciążeń OLTP, które mają następujące cechy:

  • Obsługują międzynarodową bazę użytkowników.

  • Ich użycie różni się znacznie w czasie, dlatego korzystają z elastycznego skalowania i cen opartych na użyciu.

Rozważania

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.

Niezawodność

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.

  • Tę architekturę OLTP można wdrożyć w wielu regionach. Może również mieć warstwę danych replikowaną geograficznie.

  • Usługi baz danych platformy Azure obsługują nadmiarowość strefy i mogą zostać przełączone w tryb failover do węzła pomocniczego, jeśli wystąpi awaria lub aby zezwolić na działania konserwacyjne.

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nieprawidłowym użyciem cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca zabezpieczeń.

  • Usługa ExpressRoute tworzy prywatne połączenie z platformą Azure ze środowiska lokalnego. Możesz również użyć sieci VPN typu lokacja-lokacja.

  • Identyfikator Microsoft Entra może uwierzytelniać zasoby i kontrolować dostęp przy użyciu kontroli dostępu opartej na rolach platformy Azure.

  • Usługi baz danych na platformie Azure obsługują różne opcje zabezpieczeń, takie jak szyfrowanie danych magazynowanych.

  • Aby uzyskać ogólne wskazówki dotyczące projektowania bezpieczniejszych rozwiązań, zobacz Szybkie łącza zabezpieczeń.

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.

Użyj kalkulatora cen platformy Azure , aby oszacować koszty implementacji.

Doskonałość operacyjna

Doskonałość operacyjna obejmuje procesy operacyjne, które wdrażają aplikację i działają w środowisku produkcyjnym. Aby uzyskać więcej informacji, zobacz Lista kontrolna projektu dotycząca doskonałości operacyjnej.

W tym scenariuszu użyto usług Azure Monitor i Application Insights do monitorowania kondycji zasobów platformy Azure. Możesz ustawić alerty w celu proaktywnego zarządzania.

Efektywność operacyjna

Wydajność odnosi się do możliwości skalowania obciążenia w celu efektywnego zaspokojenia wymagań użytkowników. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.

  • Ta architektura korzysta z usług PaaS platformy Azure, takich jak App Service, które mają możliwości skalowania automatycznego.

  • Aby uzyskać więcej informacji, zobacz Autoskalowanie.

Współautorzy

Firma Microsoft utrzymuje ten artykuł. Następujący współautorzy napisali ten artykuł.

Główni autorzy:

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

Dalsze kroki

Zapoznaj się z poniższymi powiązanymi architekturami i powiązanymi informacjami technicznymi.