Strategie migracji aplikacji mainframe

Gdy większość zespołów migruje aplikacje ze środowisk mainframe na platformę Azure, zazwyczaj stosuje pragmatyczne podejście: ponownie wszędzie tam, gdzie i wszędzie tam, gdzie jest to możliwe. Następnie rozpoczynają wdrożenie etapowe, w którym aplikacje są ponownie napisane lub zastępowane.

Migracja aplikacji zwykle obejmuje co najmniej jedną z następujących strategii:

  • Ponowne hostowanie: przenieś istniejący kod, programy i aplikacje z komputera mainframe. Ponownie skompiluj kod do uruchomienia w emulatorze mainframe hostowanym w wystąpieniu chmury. Takie podejście zwykle rozpoczyna się od przenoszenia aplikacji do emulatora opartego na chmurze, a następnie migracji bazy danych do bazy danych opartej na chmurze. W przypadku tej strategii wymagana jest pewna inżynieria i refaktoryzacja wraz z konwersjami danych i plików.

    Alternatywnie można ponownie hostować przy użyciu tradycyjnego dostawcy hostingu. Jedną z głównych zalet chmury jest zarządzanie infrastrukturą outsourcingu. Znajdź dostawcę centrum danych, który hostuje obciążenia komputera mainframe. Ten model może kupić trochę czasu, zmniejszyć blokadę dostawcy i uzyskać tymczasowe oszczędności kosztów.

  • Wycofaj: wycofaj aplikacje, które nie są już potrzebne przed migracją.

  • Ponowne kompilowanie: Niektóre organizacje decydują się na całkowite ponowne zapisywanie programów przy użyciu nowoczesnych technik. Biorąc pod uwagę dodatkowe koszty i złożoność tego podejścia, nie jest tak powszechne, jak podejście metodą lift-and-shift. Często po migracji tego typu warto rozpocząć zastępowanie modułów i kodu przy użyciu aparatów przekształcania kodu.

  • Zastąp: to podejście zastępuje funkcje mainframe równoważnymi funkcjami w chmurze. Oprogramowanie jako usługa (SaaS) jest jedną z opcji. W modelu Saas używasz rozwiązania utworzonego specjalnie dla przedsiębiorstwa, takiego jak finanse, zasoby ludzkie, produkcja lub planowanie zasobów przedsiębiorstwa. Ponadto wiele aplikacji specyficznych dla branży jest teraz dostępnych do rozwiązywania problemów, które niestandardowe rozwiązania mainframe używane do wcześniejszego rozwiązywania.

Zacznij od zaplanowania obciążeń, które mają zostać początkowo zmigrowane, a następnie określ wymagania dotyczące przenoszenia skojarzonych aplikacji, starszych baz kodu i baz danych.

Emulacja komputera Mainframe na platformie Azure

Usługi platformy Azure mogą emulować tradycyjne środowiska mainframe. Następnie można ponownie użyć istniejącego kodu i aplikacji mainframe. Można emulować typowe składniki serwera, takie jak przetwarzanie transakcji online (OLTP), systemy przetwarzania wsadowego i pozyskiwania danych.

Systemy OLTP

Wiele komputerów mainframe ma systemy OLTP, które przetwarzają tysiące lub miliony aktualizacji dla dużej liczby użytkowników. Aplikacje te często używają przetwarzania transakcji i oprogramowania do obsługi formularzy ekranowych, takiego jak system kontroli informacji klienta (CICS), system zarządzania informacjami (IMS) i procesor interfejsu terminalowego (TIP).

Podczas przenoszenia aplikacji OLTP na platformę Azure emulatory dla monitorów przetwarzania transakcji mainframe (TP) mogą działać jako infrastruktura jako usługa (IaaS) przy użyciu maszyn wirtualnych na platformie Azure. Serwery internetowe mogą również implementować obsługę ekranu i funkcje formularzy. Połącz to podejście z interfejsami API bazy danych, takimi jak Obiekty danych ActiveX (ADO), Open Database Połączenie ivity (ODBC) i Java Database Połączenie ivity (JDBC) na potrzeby dostępu do danych i transakcji.

Aktualizacje wsadowe ograniczone czasowo

Wiele systemów mainframe wykonuje comiesięczne lub roczne aktualizacje milionów rekordów kont, takich jak używane w bankowości, ubezpieczeniach i instytucjach rządowych. Komputery Mainframe obsługują te typy obciążeń, oferując systemy obsługi danych o wysokiej przepływności. Zadania wsadowe komputerów Mainframe są zwykle szeregowe i zależą od operacji wejściowych i wyjściowych na sekundę (IOPS) udostępnianych przez szkielet komputera mainframe pod kątem wydajności.

Środowiska wsadowe oparte na chmurze używają równoległych sieci obliczeniowych i szybkich w celu zapewnienia wydajności. Jeśli musisz zoptymalizować wydajność wsadową, platforma Azure udostępnia różne opcje obliczeniowe, magazynowe i sieciowe.

Systemy pozyskiwania danych

Komputery Mainframe pozyskiwają duże partie danych z handlu detalicznego, usług finansowych, produkcji i innych rozwiązań do przetwarzania. Za pomocą platformy Azure możesz użyć prostych narzędzi wiersza polecenia, takich jak Narzędzie AzCopy do kopiowania danych do i z lokalizacji magazynu. Możesz również użyć usługi Azure Data Factory , aby pozyskiwać dane z różnych magazynów danych oraz tworzyć i planować oparte na danych przepływy pracy.

Oprócz środowisk emulacji platforma Azure udostępnia usługi typu platforma jako usługa (PaaS) i usługi analityczne, które mogą ulepszać istniejące środowiska mainframe.

Migrowanie obciążeń OLTP na platformę Azure

Podejście metodą "lift-and-shift" to opcja braku kodu umożliwiająca szybkie migrowanie istniejących aplikacji na platformę Azure. Każda aplikacja migruje w taki sposób, jak to jest, co zapewnia korzyści z chmury bez ryzyka lub kosztów wprowadzania zmian w kodzie. Używanie emulatora do monitorowania przetwarzania transakcji mainframe (TP) w pomoc techniczna platformy Azure takie podejście.

Monitory TP są dostępne od różnych dostawców i działają na maszynach wirtualnych— opcja infrastruktura jako usługa (IaaS) na platformie Azure. Na poniższych diagramach przedstawiono przed i po aplikacji online wspieranej przez IBM DB2, system zarządzania relacyjnymi bazami danych (DBMS) na komputerze mainframe IBM z/OS. Baza danych DB2 dla systemu z/OS używa plików metody dostępu do magazynu wirtualnego (VSAM) do przechowywania danych i indeksowanej sekwencyjnej metody dostępu (ISAM) dla plików prostych. Ta architektura używa również funkcji CICS do monitorowania transakcji.

Diagram of a

Na platformie Azure środowiska emulacji uruchamiają menedżera TP i zadania wsadowe korzystające z listy JCL. W warstwie danych db2 jest zastępowana przez usługę Azure SQL Database, chociaż można również używać programu Microsoft SQL Server, DB2 LUW lub Oracle Database. Emulator obsługuje usługi IMS, VSAM i SEQ. Narzędzia do zarządzania systemem mainframe są zastępowane przez usługi platformy Azure i oprogramowanie od innych dostawców, które działają na maszynach wirtualnych.

Serwery internetowe często implementują obsługę ekranu i funkcje wprowadzania formularzy, które można łączyć z interfejsami API bazy danych, takimi jak ADO, ODBC i JDBC na potrzeby dostępu do danych i transakcji. Dokładna konfiguracja składników IaaS platformy Azure do użycia zależy od preferowanego systemu operacyjnego. Przykład:

  • Maszyny wirtualne oparte na systemie Windows: Internetowy serwer informacji (IIS) wraz z ASP.NET na potrzeby obsługi ekranu i logiki biznesowej. Użyj ADO.NET na potrzeby dostępu do danych i transakcji.

  • Maszyny wirtualne oparte na systemie Linux: serwery aplikacji oparte na języku Java, takie jak obsługa ekranu procesu Apache Tomcat i funkcje biznesowe oparte na języku Java. Użyj JDBC do uzyskiwania dostępu do danych i transakcji.

Migrowanie obciążeń wsadowych na platformę Azure

Operacje wsadowe na platformie Azure różnią się od typowego środowiska wsadowego na komputerach mainframe. Zadania wsadowe mainframe są zwykle szeregowe i zależą od liczby operacji we/wy na sekundę zapewnianych przez szkielet komputera mainframe pod kątem wydajności. Środowiska wsadowe oparte na chmurze używają przetwarzania równoległego i szybkich sieci w celu zapewnienia wydajności.

Aby zoptymalizować wydajność wsadową przy użyciu platformy Azure, rozważ opcje obliczeń, magazynu, sieci i monitorowania w następujący sposób.

Compute

Użyj:

  • Maszyny wirtualne z najwyższą szybkością zegara. Aplikacje mainframe są często jednowątkowy, a procesory mainframe mają dużą szybkość zegara.

  • Maszyny wirtualne z dużą pojemnością pamięci umożliwiają buforowanie danych i obszarów roboczych aplikacji.

  • Maszyny wirtualne o większej gęstości procesorów wirtualnych korzystają z przetwarzania wielowątkowego, jeśli aplikacja obsługuje wiele wątków.

  • Przetwarzanie równoległe, ponieważ platforma Azure łatwo skaluje się w poziomie na potrzeby przetwarzania równoległego, zapewniając większą moc obliczeniową dla przebiegu wsadowego.

Storage

Użyj:

  • Dyski SSD w warstwie Premium platformy Azure lub usługa Azure Ultra Disk Storage dla maksymalnej dostępnej liczby operacji we/wy na sekundę.

  • Rozkładanie z wieloma dyskami w celu uzyskania większej liczby operacji we/wy na sekundę na rozmiar magazynu.

  • Partycjonowanie magazynu w celu rozłożenia operacji we/wy na wiele urządzeń usługi Azure Storage.

Sieć

Monitorowanie

  • Użyj narzędzi do monitorowania, usługi Azure Monitor, Szczegółowe informacje aplikacji i dzienników platformy Azure. Te narzędzia ułatwiają monitorowanie nadmiernych przebiegów wsadowych i zmniejszanie wąskich gardeł.

Migrowanie środowisk deweloperskich

Architektury rozproszone chmury opierają się na innym zestawie narzędzi programistycznych, które zapewniają przewagę nowoczesnych rozwiązań i języków programowania. Aby ułatwić to przejście, użyj środowiska programistycznego z innymi narzędziami, które zostały zaprojektowane do emulowania środowisk IBM z/OS. Poniższa lista zawiera opcje od firmy Microsoft i innych dostawców:

Składnik Opcje platformy Azure
z/OS Windows, Linux lub Unix
CICS Usługi platformy Azure oferowane przez usługę Micro Focus, Oracle, GT Software (Poland), TmaxSoft, Raincode i NTT DATA lub ponownego zapisywania przy użyciu platformy Kubernetes
IMS Usługi platformy Azure oferowane przez firmę Micro Focus i Oracle
Asembler Usługi platformy Azure z platformy Raincode i TmaxSoft; lub COBOL, C lub Java albo mapowanie na funkcje systemu operacyjnego
JCL Lista JCL, program PowerShell lub inne narzędzia skryptowe
COBOL COBOL, C lub Java
Naturalne Naturalne, COBOL, C lub Java
Fortran i PL/I Fortran, PL/I, COBOL, C lub Java
REXX i PL/I REXX, PowerShell lub inne narzędzia skryptowe

Migrowanie baz danych i danych

Migracja aplikacji zwykle obejmuje ponowne hostowanie warstwy danych. Program SQL Server, open source i inne relacyjne bazy danych można migrować do w pełni zarządzanych rozwiązań na platformie Azure. Usługi Azure SQL Managed Instance, Azure Database for PostgreSQL i Azure Database for MySQL można używać z usługą Azure Database Migration Service.

Możesz na przykład przeprowadzić migrację, jeśli warstwa danych mainframe używa:

  • Ibm DB2 lub baza danych IMS używają usługi Azure SQL Database, SQL Server, DB2 LUW lub Oracle Database na platformie Azure.

  • Program VSAM i inne pliki proste używają plików prostych metody sekwencyjnego indeksowania (ISAM) dla usługi Azure SQL Database, SQL Server, DB2 LUW lub Oracle.

  • Grupy dat generowania (GDG) są migrowane do plików na platformie Azure, które używają konwencji nazewnictwa i rozszerzeń nazw, które zapewniają podobne funkcje do grup GDG.

Warstwa danych IBM zawiera kilka kluczowych składników, które należy również migrować. Na przykład podczas migracji bazy danych migrujesz również kolekcję danych zawartych w pulach, z których każda zawiera zestawy danych z/OS VSAM. Migracja musi zawierać katalog identyfikujący lokalizacje danych w pulach magazynów. Ponadto plan migracji musi uwzględniać dziennik bazy danych, który zawiera rekord operacji wykonywanych w bazie danych. Baza danych może mieć jeden, dwa (podwójne lub alternatywne) lub cztery (podwójne i alternatywne) dzienniki.

Migracja bazy danych obejmuje również następujące składniki:

  • Menedżer bazy danych: zapewnia dostęp do danych w bazie danych. Menedżer bazy danych działa we własnej partycji w środowisku z/OS.
  • Program żądający aplikacji: akceptuje żądania z aplikacji przed przekazaniem ich do serwera aplikacji.
  • Karta zasobów online: zawiera składniki żądającego aplikacji do użycia w transakcjach CICS.
  • Adapter zasobów usługi Batch: implementuje składniki modułu żądającego aplikacji dla aplikacji wsadowych z/OS.
  • Interactive SQL (ISQL): działa jako aplikacja i interfejs CICS i umożliwia użytkownikom wprowadzanie instrukcji SQL lub poleceń operatora.
  • Aplikacja CICS: działa pod kontrolą ciCS, korzystając z dostępnych zasobów i źródeł danych w ciCS.
  • Aplikacja wsadowa: uruchamia logikę procesu bez interaktywnej komunikacji z użytkownikami, aby na przykład tworzyć zbiorcze aktualizacje danych lub generować raporty z bazy danych.

Optymalizowanie skalowania i przepływności dla platformy Azure

Mówiąc ogólnie, komputery mainframe są skalowane w górę, a chmura jest skalowana w poziomie. Aby zoptymalizować skalę i przepływność aplikacji w stylu mainframe działających na platformie Azure, ważne jest, aby zrozumieć, jak komputery mainframe oddzielają i izolować aplikacje. Mainframe z/OS używa funkcji nazywanej partycjami logicznymi (LPARs) do izolowania zasobów dla określonej aplikacji i zarządzania nimi w jednym wystąpieniu.

Na przykład komputer mainframe może używać jednego LPAR dla regionu CICS ze skojarzonymi programami COBOL i oddzielnego LPAR dla bazy danych DB2. Inne LPAR są często używane w środowiskach deweloperskich, testowych i przejściowych.

Na platformie Azure częściej używa się oddzielnych maszyn wirtualnych do tego celu. Architektury platformy Azure zwykle wdrażają maszyny wirtualne dla warstwy aplikacji, oddzielny zestaw maszyn wirtualnych dla warstwy danych, inny zestaw do programowania itd. Każdą warstwę przetwarzania można zoptymalizować przy użyciu najbardziej odpowiedniego typu maszyn wirtualnych i funkcji dla tego środowiska.

Ponadto każda warstwa może również zapewnić odpowiednie usługi odzyskiwania po awarii. Na przykład maszyny wirtualne produkcyjne i maszyny wirtualne bazy danych mogą wymagać gorącego lub ciepłego odzyskiwania, podczas gdy maszyny wirtualne programistyczne i testowe obsługują zimne odzyskiwanie.

Na poniższej ilustracji przedstawiono możliwe wdrożenie platformy Azure przy użyciu lokacji głównej i dodatkowej. W lokacji głównej produkcyjne, przejściowe i testowe maszyny wirtualne są wdrażane z wysoką dostępnością. Lokacja dodatkowa służy do tworzenia kopii zapasowych i odzyskiwania po awarii.

Diagram of a possible Azure deployment using a primary and a secondary site.

Przeprowadzanie migracji etapowej na platformę Azure

Przenoszenie rozwiązań z komputera mainframe na platformę Azure może obejmować migrację etapową. Najpierw przenosisz niektóre aplikacje, a inne pozostają na komputerze mainframe tymczasowo lub trwale. Takie podejście zwykle wymaga systemów, które umożliwiają współdziałanie aplikacji i baz danych między komputerami mainframe i platformą Azure.

Typowym scenariuszem jest przeniesienie aplikacji na platformę Azure przy jednoczesnym zachowaniu danych używanych przez aplikację w komputerze mainframe. Określone oprogramowanie umożliwia aplikacjom na platformie Azure uzyskiwanie dostępu do danych z komputera mainframe. Na szczęście wiele rozwiązań zapewnia integrację między platformą Azure i istniejącymi środowiskami mainframe, obsługą scenariuszy hybrydowych i migracją w czasie. Partnerzy firmy Microsoft, niezależni dostawcy oprogramowania i integratorzy systemów mogą ci pomóc w podróży.

Jedną z opcji jest serwer integracji hosta firmy Microsoft. To rozwiązanie zapewnia architekturę rozproszonej relacyjnej bazy danych (DRDA) wymaganą dla aplikacji na platformie Azure. Umożliwia aplikacjom dostęp do danych w bazie danych DB2, które pozostają na komputerze mainframe. Inne opcje integracji komputerów mainframe-to-Azure obejmują rozwiązania firmy IBM, Attunity, Codit, innych dostawców i opcje typu open source.

Rozwiązania partnerów

Jeśli rozważasz migrację komputera mainframe, ekosystem partnerski może pomóc.

Platforma Azure oferuje sprawdzoną, wysoce dostępną i skalowalną infrastrukturę dla systemów, które są obecnie uruchamiane na komputerach mainframe. Niektóre obciążenia mogą być migrowane z względną łatwością. Możesz ponownie hostować inne obciążenia, które zależą od starszego oprogramowania systemowego, takiego jak CICS i IMS. Korzystanie z rozwiązań partnerskich i migrowanie ich na platformę Azure w czasie. Niezależnie od wybranego wyboru firma Microsoft i nasi partnerzy mogą pomóc w optymalizacji pod kątem platformy Azure przy zachowaniu funkcji oprogramowania systemowego mainframe.

Dowiedz się więcej

Aby uzyskać więcej informacji, zobacz następujące zasoby: