Udostępnij przez


Refaktoryzacja aplikacji mainframe za pomocą usługi Astadia

Azure ExpressRoute
Azure Bastion
Azure Load Balancer
Link prywatny platformy Azure
Azure Site Recovery

Zautomatyzowane rozwiązanie refaktoryzacji COBOL firmy Astadia zapewnia aplikacje i bazy danych z obsługą chmury, które wykonują te same czynności co ich starsze odpowiedniki. Refaktoryzowane aplikacje działają jako aplikacje platformy Azure na maszynach wirtualnych udostępnianych przez usługę Azure Virtual Machines. Usługa Azure ExpressRoute udostępnia je użytkownikom, a usługa Azure Load Balancer dystrybuuje obciążenie.

Architektura komputera mainframe

Oto architektura komputera mainframe reprezentująca rodzaj systemu, który jest odpowiedni dla rozwiązania refaktoryzacji Astadia.

Diagram architektury mainframe, która jest odpowiednia do refaktoryzacji Astadia.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Dane wejściowe użytkownika TN3270 i HTTP(S) docierają przez protokół TCP/IP.
  2. Dane wejściowe komputera Mainframe używają standardowych protokołów mainframe.
  3. Istnieją aplikacje wsadowe i online.
  4. Aplikacje napisane w COBOL, PL/I, Assembler i innych językach działają w środowisku obsługującym.
  5. Dane są przechowywane w plikach i w hierarchicznych, sieciowych i relacyjnych bazach danych.
  6. Często używane usługi obejmują wykonywanie programów, operacje we/wy, wykrywanie błędów i ochronę w środowisku.
  7. Oprogramowanie pośredniczące i usługi narzędziowe zarządzają magazynem taśm, kolejkowaniem, danymi wyjściowymi i działaniami internetowymi.
  8. Każdy system operacyjny działa we własnej partycji.
  9. Partycje oddzielają różne obciążenia lub typy pracy.

Architektura platformy Azure

Oto architektura platformy Azure, która zastępuje funkcjonalność komputera mainframe refaktoryzowaną aplikacjami.

Diagram architektury rozwiązania refaktoryzacji Astadia.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

  1. Dane wejściowe pochodzą z klientów zdalnych i innych użytkowników za pośrednictwem usługi ExpressRoute. TCP/IP to podstawowy sposób nawiązywania połączenia z systemem.
    • Użytkownicy lokalni uzyskują dostęp do aplikacji internetowych za pośrednictwem portu 443 protokołu Transport Layer Security (TLS). Interfejsy użytkownika pozostają takie same, aby zminimalizować ponowne trenowanie użytkowników końcowych.
    • Dostęp administracyjny w środowisku lokalnym korzysta z hostów usługi Azure Bastion.
    • Użytkownicy platformy Azure łączą się z systemem za pośrednictwem komunikacji równorzędnej sieci wirtualnych.
  2. Usługa Load Balancer zarządza dostępem do klastrów obliczeniowych aplikacji. Usługa Load Balancer obsługuje zasoby obliczeniowe skalowane w poziomie do obsługi danych wejściowych. Działa na poziomie 7, na poziomie aplikacji lub na poziomie 4, w zależności od danych wejściowych aplikacji.
  3. Biblioteki środowiska uruchomieniowego Astadia uruchamiają refaktoryzowane aplikacje na maszynach wirtualnych platformy Azure. Zasoby obliczeniowe korzystają z dysków zarządzanych usługi Azure Premium SSD lub Azure Ultra Disk Storage z przyspieszoną siecią.
  4. Usługi danych w klastrach aplikacji obsługują wiele połączeń z trwałymi źródłami danych. Usługa Azure Private Link zapewnia łączność prywatną z sieci wirtualnej do usług platformy Azure. Źródła danych obejmują usługi danych, takie jak Azure SQL Database i Azure PostgreSQL.
  5. Magazyn danych jest lokalnie nadmiarowy lub geograficznie nadmiarowy, w zależności od użycia. Jest to mieszanka:
    • Magazyn o wysokiej wydajności:
      • SSD w warstwie Premium
      • Ultra Disk Storage
    • Dyski SSD w warstwie Standardowa platformy Azure, w tym obiekty blob, archiwum i magazyn kopii zapasowych
  6. Usługi danych platformy Azure zapewniają skalowalny i wysoce dostępny magazyn danych współużytkujący klastry obliczeniowe. Magazyn może być geograficznie nadmiarowy.
    • Usługa Azure Blob Storage służy jako strefa docelowa dla danych z zewnętrznych źródeł danych.
    • Usługa Azure Data Factory pozyskuje dane i synchronizuje wiele źródeł danych platformy Azure i zewnętrznych.
  7. Usługa Azure Site Recovery zapewnia odzyskiwanie po awarii dla maszyn wirtualnych i składników klastra kontenerów.
  8. Usługi takie jak Microsoft Entra ID, Azure Networking, Azure DevOps, Azure Stream Analytics, Azure Databricks, GitHub i Power BI są łatwo zintegrowane z zmodernizowanym systemem.

Składniki

  • Azure Bastion to w pełni zarządzana usługa, która zapewnia łączność protokołu RDP (Remote Desktop Protocol) lub Secure Shell (SSH) z maszynami wirtualnymi sieci wirtualnej z witryny Azure Portal za pośrednictwem protokołu TLS. Usługa Azure Bastion maksymalizuje zabezpieczenia dostępu administracyjnego, minimalizując otwarte porty. W tej architekturze usługa Azure Bastion zapewnia bezpieczny dostęp administracyjny do maszyn wirtualnych hostujących refaktoryzowane aplikacje COBOL.

  • Usługa Azure Data Factory to usługa wyodrębniania, transferu i ładowania (ETL) na potrzeby integracji i przekształcania danych bezserwerowych skalowanych w poziomie. Zapewnia on bezkodowy interfejs użytkownika umożliwiający intuicyjne tworzenie i monitorowanie i zarządzanie jednym okienkiem. W tej architekturze usługa Data Factory zapewnia możliwości integracji i przekształcania danych na potrzeby migrowania i przetwarzania danych mainframe w refaktoryzacyjnym rozwiązaniu.

  • Usługa Azure Storage jest skalowalnym, bezpiecznym magazynem w chmurze dla wszystkich danych, aplikacji i obciążeń. W tej architekturze usługa Azure Storage udostępnia różne opcje magazynowania do obsługi wymagań dotyczących danych refaktoryzowanych aplikacji mainframe.

    • Usługa Azure Disk Storage to magazyn blokowy o wysokiej wydajności dla aplikacji krytycznych dla działania firmy. Dyski zarządzane platformy Azure to woluminy magazynu na poziomie bloku zarządzane przez platformę Azure na maszynach wirtualnych. Dostępne typy dysków to Ultra Disk Storage, SSD w warstwie Premium, SSD w warstwie Standardowa i Hdd w warstwie Standardowa platformy Azure. W tej architekturze usługa Azure Disk Storage zapewnia magazyn o wysokiej wydajności dla refaktoryzowanych aplikacji przy użyciu dysków SSD w warstwie Premium lub Magazynu w warstwie Ultra Disk.

    • Azure Files to w pełni zarządzana usługa udziału plików, która zapewnia w pełni zarządzane udziały plików w chmurze, które są dostępne za pośrednictwem standardowego protokołu SMB (Industry Standard Server Message Block). Wdrożenia w chmurze i lokalne wdrożenia systemu Windows, Linux i macOS współdzielą dostęp przez współbieżne instalowanie udziałów plików. W tej architekturze usługa Azure Files udostępnia udostępniony magazyn plików, do którego można uzyskać dostęp przez wiele wystąpień refaktoryzowanych aplikacji.

    • Azure NetApp Files to usługa udziału plików klasy korporacyjnej, która udostępnia udziały plików klasy korporacyjnej platformy Azure obsługiwane przez usługę NetApp. Usługa Azure NetApp Files ułatwia przedsiębiorstwom migrowanie i uruchamianie złożonych aplikacji opartych na plikach bez konieczności zmieniania kodu. W tej architekturze usługa Azure NetApp Files zapewnia magazyn plików o wysokiej wydajności dla aplikacji mainframe klasy korporacyjnej, które wymagają zaawansowanych możliwości systemu plików.

    • Usługa Blob Storage jest skalowalnym i bezpiecznym magazynem obiektów na potrzeby archiwów, magazynów typu data lake, obliczeń o wysokiej wydajności, uczenia maszynowego i obciążeń natywnych dla chmury. W tej architekturze usługa Blob Storage zapewnia magazyn obiektów dla danych bez struktury i wymagań archiwalnych refaktoryzowanych aplikacji mainframe.

  • Usługa Azure Virtual Network to podstawowy blok konstrukcyjny sieci prywatnych platformy Azure. Maszyny wirtualne w sieciach wirtualnych komunikują się bezpiecznie ze sobą, z Internetem i z sieciami lokalnymi. Sieć wirtualna przypomina tradycyjną sieć lokalną, ale z zaletami infrastruktury platformy Azure, takimi jak skalowalność, wysoka dostępność i izolacja. W tej architekturze sieć wirtualna zapewnia bezpieczną podstawę sieci i łączność dla wszystkich składników refaktoryzowanego systemu mainframe.

  • ExpressRoute to usługa łączności, która rozszerza sieci lokalne na platformę Azure za pośrednictwem prywatnego, dedykowanego połączenia światłowodowego od dostawcy łączności. Usługa ExpressRoute ustanawia połączenia z usługami w chmurze firmy Microsoft, takimi jak Azure i Microsoft 365. W tej architekturze usługa ExpressRoute zapewnia bezpieczną łączność o wysokiej przepustowości między lokalnymi środowiskami komputerów mainframe i refaktoryzowanych aplikacji, które działają na platformie Azure.

  • Moduł równoważenia obciążenia to moduł równoważenia obciążenia sieciowego, który dystrybuuje ruch przychodzący do klastrów zasobów obliczeniowych. Używa konfigurowalnych reguł i innych kryteriów do dystrybucji ruchu. W tej architekturze usługa Load Balancer zapewnia wysoką dostępność i skalowalność dla refaktoryzowanych aplikacji mainframe przez dystrybucję ruchu użytkowników między wiele wystąpień maszyn wirtualnych.

  • Private Link to usługa, która zapewnia łączność prywatną z sieci wirtualnych do usług platformy Azure. Usługa Private Link upraszcza architekturę sieci i zabezpiecza połączenie między punktami końcowymi platformy Azure, eliminując publiczne narażenie na internet. W tej architekturze usługa Private Link umożliwia bezpieczne, prywatne połączenia między refaktoryzowaną aplikacją i usługami Platformy jako usługi (PaaS) platformy Azure.

  • Platforma Azure ma w pełni zarządzane relacyjne bazy danych, NoSQL i w pamięci, aby dopasować je do nowoczesnych potrzeb aplikacji. Zautomatyzowane zarządzanie infrastrukturą zapewnia skalowalność, dostępność i zabezpieczenia. Aby zapoznać się z omówieniem typów baz danych, zobacz Typy baz danych na platformie Azure. W tej architekturze bazy danych platformy Azure udostępniają trwałe rozwiązania magazynu danych do zastępowania systemów baz danych mainframe.

    • Azure Cosmos DB to w pełni zarządzana, szybka baza danych NoSQL z otwartymi interfejsami API dla dowolnej skali. W tej architekturze usługa Azure Cosmos DB zapewnia globalnie rozproszone usługi bazy danych NoSQL dla refaktoryzowanych aplikacji wymagających elastycznego, skalowalnego magazynu danych.

    • Usługa Azure Database for PostgreSQL to w pełni zarządzana baza danych oparta na aucie relacyjnej bazy danych Postgres typu open source. W przypadku aplikacji, które wymagają większej skali i wydajności, opcja wdrażania Hiperskala (Citus) skaluje zapytania na wielu maszynach przez ich fragmentowanie. W tej architekturze usługa Azure Database for PostgreSQL udostępnia usługi relacyjnych baz danych typu open source dla refaktoryzowanych aplikacji, które wymagają możliwości bazy danych PostgreSQL.

    • SQL Database to w pełni zarządzany aparat bazy danych. Usługa SQL Database zawsze działa w najnowszej stabilnej wersji programu SQL Server i poprawionego systemu operacyjnego o wysokiej dostępności. Wbudowane funkcje zarządzania bazami danych obejmują uaktualnianie, stosowanie poprawek, tworzenie kopii zapasowych i monitorowanie. W tej architekturze usługa SQL Database udostępnia zarządzane usługi relacyjnej bazy danych dla refaktoryzowanych aplikacji, które wymagają zgodności z programem SQL Server.

  • Site Recovery to usługa odzyskiwania po awarii, która dubluje maszyny wirtualne w regionie pomocniczym platformy Azure w celu szybkiego przejścia w tryb failover i odzyskiwania po awarii w przypadku awarii centrum danych platformy Azure. W tej architekturze usługa Site Recovery zapewnia funkcje ciągłości działania i odzyskiwania po awarii dla refaktoryzowanych aplikacji mainframe.

  • Virtual Machines to usługa obliczeniowa, która zapewnia wiele rozmiarów i typów skalowalnych maszyn wirtualnych na żądanie. Korzystając z maszyn wirtualnych, uzyskujesz elastyczność wirtualizacji i nie musisz kupować i konserwować sprzętu fizycznego. W tej architekturze maszyny wirtualne hostują refaktoryzowane aplikacje COBOL i udostępniają infrastrukturę obliczeniową do uruchamiania zmodernizowanych obciążeń.

Szczegóły scenariusza

Istnieją ważne powody, dla których firmy powinny zastąpić swoje systemy COBOL i mainframe:

  • Niedobór doświadczenia w domenie: Deweloperzy, którzy rozumieją technologię COBOL i mainframe, wycofują się, a niewielu deweloperów jest przeszkolonych, aby je zastąpić. Pula talentów jest stale mniejsza, a koszty i ryzyko polegania na wzroście COBOL.
  • Ograniczona elastyczność: COBOL i podstawowe systemy, które go obsługują, nie zostały zaprojektowane dla nowoczesnych aplikacji opartych na chmurze. Są one nieelastyczne i trudne do zintegrowania.
  • Wygórowane koszty: koszty sprzętu i oprogramowania mainframe IBM są wysokie. Rosną opłaty licencyjne i konserwacyjne dla pomocniczych aplikacji i baz danych mainframe.

Istnieje droga naprzód dla systemów COBOL i mainframe. Zautomatyzowane rozwiązanie refaktoryzacji COBOL firmy Astadia zapewnia aplikacje i bazy danych z obsługą chmury, które wykonują te same czynności co ich starsze odpowiedniki. Refaktoryzowane aplikacje działają jako aplikacje platformy Azure na maszynach wirtualnych udostępnianych przez usługę Azure Virtual Machines. Usługa Azure ExpressRoute udostępnia je użytkownikom, a usługa Azure Load Balancer dystrybuuje obciążenie.

Refaktoryzacja zmniejsza koszty i umożliwia głębszą integrację oraz dostosowywanie w celu spełnienia wymagań biznesowych. Kłopoty i koszty COBOL i mainframe dają drogę do nowego świata jakości i skalowalności, która obejmuje:

  • Zautomatyzowane testowanie i kontrola jakości.
  • Platformy Docker i Kubernetes na potrzeby konteneryzowanego wdrażania i aranżacji.

Rozwiązanie refaktoryzacji tworzy aplikacje, które:

  • Są funkcjonalnie równoważne ich oryginalnym odpowiednikom.
  • Są pisane w wybranym języku Java lub C#.
  • Obserwuj koncepcje i paradygmaty zorientowane na obiekty.
  • Są łatwe do utrzymania.
  • Wykonaj elementy, a także aplikacje, które zastępują, lub lepiej.
  • Są gotowe do użycia w chmurze.
  • Są dostarczane przy użyciu standardowego łańcucha narzędzi DevOps i najlepszych rozwiązań.

Proces refaktoryzacji obejmuje normalizację przepływu, restrukturyzację kodu, wyodrębnianie warstw danych, przebudowę danych i tworzenie pakietów na potrzeby rekonstrukcji. Identyfikuje sklonowany kod i zastępuje go obiektami udostępnionymi w celu łatwiejszej konserwacji i możliwości zarządzania. Proces identyfikuje i usuwa martwy kod, analizując zależności danych i kontroli.

Deweloperzy języka Java i C# dostosowują refaktoryzowane aplikacje do optymalizacji chmury przy użyciu standardowych narzędzi DevOps oraz koncepcji ciągłej integracji i ciągłego dostarczania (CI/CD). Takie narzędzia i metody nie są dostępne dla aplikacji mainframe. Optymalizacja zapewnia efektywność i korzyści biznesowe, takie jak elastyczność, szczegółowa definicja usługi i łatwa integracja z usługami natywnymi dla chmury.

Potencjalne przypadki użycia

Automatyczna refaktoryzacja jest dostępna dla większości dialektów i platform COBOL, w tym z/OS, OpenVMS i VME. Kandydaci do korzystania z niego obejmują organizacje, które chcą:

  • Modernizuj infrastrukturę i uniknie wysokich kosztów, ograniczeń i sztywności systemów mainframe.
  • Unikaj ryzyka niedoborów deweloperów COBOL i mainframe.
  • Zmniejszenie kosztów operacyjnych i wydatków kapitałowych.
  • Przenoszenie obciążeń komputerów mainframe do chmury bez kosztów i ryzyka długotrwałego ręcznego ponownego zapisywania.
  • Migrowanie aplikacji o krytycznym znaczeniu do chmury przy zachowaniu ciągłości pracy z innymi aplikacjami lokalnymi.
  • Umożliwia skalowanie systemów w poziomie i w pionie.
  • Implementowanie technik odzyskiwania po awarii.

Kwestie wymagające rozważenia

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

  • Architektura używa usługi Site Recovery do dublowania maszyn wirtualnych w regionie pomocniczym platformy Azure w celu szybkiego przejścia w tryb failover i odzyskiwania po awarii w przypadku awarii centrum danych platformy Azure.
  • Funkcja grup automatycznego trybu failover usługi SQL Database zapewnia ochronę danych, zarządzając replikacją bazy danych i trybem failover w regionie pomocniczym. Aby uzyskać więcej informacji, zobacz Omówienie grup automatycznego trybu failover i najlepsze rozwiązania (Azure SQL Database).
  • Odporność jest wbudowana w to rozwiązanie przy użyciu usługi Load Balancer. Jeśli jedna prezentacja lub serwer transakcji ulegnie awarii, inne serwery uruchamiają obciążenia.
  • Zalecamy utworzenie zestawów dostępności dla maszyn wirtualnych w celu zwiększenia dostępności. Aby uzyskać więcej informacji, zobacz Omówienie zestawów dostępności.
  • Zalecamy użycie replikacji geograficznej w celu zwiększenia niezawodności. Aby uzyskać więcej informacji, zobacz Nadmiarowość usługi Azure Storage.

Zabezpieczenia

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

  • 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ń.
  • Usługa Private Link dla usługi Azure SQL Database zapewnia prywatne, bezpośrednie połączenie odizolowane od sieci szkieletowej platformy Azure i działające między maszynami wirtualnymi i usługą SQL Database.
  • Usługa Azure Bastion maksymalizuje zabezpieczenia dostępu administratora, minimalizując otwarte porty. Zapewnia bezpieczną i bezproblemową łączność RDP/SSH z maszynami wirtualnymi sieci wirtualnej bezpośrednio z witryny Azure Portal za pośrednictwem protokołu TLS.

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.

  • Platforma Azure unika niepotrzebnych kosztów, identyfikując prawidłową liczbę typów zasobów, analizując wydatki w czasie i skalując z wyprzedzeniem w celu zaspokojenia potrzeb biznesowych bez nadmiernego wydatków.
  • Platforma Azure minimalizuje koszty, uruchamiając je na maszynach wirtualnych. Możesz wyłączyć maszyny wirtualne, które nie są używane, i udostępnić harmonogram znanych wzorców użycia. Aby uzyskać więcej informacji na temat optymalizacji kosztów maszyn wirtualnych, zobacz Maszyny wirtualne.
  • Maszyny wirtualne w tej architekturze używają dysków SSD w warstwie Premium lub Ultra Disk Storage. Aby uzyskać więcej informacji na temat opcji dysków i cen, zobacz Dyski zarządzane cennik.
  • Usługa SQL Database optymalizuje koszty przy użyciu zasobów obliczeniowych bezserwerowych i magazynu w warstwie Hiperskala, które są automatycznie skalowane. Aby uzyskać więcej informacji na temat opcji i cen usługi SQL Database, zobacz Cennik usługi Azure SQL Database.
  • Użyj kalkulatora cen, aby oszacować koszty implementacji tego rozwiązania.

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.

Refaktoryzacja nie tylko obsługuje szybsze wdrażanie chmury, ale także promuje wdrażanie metodyki DevOps i elastycznych zasad programowania. Masz pełną elastyczność w opcjach programowania i wdrażania produkcyjnego.

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.

To rozwiązanie obsługuje wdrażanie w kontenerach, maszynach wirtualnych lub zestawach skalowania maszyn wirtualnych. Kontenery i zestawy skalowania maszyn wirtualnych, w przeciwieństwie do maszyn wirtualnych, są skalowane w poziomie i szybko. Przesunięcie jednostki skalowania do kontenerów optymalizuje wykorzystanie infrastruktury.

Współautorzy

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

Główny autor:

Inny współautor:

Następne kroki

  • Aby uzyskać więcej informacji, skontaktuj się z nami pod adresem legacy2azure@microsoft.com.

Błękit

Witryna internetowa Astadia