Udostępnij za pośrednictwem


Ponowne hostowanie kontrolerów domeny IMS i IMS DB na platformie Azure przy użyciu usługi Raincode IMSql

Zestawy skalowania maszyn wirtualnych Azure
Azure Logic Apps
Wystąpienie zarządzane Azure SQL
Azure Virtual Network
Azure ExpressRoute

W tej architekturze opisano sposób implementowania obciążenia aplikacji mainframe systemu zarządzania informacjami (IMS) na platformie Azure przy użyciu narzędzia IMSql firmy Raincode. Migracja aplikacji bazy danych IMS (DB) do rozwiązania natywnego dla chmury jest bardziej złożona niż migracja aplikacji relacyjnej bazy danych. W tym artykule opisano sposób bezproblemowego ponownego hostowania obciążenia IMS komputera mainframe, które ma krytyczne funkcje i możliwości systemu IMS na platformie Azure. Nie musisz tłumaczyć ani modyfikować istniejącej aplikacji.

Architektura obciążeń IMS DB/DC przed migracją

Diagram przedstawiający architekturę obciążenia IMS DB/DC przed migracją.

Przepływ danych

Poniższy przepływ danych odpowiada poprzedniemu diagramowi:

  1. Użytkownicy łączą się z komputerem mainframe za pośrednictwem protokołu Transmission Control Protocol lub protokołu internetowego przy użyciu standardowych protokołów komputerów 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 front-end aplikacji użytkownicy wchodzą w interakcję z ekranami IMS lub ze stronami internetowymi.
  4. Kod aplikacji korzysta z możliwości przechowywania danych (hierarchicznej) warstwy danych zaplecza IMS DB.
  5. Wszystkie operacje na dużych zbiorach danych w trybie offline są wykonywane za pośrednictwem zadań wsadowych.
  6. Wraz z przetwarzaniem 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.

Architektura IMSql na platformie Azure

Diagram przedstawiający architekturę IMSql na platformie Azure.

Pobierz plik programu Visio tej architektury.

Przepływ pracy

Poniższy przepływ pracy odpowiada poprzedniemu diagramowi:

  1. Serwer terminali IMSql

    Tradycyjnie, użytkownicy lokalni uzyskują dostęp do interfejsu mainframe z/OS za pośrednictwem wewnętrznego terminala IBM lub oprogramowania do emulacji terminala. Aplikacja, która ma geograficznie rozproszoną sieć z tysiącami użytkowników, może łączyć się z komputerami mainframe za pośrednictwem dowolnej formy terminala. Gdy aplikacja IMS Data Communications (DC) jest ponownie hostowana w rozproszonym systemie opartym na chmurze, należy centralnie hostować aplikację i zasób, a następnie opublikować je dla zdalnych urządzeń klienckich. Za pomocą serwerów terminali IMSql można hostować i publikować aplikację i zasób na platformie Azure.

  2. Broker usług SQL Server

    W systemie mainframe IMS DC koordynuje warstwę komunikacyjną między terminalami użytkownika a programami aplikacji, przesyłając i przetwarzając komunikaty w regionie kontrolnym. Po ponownym hostowaniu broker usług SQL Server organizuje tę asynchroniczną warstwę komunikacji. Broker usług umożliwia komunikację za pośrednictwem swojej struktury dostarczania komunikatów i skaluje komunikaty w poziomie do oddzielnych serwerów przetwarzania, bieżących użytkowników i ich przetwarzania transakcji.

  3. Serwer przetwarzania IMSql

    Serwer przetwarzania uruchamia ponownie skompilowany kod Raincode dla programów IMS w .NET Framework lub .NET Core. Zawiera podstawową infrastrukturę, która pozwala ponownie skompilowanym programom działać efektywnie z poprawnym równoważnikiem funkcjonalnym. Serwer przetwarzania IMSql może generować dynamiczne zapytania i wywoływać procedury składowane w programie SQL Server, które są tworzone podczas ponownej kompilacji wywołań języka Data Language/One (DL/I).

  4. SQL Server jako hierarchiczny magazyn danych

    Dane są przechowywane w systemie IMS jako dane hierarchiczne. IMSql używa tego samego modelu w programie SQL Server. Ten model pozwala IMSql wykorzystać wysoką wydajność relacyjnych baz danych i logicznie zaimplementować segmenty hierarchiczne z IMS. Pozwala również na niezależne skalowanie systemu za pomocą segmentów. Dane segmentu są przechowywane w nieprzetworzonym formacie EBCDIC, więc nie trzeba ich konwertować na potrzeby aplikacji. Korzystając z platformy SQL jako usługi (PaaS), program IMSql może korzystać z podstawowych możliwości wysokiej dostępności i odzyskiwania po awarii zapewnianych przez platformę Azure.

  5. DL/I wywołuje API

    Interfejs API IMSql zapewnia, że wywołania IMS DL/I języka COBOL (Common Business Oriented Language) są tłumaczone na równoważne zapytania SQL. Następnie pobiera dane i zwraca je do programu użytkowego w oczekiwanym formacie. IMSql śledzi również pozycję programu w rekordzie tabeli w celu wykonywania operacji tworzenia, odczytywania, aktualizowania i usuwania, podobnie jak w przypadku hierarchicznej bazy danych. IMSql może tworzyć procedury składowane w SQL Server podczas kompilacji, aby reagować na wywołania DL/I wymagające dużej wydajności.

  6. Kod przeciwdeszczowy JCL

    Raincode Job Control Language (JCL) to interpreter zgodny z z/OS JCL. Interpreter Raincode JCL sprawia, że przejście od skomplikowanej logiki biznesowej osadzonej w JCL do platform Azure i .NET Core jest tak płynne, jak to tylko możliwe. Raincode JCL jest przeznaczony do uruchamiania kodu skompilowanego przez kompilatory Raincode COBOL, Programming Language One (PL/I) i ASM370. Może z łatwością uruchamiać kroki napisane w większości języków. Można go skonfigurować i dostosować, implementując kod napisany przez użytkownika, dzięki czemu można go dostosować do własnych potrzeb w zakresie planowania wsadowego.

  7. Widok danych IMSql

    IMSql definiuje relacyjne widoki SQL na podstawie podręczników lub układów rekordów, dzięki czemu dostęp do segmentów IMS można uzyskać za pośrednictwem zwykłych instrukcji SQL przez dowolną usługę platformy Azure i nowe aplikacje. Widoki IMSql są również zapisywalne, więc nowoczesne aplikacje mogą wchodzić w interakcje z IMS na oba sposoby za pośrednictwem programu SQL Server.

Migracja danych za pomocą IMSql

Diagram przedstawiający migrację danych za pośrednictwem IMSql.

Migracja obiektów bazy danych

  • Oryginalny opis bazy danych IMS DB (DBD) jest wyodrębniany i przenoszony z komputera mainframe. IMSql używa informacji DBD do tworzenia skryptów SQL w celu wygenerowania docelowej bazy danych i tabel w Azure SQL.

  • Każdy segment w IMS DBD jest tłumaczony jako tabela na platformie Azure.

  • Tabele składają się z pola kluczowego, pól wyszukiwania i pełnych danych segmentu IMS reprezentowanych w EBCDIC.

  • Struktura drzewa segmentów IMS jest zachowywana z relacją klucza podstawowego i obcego w tabelach Azure SQL.

Początkowe ładowanie danych

  • Dane z IMS DB są wyodrębniane za pomocą zadania mainframe i powszechnie dostępnych narzędzi do pobierania, takich jak DFSRRC00 i DFSURGL0.

  • Wyodrębnione pliki binarne można przenieść na platformę Azure przy użyciu łączników Azure Data Factory, takich jak protokół FTP (File Transfer Protocol) i protokół SFTP (Secure File Transfer Protocol) oraz rozwiązania opartego na języku Java, które działa w usługach podsystemu Unix.

  • IMSql ma wbudowane narzędzie do ładowania do kończenia początkowego ładowania danych. To narzędzie korzysta z narzędzia programu SQL Server do kopiowania zbiorczego (bcp). Gwarantuje to, że bcp jest uruchamiany i że wymagana integralność referencyjna między tabelami jest zgodna z oczekiwaną strukturą hierarchiczną.

  • Ta migracja dotyczy jednorazowego ładowania danych z IMS DB. Nie dotyczy współistnienia i skojarzonej synchronizacji danych.

Przepływ danych na potrzeby migracji

Poniższy przepływ danych odpowiada poprzedniemu diagramowi:

  1. Nierelacyjny magazyn danych komputera mainframe (IMS DB) składa się z dwóch składników: bazy danych DBD i rzeczywistych danych segmentu.

  2. Narzędzia IBM wyodrębniają i usuwają informacje z bazy danych IMS.

  3. Plik DBD i odpowiadające mu pliki danych binarnych są generowane oddzielnie.

  4. Pozyskiwanie danych:

    1. Łącznik FTP usługi Azure Data Factory kopiuje zestawy danych IMS komputera mainframe do usługi Azure Data Storage.
    2. Pliki danych IMS komputera mainframe są kopiowane do usługi Azure Blob Storage za pośrednictwem protokołu SFTP.
    3. Biblioteka JCL komputera mainframe służy do uruchamiania niestandardowego rozwiązania Java, które przenosi dane między systemem mainframe a usługą SFTP Blob Storage.
  5. Korzystając z pliku DBD, IMSql tworzy docelową bazę danych i tabele, zachowując niezbędną integralność referencyjną.

  6. Po utworzeniu obiektów danych IMSql ładuje dane do odpowiedniej tabeli w kolejności sekwencyjnej.

  7. Wszystkie migrowane dane IMS są hostowane w usłudze Azure SQL Managed Instance.

  8. Baza danych aplikacji składa się z nieprzetworzonych danych segmentowych do przetwarzania IMS w trybie online i przetwarzania wsadowego.

  9. Widoki odczytu i zapisu systemu IMS składają się z danych segmentów, które są rozwijane w zależności od układu zeszytu.

Migracja danych IMS DB przy użyciu Raincode zBridge

Raincode zBridge ułatwia dostęp do danych nierelacyjnych mainframe na platformie Azure, w tym danych z segmentów IMS/DB. Te dane stają się dostępne w bazach danych Azure SQL na potrzeby aplikacji rozproszonych, raportowania i celów analitycznych.

Pliki danych segmentów IMS są importowane do zBridge z pasującym skobookiem w języku COBOL lub dołączonym PL/I. Dane są wyświetlane jako wiersze SQL, które konwertują typy liczbowe komputerów mainframe na typy SQL i w razie potrzeby konwertują ciągi na ASCII. zBridge obsługuje również złożone struktury danych.

Komponenty

Ta architektura składa się z następujących usług w chmurze platformy Azure. W poniższych sekcjach opisano te usługi i ich role.

  • Azure Logic Apps to platforma w chmurze, na której można szybko tworzyć zaawansowane rozwiązania integracji. Użytkownicy komputerów mainframe są zaznajomieni z terminalami 3270 i łącznością lokalną. Mogą oni używać łącznika IBM 3270 usługi Logic Apps w celu uzyskiwania dostępu do aplikacji mainframe firmy IBM i uruchamiania ich. W zmigrowanym systemie wchodzą one w interakcję z aplikacjami platformy Azure za pośrednictwem publicznego Internetu lub połączenia prywatnego, które jest implementowane za pośrednictwem usługi Azure ExpressRoute. Identyfikator Microsoft Entra zapewnia uwierzytelnianie.

  • Usługa Azure Virtual Network to podstawowy blok konstrukcyjny dla sieci prywatnej na platformie Azure. Virtual Network umożliwia bezpieczniejszą komunikację między wieloma typami zasobów platformy Azure, takimi jak maszyny wirtualne platformy Azure, oraz z Internetem i sieciami lokalnymi. Virtual Network jest podobna do tradycyjnej sieci, która działa we własnym centrum danych, ale zapewnia korzyści z infrastruktury platformy Azure, takie jak skalowanie, dostępność i izolacja.

  • Usługa ExpressRoute rozszerza sieci lokalne na chmurę firmy Microsoft za pośrednictwem połączenia prywatnego, które ułatwia dostawca łączności. Za pomocą usługi ExpressRoute można nawiązywać połączenia z usługami w chmurze firmy Microsoft, takimi jak Azure i Microsoft 365.

  • Usługa Azure Virtual Machine Scale Sets zapewnia zautomatyzowane skalowanie maszyn wirtualnych ze zrównoważonym obciążeniem, które upraszcza zarządzanie aplikacjami i zwiększa dostępność.

  • SQL Managed Instance jest częścią portfolio usług Azure SQL. Jest to zarządzana, bezpieczniejsza instancja SQL up-to-date w chmurze.

  • Microsoft Entra ID to oparta na chmurze usługa zarządzania tożsamościami i dostępem w przedsiębiorstwie. Logowanie jednokrotne i uwierzytelnianie wieloskładnikowe Microsoft Entra ułatwiają użytkownikom logowanie się i uzyskiwanie dostępu do zasobów, jednocześnie pomagając chronić przed atakami cyberbezpieczeństwa.

Alternatywy

  • Możesz użyć SQL Server na maszynie wirtualnej platformy Azure jako alternatywy dla SQL Managed Instance. W tej architekturze zalecamy usługę SQL Managed Instance ze względu na korzyści, takie jak wysoka dostępność, bezproblemowa integracja z różnymi usługami platformy Azure oraz zarządzanie podstawowymi poprawkami zabezpieczeń i konserwacją.

  • Możesz użyć architektury pojedynczej maszyny wirtualnej platformy Azure jako alternatywy dla zestawów skalowania maszyn wirtualnych. Możesz użyć pojedynczych maszyn wirtualnych dla obciążeń, które mają stałe wymagania dotyczące obciążenia i wydajności oraz nie wymagają skalowania. Ta architektura używa zestawów skalowania maszyn wirtualnych do obsługi typowych obciążeń usługi IMS.

Szczegóły scenariusza

Systemy przetwarzania transakcji online (OLTP) typu mainframe mogą przetwarzać miliony transakcji dla ogromnej liczby użytkowników. IBM IMS to solidny, klasyczny menedżer transakcji dla komputerów mainframe, którego firmy używają do przetwarzania transakcji online. Składa się z dwóch głównych komponentów: komponentu IMS DC i podstawowego hierarchicznego komponentu DBMS IMS DB.

Narzędzie IMSql umożliwia hostowanie obciążeń opartych na systemie IMS na platformie Azure lub lokalnych implementacjach rozproszonych opartych na programie SQL Server. IMSql zapewnia kompleksowe rozwiązanie do uruchamiania obciążenia IMS, w tym składników aplikacji, danych i oprogramowania pośredniczącego. Może pozyskiwać hierarchiczne struktury danych (IMS DB) do relacyjnego modelu danych w SQL Server, SQL Server w usłudze Azure Virtual Machines i SQL Managed Instance. Ma wbudowane interfejsy API dla wywołań DL/I programu aplikacyjnego IMS i rozszerza warstwę danych poza obciążenie hierarchiczne na aplikacje natywne dla chmury, które są używane do danych relacyjnych.

To rozwiązanie zapewnia następujące korzyści:

  • Modernizuje infrastrukturę i zmniejsza wysokie koszty, ograniczenia i sztywność związane z monolitycznymi obciążeniami IMS dla komputerów mainframe.

  • Zmniejsza dług techniczny poprzez wdrażanie rozwiązań natywnych dla chmury i DevOps.

  • Wysyła dane IMS DB do aplikacji opartych na chmurze, które nie korzystają z komputera mainframe, w tym aplikacji AI i analitycznych.

Potencjalne przypadki użycia

To rozwiązanie może być przydatne do:

  • Bankowość, finanse, ubezpieczenia, administracja publiczna i handel detaliczny, które korzystają z systemu IMS dla komputerów mainframe. Wiele z tych organizacji uruchamia swoje podstawowe aplikacje OLTP i wsadowe w systemie IMS DB/DC.

  • Klienci korzystający z komputerów mainframe IBM zSeries, którzy muszą migrować aplikacje o znaczeniu krytycznym. Ci klienci chcą zachować ciągłość z innymi aplikacjami lokalnymi i uniknąć skutków całkowitego przebudowy.

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 i uwzględnić warstwę danych replikacji geograficznej.

  • Usługi Azure DB obsługują nadmiarowość strefy i mogą być przełączane w tryb failover do węzła pomocniczego podczas awarii lub w celu włączenia działań konserwacyjnych.

Bezpieczeństwo

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 zapewnia prywatne i wydajne połączenie z platformą Azure ze środowiska lokalnego.

  • Do uwierzytelniania zasobów platformy Azure można użyć identyfikatora Microsoft Entra. Do zarządzania uprawnieniami można używać kontroli dostępu opartej na rolach.

  • To rozwiązanie używa sieciowej grupy zabezpieczeń platformy Azure do zarządzania ruchem do i z zasobów platformy Azure. Aby uzyskać więcej informacji, zobacz Sieciowe grupy zabezpieczeń.

  • Te opcje zabezpieczeń są dostępne w usługach Azure DB:

    • Szyfrowanie danych w spoczynku
    • Dynamiczne maskowanie danych
    • Zawsze szyfrowane dane

Aby uzyskać ogólne wskazówki dotyczące projektowania wysoce bezpiecznych rozwiązań danych, zobacz Zabezpieczenia aparatu bazy danych SQL Server i Azure SQL Database.

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 Virtual Machine Scale Sets optymalizuje koszty, minimalizując liczbę niepotrzebnych wystąpień sprzętowych, które uruchamiają aplikację, gdy zapotrzebowanie jest niskie.

  • Usługa SQL Managed Instance udostępnia różne warstwy cenowe, takie jak ogólnego przeznaczenia i krytyczne dla działania firmy, aby zoptymalizować koszty na podstawie użycia i krytycznego działania firmy.

  • Rezerwacje platformy Azure i plan oszczędnościowy platformy Azure dla zasobów obliczeniowych z roczną lub trzyletnią umową zapewniają znaczne oszczędności w porównaniu z cenami płatności zgodnie z rzeczywistym użyciem. W wielu przypadkach można jeszcze bardziej obniżyć koszty, implementując elastyczność rozmiaru wystąpienia zarezerwowanego.

  • Korzyść użycia hybrydowego platformy Azure to korzyść licencjonowania, która może pomóc znacznie obniżyć koszty uruchamiania obciążeń w chmurze. Działa to przez umożliwienie korzystania z lokalnych licencji systemu Windows Server i programu SQL Server z obsługą pakietu Software Assurance na platformie Azure.

Skorzystaj z kalkulatora cen platformy Azure, aby oszacować koszt wdrożenia tego rozwiązania. Oto szacunki oparte na składnikach tego rozwiązania w rozsądnej skali.

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.

  • Usługa Virtual Machine Scale Sets zapewnia dostępność wystarczającej liczby maszyn wirtualnych, aby zaspokoić potrzeby w zakresie przetwarzania online i wsadowego o znaczeniu krytycznym.

  • Blob Storage to skalowalny system do przechowywania kopii zapasowych, danych archiwalnych, pomocniczych plików danych i innych nieustrukturyzowanych obiektów cyfrowych.

  • Doradca dostrajania aparatu baz danych analizuje bazy danych i przedstawia zalecenia, których można użyć do zoptymalizowania wydajności zapytań. Za pomocą Asystenta dostrajania aparatu baz danych można wybrać i utworzyć optymalny zestaw indeksów, widoków indeksowanych lub partycji tabel.

  • Skalowalność to jedna z najważniejszych cech PaaS. Umożliwia dynamiczne dodawanie zasobów do usługi, gdy są potrzebne. Za pomocą SQL Database można łatwo zmieniać zasoby, takie jak moc procesora CPU, pamięć, przepływność danych wejściowych/wyjściowych i magazyn, które są przydzielane do baz danych. Za pomocą SQL Managed Instance można dynamicznie dodawać zasoby do bazy danych przy minimalnym przestoju.

  • In-Memory OLTP to technologia dostępna w SQL Server i SQL Database służąca do optymalizowania wydajności przetwarzania transakcji, pozyskiwania danych, ładowania danych i scenariuszy danych przejściowych.

Współautorzy

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

Główni autorzy:

Inni współautorzy:

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

Dalsze kroki

Aby uzyskać więcej informacji, skontaktuj się z Azure Data Engineering — modernizacja komputera mainframe.

Zobacz architekturę towarzyszącą:

Więcej powiązanych zasobów: