Refaktoryzacja aplikacji mainframe z zaawansowanymi

Azure Files
Azure Load Balancer
Azure SQL Database
Azure Storage
Azure Virtual Machines

Zautomatyzowane refaktoryzacja rozwiązania COBOL zaawansowanego refaktoryzuje aplikacje COBOL, a także te napisane w ca-Gen, CA-Telon, Natural, ADSO i innych starszych językach, aby dostarczać aplikacje i bazy danych z obsługą chmury, które są funkcjonalnie równoważne ich starszym odpowiednikom. Zmniejsza to koszty, umożliwia głębszą integrację i umożliwia dostosowanie w celu spełnienia wymagań biznesowych. Ponadto odblokowuje zupełnie nowy świat jakości i skalowalności, od zautomatyzowanego testowania po zapewnienie jakości oraz możliwość korzystania z wdrożeń konteneryzowanych i aranżacji za pomocą platform Docker i Kubernetes.

Architektura komputera mainframe

Oto przykładowy system, w którym można używać zautomatyzowanego faktoringu:

Diagram architektury przedstawiający system mainframe zawierający starsze aplikacje językowe.

Przepływ pracy

Odp. Użytkownicy udostępniają dane wejściowe za pośrednictwem protokołu TCP/IP przy użyciu protokołów, takich jak TN3270, HTTP i HTTPS.

B. Dane wejściowe docierają przy użyciu standardowych protokołów mainframe.

C. Aplikacje wsadowe i online przetwarzają dane wejściowe.

D. COBOL, PL/I, Assembler i zgodne języki działają w środowisku z włączoną obsługą.

E. Pliki i bazy danych zapewniają magazyn danych. Typy baz danych obejmują hierarchiczne, sieciowe i relacyjne.

F. Usługi wykonują zadania dla aplikacji. Usługi, które są często włączone, obejmują wykonywanie programów, operacje we/wy, wykrywanie błędów i ochronę.

G. Oprogramowanie pośredniczące i usługi narzędziowe zarządzają takimi zadaniami jak magazyn taśm, kolejkowanie, wyjście i obsługa sieci Web.

H. Systemy operacyjne zapewniają interfejs między aparatem a oprogramowaniem, które jest uruchomione.

I. Partycje uruchamiają oddzielne obciążenia lub segregują typy pracy w środowisku.

Architektura platformy Azure

Jest to architektura przykładowego systemu pokazanego powyżej podczas refaktoryzacji platformy Azure. Zwróć uwagę, że objaśnienia listów na diagramach pokazują, gdzie refaktoryzowane rozwiązanie obsługuje odpowiednie funkcje komputera mainframe.

Diagram architektury przedstawiający system na platformie Azure po refaktoryzacji.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

  1. Dane wejściowe zazwyczaj są przekazywane za pośrednictwem usługi Azure ExpressRoute z klientów zdalnych lub z innych aplikacji platformy Azure. W obu przypadkach połączenia TCP/IP są podstawowym sposobem nawiązywania połączenia z systemem. Dostęp użytkowników do aplikacji internetowych odbywa się za pośrednictwem portu TLS 443. Interfejs użytkownika aplikacji internetowych można zachować tak samo, aby zminimalizować ponowne trenowanie użytkowników końcowych lub zaktualizować go przy użyciu nowoczesnych struktur środowiska użytkownika. Usługa Azure Bastion zapewnia administratorowi dostęp do maszyn wirtualnych, maksymalizując zabezpieczenia, minimalizując otwarte porty.

  2. Po przejściu na platformę Azure dostęp do klastrów obliczeniowych aplikacji odbywa się za pośrednictwem modułu równoważenia obciążenia platformy Azure. Takie podejście umożliwia skalowanie zasobów obliczeniowych w poziomie w celu przetworzenia pracy wejściowej. W zależności od danych wejściowych można równoważyć obciążenie na poziomie aplikacji lub na poziomie protokołu sieciowego.

  3. Funkcja Advanced 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, mogą być skalowane w poziomie i szybko. Przesunięcie jednostki skalowania do kontenerów optymalizuje wykorzystanie infrastruktury.

  4. Serwery aplikacji odbierają dane wejściowe w klastrach obliczeniowych oraz udostępniają stan i dane aplikacji przy użyciu usługi Azure Cache for Redis lub zdalnego bezpośredniego dostępu do pamięci (RDMA).

  5. Usługi danych w klastrach aplikacji umożliwiają wiele połączeń z trwałymi źródłami danych. Możliwe źródła danych obejmują:

    • Usługa Azure SQL Database.
    • Azure Cosmos DB.
    • Bazy danych na maszynach wirtualnych, takie jak Oracle i Db2.
    • Repozytoria danych big data, takie jak Azure Databricks i Azure Data Lake.
    • Usługi przesyłania strumieniowego danych, takie jak Kafka i Azure Stream Analytics.
  6. Serwery aplikacji hostuje różne programy aplikacji na podstawie możliwości języka, takich jak klasy Języka Java lub programy COBOL.

  7. Usługi danych używają kombinacji:

    1. Magazyn o wysokiej wydajności: usługi Azure SSD w warstwie Premium i Azure Ultra Disk Storage.

    2. Magazyn plików: Azure NetApp Files i Azure Files.

    3. Magazyn w warstwie Standardowa: Azure Blob Storage, archiwum i kopia zapasowa. Kopia zapasowa może być:

      1. Magazyn lokalnie nadmiarowy (LRS).
      2. Magazyn strefowo nadmiarowy (ZRS).
      3. Magazyn geograficznie nadmiarowy (GRS).
      4. Magazyn geograficznie nadmiarowy (GZRS).

      Aby uzyskać więcej informacji na temat nadmiarowości, zobacz Nadmiarowość usługi Azure Storage.

  8. Usługi danych platformy Azure jako usługi (PaaS) zapewniają skalowalny i wysoce dostępny magazyn danych do udostępniania wielu zasobów obliczeniowych w klastrze. Mogą one być również geograficznie nadmiarowe.

  9. Usługa Azure Data Factory może pozyskiwać dane i synchronizować je z wieloma źródłami danych zarówno na platformie Azure, jak i ze źródeł zewnętrznych. Azure Blob Storage to wspólna strefa docelowa dla zewnętrznych źródeł danych.

  10. Usługa Azure Site Recovery zapewnia odzyskiwanie po awarii składników maszyny wirtualnej i klastra kontenerów.

  11. Aplikacje łączą się z prywatnymi punktami końcowymi różnych usług PaaS.

Składniki

W tym przykładzie przedstawiono następujące składniki platformy Azure. Kilka z tych składników i przepływów pracy jest wymiennych lub opcjonalnych w zależności od scenariusza.

  • Usługa Azure ExpressRoute 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.
  • Usługa Azure Bastion zapewnia bezproblemową łą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 Transport Layer Security (TLS). Usługa Azure Bastion maksymalizuje zabezpieczenia dostępu administratora, minimalizując otwarte porty.
  • Usługa Azure Load Balancer dystrybuuje ruch przychodzący do klastrów zasobów obliczeniowych. Można zdefiniować reguły i inne kryteria dystrybucji ruchu.
  • Usługa Azure Kubernetes Service (AKS) to w pełni zarządzana usługa Kubernetes służąca do wdrażania konteneryzowanych aplikacji i zarządzania nimi. Usługa AKS oferuje bezserwerowe rozwiązanie Kubernetes, zintegrowane środowisko ciągłej integracji i ciągłego dostarczania (CI/CD) oraz zabezpieczenia i ład klasy korporacyjnej.
  • Usługa Azure Virtual Machines oferuje wiele rozmiarów i typów skalowalnych zasobów obliczeniowych na żądanie. Dzięki maszynom wirtualnym platformy Azure możesz uzyskać elastyczność wirtualizacji bez konieczności kupowania i konserwacji sprzętu fizycznego.
  • Usługa Azure Virtual Network to podstawowy blok konstrukcyjny sieci prywatnych platformy Azure. Maszyny wirtualne w sieciach wirtualnych mogą bezpiecznie komunikować się ze sobą, z Internetem i sieciami lokalnymi. Sieć wirtualna przypomina tradycyjną sieć lokalną, ale z zaletami infrastruktury platformy Azure, takimi jak skalowalność, wysoka dostępność i izolacja.
  • Usługa Azure Private Link zapewnia łączność prywatną z sieci wirtualnej do usług platformy Azure. Usługa Private Link eliminuje publiczne narażenie na internet, aby uprościć architekturę sieci i zabezpieczyć połączenia między punktami końcowymi platformy Azure.
  • Usługa Azure Cache for Redis dodaje szybką warstwę buforowania do architektury aplikacji w celu obsługi dużych woluminów z dużą szybkością. Usługa Azure Cache for Redis umożliwia proste i ekonomiczne skalowanie wydajności dzięki korzyściom z w pełni zarządzanej usługi.
  • Usługa Azure Storage jest skalowalnym, bezpiecznym magazynem w chmurze dla wszystkich danych, aplikacji i obciążeń.
    • 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 platformy Azure. Dostępne typy magazynu dysków to Ultra Disk Storage, SSD w warstwie Premium, SSD w warstwie Standardowa i HDD w warstwie Standardowa. Ta architektura korzysta z dysków SSD w warstwie Premium lub Ultra Disk Storage.
    • Usługa Azure Files oferuje 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 lokalnych systemach Windows, Linux i macOS mogą instalować współbieżnie udziały plików.
    • Usługa Azure NetApp Files 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 zmian w kodzie.
    • Usługa Azure Blob Storage to skalowalny i bezpieczny magazyn obiektów dla archiwów, magazynów typu data lake, obliczeń o wysokiej wydajności, uczenia maszynowego i obciążeń natywnych dla chmury.
  • Bazy danych platformy Azure oferują wybór w pełni zarządzanych relacyjnych baz danych i baz danych NoSQL, aby dopasować je do nowoczesnych potrzeb aplikacji. Zautomatyzowane zarządzanie infrastrukturą zapewnia skalowalność, dostępność i zabezpieczenia.
    • Usługa Azure SQL Database to w pełni zarządzany aparat bazy danych PaaS. 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 PaaS obejmują uaktualnianie, stosowanie poprawek, tworzenie kopii zapasowych i monitorowanie. Możesz skoncentrować się na administrowaniu i optymalizacji bazy danych o znaczeniu krytycznym dla działania firmy.
    • Azure Database for PostgreSQL to w pełni zarządzana baza danych oparta na aprodukcie relacyjnej bazy danych PostgreSQL typu open source. Opcja wdrożenia Hiperskala (Citus) skaluje zapytania na wielu maszynach przy użyciu fragmentowania w przypadku aplikacji wymagających większej skali i wydajności.
    • Azure Cosmos DB to w pełni zarządzana, szybka baza danych NoSQL z otwartymi interfejsami API dla dowolnej skali.
  • Usługa Azure Site Recovery dubluje maszyny wirtualne platformy Azure w regionie pomocniczym platformy Azure w celu szybkiego przejścia w tryb failover i odzyskiwania danych w przypadku awarii centrum danych platformy Azure.
  • Azure Data Factory to usługa wyodrębniania, przekształcania i ładowania (ETL) na potrzeby integracji danych bezserwerowych i przekształcania danych w poziomie. Oferuje ona pozbawiony kodu interfejs użytkownika, który umożliwia intuicyjne tworzenie oraz zarządzanie i monitorowanie w jednym miejscu.

Szczegóły scenariusza

Istnieje wiele powodów, dla których należy szukać alternatyw dla aplikacji mainframe opartych na coBOL, które są nadal powszechne:

  • COBOL i CA-Gen/Natural/Telon/ASDO deweloperzy wycofują się i nikt nie jest przeszkolony, aby je zastąpić, co skutkuje stale malejącą pulą talentów. Wraz ze wzrostem niedoboru talentów rosną koszty i zagrożenia związane z poleganiem na COBOL i innych starszych językach.
  • Aplikacje nie zostały zaprojektowane pod kątem nowoczesnych it, co skutkuje trudną integracją i ograniczoną elastycznością.
  • Sprzęt i oprogramowanie ibm mainframe są kosztowne, a opłaty za licencje i konserwację dodatkowych aplikacji mainframe i baz danych rosną.

Zautomatyzowane refaktoryzacja rozwiązania COBOL advanced refaktoryzuje aplikacje COBOL, a także te napisane w innych starszych językach, aby dostarczać aplikacje i bazy danych z obsługą chmury, które są funkcjonalnie równoważne ich starszym odpowiednikom. Zmniejsza to koszty, umożliwia głębszą integrację i umożliwia dostosowanie w celu spełnienia wymagań biznesowych. Ponadto odblokowuje zupełnie nowy świat jakości i skalowalności, od zautomatyzowanego testowania po zapewnienie jakości oraz możliwość korzystania z wdrożeń konteneryzowanych i aranżacji za pomocą platform Docker i Kubernetes.

Refaktoryzowane aplikacje:

  • Są funkcjonalnie równoważne oryginałom.
  • Są łatwe do utrzymania — uzyskują oceny SonarQube A i podążają za pojęciami i paradygmatami zorientowanymi na obiekty.
  • Wykonaj, a także, lub lepiej niż, oryginały.
  • Są gotowe do użycia w chmurze i 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. Proces identyfikuje sklonowany kod i tworzy współużytkowane obiekty zastępcze, upraszczając konserwację i możliwości zarządzania. Złożone dane i analiza zależności kontroli lokalizuje i usuwa martwy kod.

Gdy rozwiązanie Zaawansowane refaktoryzuje aplikacje COBOL i skojarzone bazy danych, deweloperzy języka Java i C# mogą używać standardowych narzędzi DevOps i koncepcji ciągłej integracji/ciągłego wdrażania w celu rozszerzenia funkcjonalności aplikacji. Proces refaktoryzacji zachowuje logikę biznesową i optymalizuje wydajność. Dodatkowe korzyści obejmują elastyczność, szczegółową definicję usługi i łatwą integrację z usługami natywnymi dla chmury.

Automatyczna refaktoryzacja COBOL jest dostępna dla większości dialektów i platform COBOL, w tym z/OS, OpenVMS i VME.

Potencjalne przypadki użycia

Zaawansowana refaktoryzacja zapewnia wiele scenariuszy, w tym:

  • Firmy, które chcą:
    • Modernizuj infrastrukturę i uniknie wygórowanych kosztów, ograniczeń i sztywności związanych z komputerami mainframe.
    • Unikaj ryzyka związanego z niedoborami umiejętności w starszych systemach i aplikacjach, przechodząc do rozwiązań natywnych dla chmury i DevOps.
    • Zmniejszenie kosztów wydatków operacyjnych i kapitałowych.
  • Organizacje, które chcą migrować obciążenia komputerów mainframe do chmury bez kosztownego i podatnego na błędy ręcznego ponownego zapisywania.
  • Organizacje, które muszą migrować aplikacje krytyczne dla działania firmy przy zachowaniu ciągłości pracy z innymi aplikacjami lokalnymi.
  • Zespoły szukają skalowalności poziomej i pionowej, którą oferuje platforma Azure.
  • Firmy, które faworyzują rozwiązania z opcjami odzyskiwania po awarii.

Kwestie wymagające rozważenia

Uwzględnij następujące filary platformy Microsoft Azure Well-Architected Framework w celu zapewnienia wysokiej dostępności i bezpieczeństwa systemu:

Dostępność

  • Architektura używa usługi Azure Site Recovery do dublowania maszyn wirtualnych platformy Azure w regionie pomocniczym platformy Azure w celu szybkiego przejścia w tryb failover i odzyskiwania po awarii w przypadku awarii centrum danych platformy Azure.
  • Replikacja grupy automatycznego trybu failover platformy Azure zarządza replikacją bazy danych i trybem failover w regionie pomocniczym.

Operacje

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

Zabezpieczenia

To rozwiązanie używa sieciowej grupy zabezpieczeń platformy Azure do zarządzania ruchem między zasobami 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 sieci platformy Azure z maszyn wirtualnych platformy Azure do usługi Azure SQL Database.

Usługa Azure Bastion maksymalizuje zabezpieczenia dostępu administratora, minimalizując otwarte porty. Usługa Bastion zapewnia bezpieczną i bezproblemową łączność RDP/SSH z maszynami wirtualnymi sieci wirtualnej bezpośrednio z witryny Azure Portal za pośrednictwem protokołu TLS.

Odporność

Odporność jest wbudowana w to rozwiązanie przez moduły równoważenia obciążenia. Jeśli jedna prezentacja lub serwer transakcji ulegnie awarii, inne serwery za modułami równoważenia obciążenia mogą uruchamiać obciążenia zgodnie z regułami i sondami kondycji. Zestawy dostępności i magazyn geograficznie nadmiarowy są zdecydowanie zalecane.

Optymalizacja 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 w celu zaspokojenia potrzeb biznesowych bez nadmiernego wydatków.

  • Platforma Azure zapewnia optymalizację kosztów, uruchamiając na maszynach wirtualnych. Maszyny wirtualne można wyłączyć, gdy nie są używane, i utworzyć skrypt harmonogramu dla znanych wzorców użycia. Aby uzyskać więcej informacji na temat optymalizacji kosztów wystąpień maszyn wirtualnych, zobacz platformę Azure Well-Architected Framework .
  • 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.

Współautorzy

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