Refaktoryzacja systemów komputerowych mainframe z systemem Adabas & Natural

Azure Kubernetes Service (AKS)
Azure ExpressRoute
Azure Managed Disks
Azure NetApp Files

Grupa dostępności oprogramowania udostępnia popularną platformę mainframe 4GL opartą na języku programowania naturalnego i bazie danych Adabas. Ten artykuł zawiera architekturę dla organizacji korzystających z komputerów mainframe z systemem Adabas & Natural oraz szuka sposobów modernizacji tych obciążeń i przenoszenia ich do chmury.

Architektura komputera mainframe

Ten diagram przedstawia przykład komputera mainframe z zainstalowanymi modułami Adabas i Natural grupy dostępności oprogramowania przed migracją na platformę Azure. W tym przykładzie przedstawiono architekturę ibm z/OS.

Diagram przedstawiający architekturę mainframe korzystającą z adabas i naturalnej grupy dostępności oprogramowania przed migracją na platformę Azure.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

Odp. Dane wejściowe są wprowadzane za pośrednictwem protokołu TCP/IP, w tym TN3270 i HTTP(S). Dane wejściowe do komputera mainframe używają standardowych protokołów mainframe.

B. Odbieranie aplikacji może być wsadowe lub online.

C. Naturalne, COBOL, PL/I, Assembler lub inne zgodne języki działają w środowisku z włączoną obsługą.

D. Często używane usługi danych i baz danych to hierarchiczne/sieciowe systemy baz danych i relacyjne typy baz danych.

E. Typowe usługi obejmują wykonywanie programów, operacje we/wy, wykrywanie błędów i ochronę w środowisku.

F. Oprogramowanie pośredniczące i narzędzia zarządzają usługami, takimi jak magazyn taśm, kolejkowanie, dane wyjściowe i usługi internetowe w środowisku.

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

H. Partycje są potrzebne do uruchamiania oddzielnych obciążeń i segregowania typów pracy w środowisku.

Architektura platformy Azure

Na tym diagramie przedstawiono sposób migrowania starszej architektury na platformę Azure przy użyciu podejścia refaktoryzacji w celu modernizacji systemu:

Diagram przedstawiający starszą architekturę po migracji na platformę Azure.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

  1. Wkład. Dane wejściowe zazwyczaj są wykonywane za pośrednictwem usługi Azure ExpressRoute z klientów zdalnych lub za pośrednictwem innych aplikacji, które obecnie działają na platformie Azure. W obu przypadkach połączenia TCP/IP są podstawowym sposobem połączenia z systemem. Port TLS 443 zapewnia dostęp do aplikacji internetowych. Możesz pozostawić warstwę prezentacji aplikacji internetowych praktycznie bez zmian, aby zminimalizować ponowne trenowanie użytkowników. Alternatywnie możesz zaktualizować tę warstwę przy użyciu nowoczesnych struktur środowiska użytkownika zgodnie z wymaganiami. Aby uzyskać dostęp administratora do maszyn wirtualnych, możesz użyć hostów usługi Azure Bastion, aby zmaksymalizować bezpieczeństwo, minimalizując otwarte porty.

  2. Dostęp na platformie Azure. Na platformie Azure dostęp do klastrów obliczeniowych aplikacji jest udostępniany 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. Możesz użyć modułów równoważenia obciążenia na poziomie 7 (poziom aplikacji) lub poziomu 4 (na poziomie protokołu sieciowego). Jednak typ używanego modułu równoważenia obciążenia zależy od tego, jak dane wejściowe aplikacji docierają do punktu wejścia klastra obliczeniowego. Zalecamy używanie usługi aplikacja systemu Azure Gateway z funkcjami zapory aplikacji internetowej dla ruchu w warstwie 7.

  3. Klastry obliczeniowe aplikacji. Architektura obsługuje aplikacje uruchamiane w kontenerze, które można wdrożyć w usłudze Azure Kubernetes Service (AKS). Składniki Adabas i Natural mogą działać wewnątrz kontenerów opartych na systemie Linux. Możesz ponownie zaprojektować starsze aplikacje do nowoczesnych architektur opartych na kontenerach i działać na podstawie usługi AKS.

  4. Emulacja terminalu ApplinX (Software AG). ApplinX to technologia oparta na serwerze, która zapewnia łączność internetową i integrację z podstawowymi aplikacjami systemowymi bez konieczności wprowadzania zmian w aplikacjach. Natural Online umożliwia użytkownikom online łączenie się z aplikacjami naturalnymi za pośrednictwem przeglądarki internetowej. Bez rozwiązania ApplinX użytkownicy muszą łączyć się z oprogramowaniem emulacji terminali przy użyciu protokołu SSH. Oba systemy działają w kontenerach.

  5. EntireX (Software AG). Funkcja EntireX umożliwia łatwe łączenie usług uruchamianych na serwerze Integration Server z programami o znaczeniu krytycznym, które są napisane w językach takich jak COBOL i Natural. Natural Business Services umożliwia dostęp interfejsu API do funkcji biznesowych, które są programowane w środowisku Naturalnym. Oba systemy działają w kontenerach.

  6. Adabas (Software AG). Adabas to system zarządzania bazami danych NoSQL o wysokiej wydajności. Natural batch (Software AG) to dedykowany składnik do uruchamiania zadań wsadowych. Naturalne zadania wsadowe, które są zaplanowane przez wybrany system planowania zadań wsadowych, powinny być uruchamiane w tym samym węźle co baza danych Adabas, aby uniknąć wpływu na wydajność.

  7. Magazyn. Usługi danych korzystają z kombinacji magazynu o wysokiej wydajności (ssd w warstwie Ultra/Premium), magazynu plików (NetApp) i magazynu standardowego (blob, archiwum, kopii zapasowej), który może być lokalnie nadmiarowy lub geograficznie nadmiarowy, w zależności od użycia. Systemy operacyjne Węzła używają magazynu dysków zarządzanych. Wszystkie trwałe dane, takie jak pliki bazy danych, dzienniki ochrony, dane aplikacji i kopia zapasowa, używają usługi Azure NetApp Files. Usługa AKS zarządza woluminami systemu operacyjnego przechowywanymi w dyskach zarządzanych. Wszystkie dane krytyczne dla działania firmy z baz danych, w tym dzienniki usługi ASSO, DATA, WORK i dzienniki ochrony adabas, powinny być zapisywane w oddzielnych woluminach w usłudze Azure NetApp Files.

  8. CONNX. Moduł CONNX for Adabas zapewnia wysoce bezpieczny, w czasie rzeczywistym dostęp do odczytu/zapisu do źródeł danych Adabas w systemach OS/390, z/OS, VSE, Linux, Solaris, HP-UX, AIX i Windows za pośrednictwem platformy .NET, ODBC, OLE DB i JDBC. CONNX udostępnia warstwę wirtualizacji danych, która używa łączników do adabas i innych źródeł danych, takich jak Azure SQL Database, Azure Database for PosgreSQL i Azure Database for MySQL.

Składniki

  • Usługa Azure ExpressRoute rozszerza sieci lokalne do chmury firmy Microsoft za pośrednictwem połączenia prywatnego, które jest obsługiwane przez dostawcę łączności. Za pomocą usługi ExpressRoute można nawiązać połączenia z usługami w chmurze firmy Microsoft, takimi jak Azure i Office 365. Alternatywnie lub jako kopia zapasowa można nawiązać połączenia z usługą Azure VPN Gateway. Zalecamy jednak korzystanie z usługi ExpressRoute, aby można było nawiązać połączenie ze środowiskiem platformy Azure za pośrednictwem połączenia prywatnego o dużej szybkości z rozszerzonymi zabezpieczeniami.

  • Usługa 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 zapewnia bezserwerową platformę Kubernetes, zintegrowaną ciągłą integrację i ciągłe dostarczanie (CI/CD) oraz zabezpieczenia i ład klasy korporacyjnej. W tym scenariuszu kontenery Adabas i Natural są wdrażane w usłudze AKS.

  • Dyski zarządzane platformy Azure to woluminy magazynu na poziomie bloku zarządzane przez platformę Azure i używane z usługą Azure Virtual Machines. Dostępne są różne typy: dyski w warstwie Ultra, SSD w warstwie Premium, ssd w warstwie Standardowa i hdd w warstwie Standardowa. Dyski SSD są używane w tej architekturze. W tym scenariuszu wszystkie woluminy systemu operacyjnego są przechowywane na dyskach zarządzanych platformy Azure.

  • 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 migrowanie i uruchamianie złożonych aplikacji opartych na plikach bez konieczności zmieniania kodu. W tym scenariuszu wszystkie trwałe dane, takie jak pliki bazy danych, dzienniki ochrony, dane aplikacji i pliki kopii zapasowej, używają usługi Azure NetApp Files.

Szczegóły scenariusza

Aplikacje działające na komputerach mainframe są podstawą większości operacji biznesowych od prawie 50 lat. Chociaż te systemy mainframe zapewniają niezwykłą niezawodność od lat, stały się one nieco problematyczne, ponieważ są sztywne i, w niektórych przypadkach, trudne do utrzymania i kosztownego działania.

Wiele organizacji szuka sposobów modernizacji tych systemów. Szukają sposobów zwalniania ograniczonych zasobów, które są wymagane do utrzymania tych systemów, kontrolowania kosztów i uzyskiwania większej elastyczności interakcji z systemami.

Grupa dostępności oprogramowania udostępnia popularną platformę mainframe 4GL opartą na języku programowania naturalnego i bazie danych Adabas.

Dwa wzorce racjonalizacji chmury umożliwiają uruchamianie aplikacji Adabas & Natural na platformie Azure: ponowne hostowanie i refaktoryzacja. W tym artykule opisano sposób refaktoryzacji aplikacji przy użyciu kontenerów zarządzanych w usłudze AKS. Aby uzyskać więcej informacji, zobacz Podejście oparte na kontenerach w dalszej części tego artykułu.

Potencjalne przypadki użycia

Ta architektura ma zastosowanie do każdej organizacji korzystającej z komputerów mainframe z systemem Adabas & Natural i planuje modernizację tych obciążeń i przeniesienie ich do chmury.

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.

Podejście oparte na kontenerach

Aby jak najlepiej wykorzystać elastyczność, niezawodność i możliwości platformy Azure, należy zmienić architekturę aplikacji mainframe. Zalecamy przepisanie monolitycznych aplikacji jako mikrousług i użycie podejścia opartego na kontenerach do wdrożenia. Kontener pakuje wszystkie oprogramowanie potrzebne do wykonania w jednym pakiecie wykonywalnym. Zawiera kod aplikacji wraz z powiązanymi plikami konfiguracji, bibliotekami i zależnościami, które są wymagane do uruchomienia aplikacji. Aplikacje konteneryzowane umożliwiają szybkie wdrażanie i obsługę popularnych rozwiązań DevOps, takich jak ciągła integracja (CI) i ciągłe wdrażanie (CD).

Kontenery Adabas & Natural działają w zasobnikach, z których każde wykonuje określone zadanie. Zasobniki to jednostki co najmniej jednego kontenera, które pozostają razem w tym samym węźle i współużytkują zasoby, takie jak nazwa hosta i adres IP. Ponieważ są one oddzielone od bazowej platformy, składniki w zasobnikach są skalowane niezależnie i obsługują wyższą dostępność. Konteneryzowana aplikacja jest również przenośna: działa jednolicie i spójnie w dowolnej infrastrukturze.

Konteneryzowane usługi i skojarzone z nimi składniki sieciowe i składowe magazynu muszą być orkiestrowane i zarządzane. Zalecamy usługę AKS zarządzaną usługę Kubernetes, która automatyzuje zarządzanie klastrami i zasobami. Wyznaczasz wymaganą liczbę węzłów, a usługa AKS pasuje do kontenerów w odpowiednich węzłach, aby jak najlepiej wykorzystać zasoby. Usługa AKS obsługuje również automatyczne wprowadzanie i wycofywanie, odnajdywanie usług, równoważenie obciążenia i aranżację magazynu. Usługa AKS obsługuje samonaprawiania: jeśli kontener ulegnie awarii, usługa AKS uruchomi nową. Ponadto można bezpiecznie przechowywać wpisy tajne i ustawienia konfiguracji poza kontenerami.

Diagram architektury w tym artykule przedstawia implementację opartą na kontenerach adabas & natural. Podczas konfigurowania usługi AKS określasz rozmiar maszyny wirtualnej platformy Azure dla węzłów, który definiuje procesory magazynu, pamięć i typ, takie jak dyski półprzewodnikowe o wysokiej wydajności (SSD) lub zwykłe dyski twarde (HDD). Środowisko naturalne powinno działać na co najmniej trzech wystąpieniach maszyn wirtualnych (węzłach), aby zwiększyć skalowalność i dostępność interfejsu użytkownika (Natural online plus ApplinX) i warstwę interfejsu API (usługi naturalne plus CałyX).

W warstwie danych usługa Adabas działa w klastrze usługi AKS, który jest automatycznie skalowany w poziomie i w oparciu o użycie zasobów. Możesz uruchomić wiele składników adabas w tym samym zasobniku lub w celu zwiększenia skali usługa AKS może dystrybuować je między wieloma węzłami w klastrze. Usługa Adabas używa usługi Azure NetApp Files, wysokiej wydajności, mierzonej usługi magazynu plików, dla wszystkich trwałych danych, takich jak pliki bazy danych, dzienniki ochrony, dane aplikacji i kopia zapasowa.

Umieść naturalne zasobniki wsadowe w tej samej strefie dostępności (centrum danych) co zasobniki Adabas. Należy użyć grup umieszczania w pobliżu, aby umieścić adabas i naturalne zasobniki wsadowe w tej samej puli węzłów w tej samej strefie dostępności.

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ąca zabezpieczeń.

Ta architektura jest oparta głównie na platformie Kubernetes, która obejmuje składniki zabezpieczeń, takie jak standardy zabezpieczeń zasobnika i wpisy tajne. Platforma Azure udostępnia dodatkowe funkcje, takie jak Microsoft Entra ID, Microsoft Defender for Containers, Azure Policy, Azure Key Vault, sieciowe grupy zabezpieczeń i aranżowane uaktualnienia klastra. Refaktoryzowane kontenery powinny być wdrażane w prywatnym klastrze usługi AKS z dostępem przychodzącym za pośrednictwem prywatnego serwera interfejsu API i wewnętrznych adresów IP. Cały ruch wychodzący powinien być kierowany przez warstwę zapory ruchu wychodzącego.

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.

  • Użyj narzędzia do automatycznego skalowania klastra i narzędzia do automatycznego skalowania zasobników w poziomie, aby skalować liczbę zasobników i węzłów na podstawie warunków ruchu. Zasobniki Adabas mogą używać narzędzia do automatycznego skalowania zasobników w poziomie na potrzeby optymalizacji kosztów.

  • Użyj narzędzia do automatycznego skalowania zasobników w pionie, aby analizować i ustawiać zasoby procesora CPU i pamięci wymagane przez zasobniki. To podejście optymalizuje alokację zasobów.

  • Wybierz odpowiedni rozmiar maszyny wirtualnej dla pul węzłów na podstawie wymagań dotyczących obciążenia.

  • Utwórz wiele pul węzłów z różnymi rozmiarami maszyn wirtualnych dla określonych obciążeń. Użyj etykiet węzłów, selektorów węzłów i reguł koligacji, aby zoptymalizować alokację zasobów.

  • Wybierz odpowiednie poziomy usług i rozmiar puli pojemności dla usługi Azure NetApp Files. Aby uzyskać zalecenia dotyczące zarządzania kosztami, zobacz Model kosztów dla usługi Azure NetApp Files.

  • Użyj pojemności zarezerwowanej dla usługi Azure NetApp Files.

  • Aby monitorować i optymalizować koszty, użyj narzędzi do zarządzania kosztami, takich jak Azure Advisor, Rezerwacje platformy Azure i plany oszczędności platformy Azure.

  • Aby oszacować koszty użycia, użyj kalkulatora kosztów platformy Azure.

  • Aby ulepszyć śledzenie kosztów i zarządzanie nimi, użyj tagów platformy Azure, aby skojarzyć zasoby usługi AKS z określonymi obciążeniami.

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

Refaktoryzacja obsługuje szybsze wdrażanie chmury. Promuje również wdrażanie zasad pracy DevOps i Agile. Masz pełną elastyczność opcji 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.

Platforma Kubernetes udostępnia narzędzie do automatycznego skalowania klastra. Narzędzie do automatycznego skalowania dostosowuje liczbę węzłów na podstawie żądanych zasobów obliczeniowych w puli węzłów. Monitoruje on serwer interfejsu API metryk co 10 sekund pod kątem wszelkich wymaganych zmian w liczbie węzłów. Jeśli funkcja automatycznego skalowania klastra ustali, że wymagana jest zmiana, liczba węzłów w klastrze usługi AKS jest zwiększana lub zmniejszana odpowiednio. 

Współautorzy

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

Główny autor:

  • Marlon Johnson | Starszy moduł TPM

Współautor:

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

Następne kroki

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

Oto kilka dodatkowych zasobów: