Ponowne inżynieryj aplikacje wsadowe mainframe na platformie Azure

Azure Data Factory
Azure Databricks
Azure Kubernetes Service (AKS)
Azure SQL Database
Azure Storage

Ta architektura referencyjna pokazuje, jak za pomocą platformy Azure ponownie utworzyć aplikację wsadową z/OS w celu zapewnienia bezpiecznego, skalowalnego i wysoce dostępnego systemu w chmurze przy użyciu platformy Azure. Ze względu na stale zmieniające się potrzeby biznesowe dane i aplikacje muszą dostarczać i skalować bez wpływu na infrastrukturę. Re-engineering to the cloud can help firmom w finansach, zdrowiu, ubezpieczeniach i sprzedaży detalicznej zminimalizować czas dostarczania produktów lub funkcji oraz zmniejszyć koszty.

Architektura komputera Mainframe

Pierwszy diagram przedstawia architekturę typowej aplikacji wsadowej działającej na komputerze mainframe z/OS.

Diagram typowej aplikacji wsadowej działającej na komputerze mainframe z/OS.

Pobierz plik programu Visio tej architektury.

Przepływ pracy

  1. Procesy wsadowe mainframe można wyzwalać w zaplanowanym czasie przy użyciu harmonogramu operacji, planowania i kontroli (OPC). Mogą być one również wyzwalane przez komunikat umieszczony w kolejce komunikatów, taki jak komunikat informujący o utworzeniu pliku.

  2. Urządzenie magazynujące z bezpośrednim dostępem do komputera mainframe (DASD) służy do przechowywania plików wejściowych i wyjściowych; na przykład pliki proste wymagane przez aplikację. Proces wsadowy można wyzwolić, tworząc plik w magazynie DASD.

  3. Proces wsadowy to wykonanie zestawu zadań, takich jak zadanie wewnętrznie uruchamiane przez użytkownika lub program systemowy w celu wykonania określonego zadania. Zwykle procesy wsadowe są uruchamiane bez interakcji użytkownika. Wszystkie zadania wsadowe na komputerze mainframe są wykonywane pod kontrolą systemu wykonywania zadań (JES).

  4. Programy w procesach wsadowych mogą odczytywać/zapisywać dane z:

    • Baza danych oparta na plikach, na przykład metoda dostępu do magazynu wirtualnego (VSAM).
    • Relacyjna baza danych, na przykład Db2 lub Informix.
    • Nierelacyjna baza danych, na przykład System zarządzania informacjami (IMS).
    • Kolejka komunikatów.
  5. Dane wyjściowe wykonania zadania można monitorować za pomocą harmonogramu OPC lub Harmonogramu obciążeń w systemie OPC (TWS). System Display and Search Facility (SDSF) w systemie JES jest również używany na komputerze mainframe do sprawdzania stanu wykonywania zadania.

  6. Warstwa zarządzania zapewnia następujące usługi:

    • Kontrola źródła, na przykład Endevor lub Changeman.
    • Zabezpieczenia, takie jak zasób kontroli dostępu do zasobów (RACF). Te zabezpieczenia zapewniają uwierzytelnianie w przypadku uruchamiania partii, uzyskiwania dostępu do plików i uzyskiwania dostępu do bazy danych.
    • Zarządzanie danymi wyjściowymi, które obsługuje magazyn i wyszukiwanie dzienników wykonywania zadań.

Architektura platformy Azure

Drugi diagram pokazuje, jak można używać usług platformy Azure do ponownego tworzenia podobnej aplikacji z dodanymi możliwościami i elastycznością.

Diagram ponownie zaprojektowanej aplikacji wsadowej przy użyciu usług platformy Azure. Uwzględniono wiele przykładowych usług.

Pobierz plik programu Visio tej architektury.

Przepływ pracy

  1. Użyj jednego z następujących wyzwalaczy, aby uruchomić proces wsadowy platformy Azure.

    • Użyj harmonogramu zadań usługi Azure Databricks lub harmonogramu funkcji platformy Azure.
    • Utwórz cykliczne zadanie procesu wsadowego za pomocą azure Logic Apps.
    • Użyj zdarzenia magazynu, takiego jak tworzenie lub usuwanie pliku w usłudze Azure Blob lub File Storage.
    • Użyj wyzwalacza opartego na komunikatach, takiego jak nadejście komunikatu w azure Service Bus.
    • Utwórz wyzwalacz usługi Azure Data Factory.
  2. Przechowywanie plików migrowanych z komputera mainframe przy użyciu usługi Azure Blob Storage lub Azure Files. Procesy usługi Batch ponownie zaprojektowane na platformie Azure mogą odczytywać/zapisywać dane z tego magazynu.

  3. Platforma Azure udostępnia różne usługi do implementowania obciążenia wsadowego komputera mainframe. Wybierz określone usługi, które są oparte na wymaganiach biznesowych. Na przykład wymagana moc obliczeniowa, całkowity czas wykonywania, możliwość dzielenia procesu wsadowego komputera mainframe na mniejsze jednostki i czułość kosztów.

    1. Azure Databricks to platforma analizy oparta na platformie Apache Spark. Zadania można pisać w językach R, Python, Java, Scala i Spark SQL. Zapewnia środowisko obliczeniowe z szybkim czasem uruchamiania klastra, automatycznym kończeniem i skalowaniem automatycznym. Ma wbudowaną integrację z usługą Azure Storage, takimi jak Azure Blob Storage i Azure Data Lake Storage. Użyj usługi Azure Databricks, jeśli musisz przetwarzać duże ilości danych w krótkim czasie. Jest to również dobry wybór, jeśli musisz uruchamiać obciążenia wyodrębniania, przekształcania i ładowania (ETL).
    2. Usługi AKS i Service Fabric zapewniają infrastrukturę do implementowania architektury aplikacji opartej na usłudze. Może to nie być opłacalne dla jednej aplikacji. Możesz refaktoryzować aplikację mainframe przy użyciu środowiska Java Spring Boot. Najlepszym sposobem uruchamiania aplikacji Spring Boot na platformie Azure jest użycie usługi Azure Spring Apps, w pełni zarządzanej usługi Spring. Deweloperzy języka Java mogą jej używać do łatwego kompilowania i uruchamiania mikrousług Spring Boot na platformie Azure.
    3. Możesz ponownie zaprojektować aplikację wsadową mainframe przy użyciu platformy .NET lub Języka Java. Usługa Batch udostępnia infrastrukturę do uruchamiania tej aplikacji na dużą skalę. Tworzy pulę maszyn wirtualnych i zarządza nią, instaluje aplikacje, a następnie planuje uruchamianie zadań na maszynach wirtualnych. Nie ma oprogramowania do planowania zadań ani klastra do instalowania, zarządzania ani skalowania. Pisanie aplikacji w dowolnym języku programowania obsługiwanym przez system Windows lub Linux.
    4. Możesz ponownie zaprojektować krótkie programy wsadowe COBOL lub PL/1. W przypadku tych programów użyj usług platformy Azure, takich jak Functions, WebJobs lub Logic Apps.
  4. Platforma Azure udostępnia różne usługi danych do przechowywania i pobierania danych.

    • Możesz migrować relacyjne bazy danych mainframe, takie jak Db2 i Informix, z minimalnymi zmianami w widoczności relacyjnej bazy danych platformy Azure. Na przykład usługi relacyjnej bazy danych, takie jak maszyna wirtualna Azure SQL, usługa Azure SQL DB lub wystąpienie zarządzane usługi Azure SQL. Możesz również użyć dowolnego systemu zarządzania relacyjnymi bazami danych typu open source (RDBMS), takiego jak Azure PostgreSQL. Wybór bazy danych platformy Azure zależy od typu obciążenia, zapytań między bazami danych, wymagań dotyczących zatwierdzania dwufazowego i wielu innych czynników.
    • Można migrować bazy danych nierelacyjnych komputerów mainframe, takich jak IMS, zintegrowany system zarządzania danymi (IDMS) lub vsAM do usługi Azure Cosmos DB. Usługa Azure Cosmos DB zapewnia szybkie czasy odpowiedzi, automatyczną i natychmiastową skalowalność oraz gwarantowaną szybkość w dowolnej skali. Jest to ekonomiczna opcja dla nieprzewidywalnych lub sporadycznych obciążeń o dowolnym rozmiarze lub skali. Deweloperzy mogą łatwo rozpocząć pracę bez konieczności planowania pojemności lub zarządzania nią.
    • Możesz użyć usługi Azure Cache for Redis, aby przyspieszyć reprojektowaną aplikację.
  5. Aplikacje, system operacyjny i zasoby platformy Azure mogą używać agentów do wysyłania dzienników i metryk do dzienników usługi Azure Monitor.

    • usługa Application Insights monitoruje zmigrowane aplikacje. Automatycznie wykrywa anomalie wydajności i zawiera zaawansowane narzędzia analityczne ułatwiające diagnozowanie problemów.
    • usługi Azure Log Analytics ułatwia przechowywanie, indeksowanie, wykonywanie zapytań i uzyskiwanie analiz na podstawie zebranych danych dziennika.

    Możesz użyć danych wyjściowych usługi Log Analytics i Application Insights, aby utworzyć alerty i pulpity nawigacyjne lub wyeksportować je do usług zewnętrznych. Możesz również użyć danych wyjściowych, aby wykonać akcję podobną do skalowania maszyny wirtualnej.

  6. Ta warstwa zapewnia usługi platformy Azure do zarządzania kontrolą źródła, zabezpieczeniami i danymi wyjściowymi. Te usługi mogą składać się z usług Azure DevOps i Microsoft Entra ID.

Składniki

Sieć i tożsamość

  • usługi Azure ExpressRoute: usługa ExpressRoute umożliwia rozszerzanie sieci lokalnych na chmurę firmy Microsoft za pośrednictwem połączenia prywatnego od dostawcy połączenia. Usługa ExpressRoute umożliwia nawiązywanie połączeń z usługami w chmurze firmy Microsoft, takimi jak Microsoft Azure i Office 365.
  • azure VPN Gateway: brama sieci VPN to określony typ bramy sieci wirtualnej, która służy do wysyłania zaszyfrowanego ruchu między siecią wirtualną platformy Azure a lokalizacją lokalną za pośrednictwem publicznego Internetu.
  • microsoft Entra ID: Microsoft Entra ID to usługa zarządzania tożsamościami i dostępem, która może być synchronizowana z katalogiem lokalnym.

Aplikacja

  • Logic Apps: Usługa Logic Apps ułatwia tworzenie i uruchamianie zautomatyzowanych zadań cyklicznych i procesów zgodnie z harmonogramem. Możesz wywoływać usługi wewnątrz platformy Azure i poza nim, takie jak punkty końcowe HTTP lub HTTPS. Możesz również publikować komunikaty w usługach platformy Azure, takich jak Azure Service Bus, lub pobierać pliki przekazane do udziału plików.
  • usługi Service Bus: możesz użyć usługi Service Bus do obsługi komunikatów między interfejsem użytkownika a usługami zaplecza. Ten system może rozdzielić aplikacje i usługi oraz zwiększyć niezawodność i użycie.
  • azure Databricks: Azure Databricks to oparte na chmurze narzędzie do inżynierii danych używane do przetwarzania i przekształcania dużych ilości danych. Następnie możesz eksplorować te dane za pomocą modeli uczenia maszynowego.
  • azure Spring Apps: usługa Azure Spring Apps ułatwia wdrażanie i uruchamianie mikrousług Spring na platformie Azure oraz zarządzanie nimi. Obsługuje zarówno język Java, jak i platformę .NET Core.
  • usługi AKS: usługa AKS upraszcza wdrażanie zarządzanego klastra Kubernetes na platformie Azure przez odciążenie obciążenia operacyjnego na platformę Azure.
  • usługi Batch: usługa Batch jest przeznaczona do uruchamiania przetwarzania wsadowego ogólnego przeznaczenia w chmurze na wielu maszynach wirtualnych, które mogą być skalowane na podstawie wykonywanego obciążenia. Jest to idealne rozwiązanie w przypadku przypadków użycia etl lub sztucznej inteligencji, w których wiele zadań jest wykonywanych równolegle, niezależnie od siebie.
  • Functions: użyj funkcji, aby uruchamiać małe fragmenty kodu bez obaw o infrastrukturę aplikacji. Dzięki usłudze Functions infrastruktura chmury udostępnia wszystkie serwery up-to- date, które należy zachować w aplikacji działającej na dużą skalę.
  • usługi Azure App Service: za pomocą webjobsfunkcji usługi App Service można kodować logikę biznesową w tle wielokrotnego użytku jako zadania internetowe.
  • usługi Azure Cache for Redis: aplikacje korzystające z dużej ilości danych zaplecza można opracowywać w celu skalowania i dostarczania wysoce zoptymalizowanej wydajności dzięki integracji z magazynem danych w pamięci, takim jak Redis. Usługa Azure Cache for Redis oferuje zarówno usługę Redis typu open source (OSS Redis), jak i produkt komercyjny z usługi Redis Labs, Redis Enterprise jako usługę zarządzaną.

Składowanie

Usługa Azure Storage udostępnia wiele warstw danych gorąca, chłodna i archiwum. Efektywne użycie tych warstw magazynowania może zapewnić korzyści związane z ceną do wydajności.

  • blob Storage: skalowalny i bezpieczny magazyn obiektów dla obciążeń natywnych dla chmury, archiwów, magazynów typu data lake, obliczeń o wysokiej wydajności i uczenia maszynowego.
  • usługi Azure Files: proste, bezpieczne i bezserwerowe udziały plików w chmurze klasy korporacyjnej. Usługa Azure Files może być szczególnie przydatna w przypadku ponownie zaprojektowanych rozwiązań mainframe. Zapewnia on skuteczny dodatek dla zarządzanego magazynu SQL.
  • Table Storage: magazyn par klucz-wartość noSQL na potrzeby szybkiego programowania przy użyciu dużych zestawów danych częściowo ustrukturyzowanych.
  • usługi Azure Queue Storage: proste, ekonomiczne, trwałe kolejkowanie komunikatów dla dużych obciążeń.
  • azure SQL: w pełni zarządzana rodzina usług platformy Azure dla programu SQL Server. Dane relacyjne można migrować i używać ich wydajnie z innymi usługami platformy Azure, takimi jak Azure SQL Managed Instance, SQL Server w usłudze Azure Virtual Machines i Azure Database for MariaDB.
  • azure Cosmos DB: oferta no-SQL, której można użyć do migrowania danych innych niż tabelaryczne z komputerów mainframe.

Monitoring

  • Azure Monitor: usługa Azure Monitor oferuje kompleksowe rozwiązanie do zbierania, analizowania i działania na telemetrii ze środowisk w chmurze i środowiskach lokalnych. Zawiera ona funkcje usługi Application Insights, dzienników usługi Azure Monitor i usługi Azure Log Analytics.

Zarządzanie

  • azure DevOps: ponowne tworzenie aplikacji mainframe na platformie Azure podczas każdej fazy tworzenia oprogramowania i współpracy zespołowej. Metodyka DevOps oferuje następujące usługi:

    • usługi Azure Boards: planowanie zwinne, śledzenie elementów roboczych, wizualizacje i narzędzie do raportowania.
    • azure Pipelines: język, platforma i niezależna od chmury platforma ciągłej integracji/ciągłego wdrażania z obsługą kontenerów lub platformy Kubernetes.
    • usługi Azure Repos: udostępnia prywatne repozytoria git hostowane w chmurze.
    • azure Artifacts: zapewnia zintegrowane zarządzanie pakietami z obsługą źródeł pakietów publicznych lub prywatnych programu Maven, npm, Python i NuGet.
    • usługi Azure Test Plans: udostępnia zintegrowane, planowane i eksploracyjne rozwiązanie do testowania.

Szczegóły scenariusza

Komputery Mainframe są używane głównie do przetwarzania dużych ilości danych. Przetwarzanie wsadowe to sposób przetwarzania dużej liczby transakcji, które są grupowane razem, a następnie zbiorcze aktualizowanie bazy danych. Po wyzwoleniu wymagają one minimalnej interakcji z użytkownikiem. Na przykład systemy mainframe umożliwiają bankom i innym instytucjom finansowym wykonywanie przetwarzania końcowego kwartału i tworzenie raportów, takich jak kwartalne akcje lub zestawienia emerytalne.

Potencjalne przypadki użycia

To rozwiązanie jest idealne dla branży finansów, ubezpieczeń, opieki zdrowotnej i handlu detalicznego. Użyj tej architektury, aby ponownie zaprojektować aplikacje mainframe na platformie Azure. Architektura działa najlepiej w następujących celach:

  • Intensywnie korzystające z zasobów aplikacje wsadowe mainframe.
  • Aplikacje wsadowe, które wymagają wysokiej mocy obliczeniowej w określonym czasie, na przykład koniec miesiąca, kwartału lub roku.
  • Procesy wsadowe mainframe, które są powtarzalne, a nie intensywnie obciążające zasoby, ale mogą wymagać wykorzystania przez systemy zewnętrzne.

Zagadnienia dotyczące

Te zagadnienia obejmują implementację filarów platformy Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Niezawodność

Niezawodność zapewnia, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Design review checklist for Reliability(Lista kontrolna dotycząca niezawodności).

  • Oprócz usługi Log Analytics można monitorować kondycję zasobu platformy Azure przy użyciu usług Azure Monitor i Application Insights. Ustaw alerty, aby aktywnie zarządzać kondycją zasobu.
  • Aby uzyskać więcej informacji na temat odporności na platformie Azure, zobacz Projektowanie niezawodnych aplikacji platformy Azure.

Bezpieczeństwo

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotyczącazabezpieczeń.

  • Ta architektura referencyjna używa usługi ExpressRoute do prywatnego i wydajnego połączenia z platformą Azure ze środowiska lokalnego. Można jednak również utworzyć lokacja-lokacja sieci VPN.
  • Zasoby platformy Azure można uwierzytelnić przy użyciu identyfikatora Entra firmy Microsoft. Uprawnienia można zarządzać za pomocą kontroli dostępu opartej na rolach (RBAC).
  • Usługi baz danych na platformie Azure obsługują różne opcje zabezpieczeń, takie jak Szyfrowanie danych w spoczynku.
  • Aby uzyskać więcej informacji na temat projektowania bezpiecznych rozwiązań, zobacz dokumentację zabezpieczeń platformy Azure.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dlaoptymalizacji kosztów.

Skorzystaj z kalkulatora cen platformy Azure , aby oszacować koszty zasobów platformy Azure.

Zobacz aplikacji wsadowej azure mainframe, aby zapoznać się z przykładowym oszacowaniem kosztów usług.

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 przeglądu projektu dotycząca doskonałości operacyjnej.

  • Architektura wsadowa w tym artykule korzysta z obliczeń wielowęźleowych lub usług PaaS, które zapewniają wysoką dostępność.
  • Usługi bazy danych platformy Azure obsługują nadmiarowość stref i można zaprojektować je tak, aby mogły przejść w tryb failover do węzła pomocniczego, jeśli wystąpi awaria lub podczas okna obsługi.

Wydajność

Wydajność to możliwość skalowania obciążenia w celu spełnienia wymagań, które są na nim nakładane przez użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.

  • Następujące usługi platformy Azure w tej architekturze mają możliwości skalowania automatycznego:

    • Azure Databricks
    • Usługa AKS
    • Aplikacje Spring
    • Partia
    • Azure Functions
    • Logic Apps
  • Aby uzyskać więcej informacji na temat skalowania automatycznego na platformie Azure, zobacz przewodnik skalowania automatycznego.

Współpracowników

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

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

Następne kroki

  • Aby uzyskać więcej informacji, skontaktuj się z datasqlninja@microsoft.com.
  • Zobacz przewodniki migracji bazy danych platformy Azure .