重構執行 Adabas 和 Natural 的大型主機電腦系統

Azure Kubernetes Service (AKS)
Azure ExpressRoute
Azure 受控磁碟
Azure NetApp Files

軟體 AG 提供熱門的 4GL 大型主機平臺,以自然程式設計語言和 Adabas 資料庫為基礎。 本文提供組織架構,這些組織使用執行 Adabas 和 Natural 的大型主機電腦,以及尋找將這些工作負載現代化並移至雲端的方法。

大型主機架構

此圖說明在移轉至 Azure 之前,已安裝軟體 AG Adabas 和 Natural 模組的大型主機範例。 此範例顯示IBM z/OS 架構。

Diagram that shows a mainframe architecture that uses Software AG's Adabas & Natural, before migration to Azure.

下載此架構的 Visio 檔案

工作流程

A. 輸入會透過 TCP/IP 發生,包括 TN3270 和 HTTP(S)。 輸入大型主機會使用標準大型主機通訊協定。

B. 接收應用程式可以是批次或在線系統。

C. 自然、COBOL、PL/I、組合器或其他相容語言會在啟用的環境中執行。

D. 常用的數據和資料庫服務是階層式/網路資料庫系統和關係資料庫類型。

E. 一般服務包括程式執行、I/O 作業、錯誤偵測,以及環境中的保護。

F. 中間件和公用程式會管理服務,例如磁帶記憶體、佇列、輸出和環境中的Web服務。

G. 操作系統提供引擎與其執行之軟體之間的介面。

H. 需要分割區才能執行個別的工作負載,以及隔離環境中的工作類型。

Azure 架構

下圖顯示如何使用重構方法來將系統現代化,將舊版架構移轉至 Azure:

Diagram that shows the legacy architecture after migration to Azure.

下載此架構的 Visio 檔案

工作流程

  1. 輸入。 輸入通常是透過來自遠端用戶端的 Azure ExpressRoute,或透過目前執行 Azure 的其他應用程式進行。 不論是哪一種情況,TCP/IP 連線都是與系統連線的主要方法。 TLS 連接埠 443 提供 Web 應用程式存取權。 您可以讓 Web 應用程式呈現層幾乎保持不變,以將使用者重新定型降至最低。 或者,您可以根據您的需求,使用新式 UX 架構來更新此層。 若要讓 VM 的系統管理員存取權,您可以使用 Azure Bastion 主機,藉由將開啟的埠降到最低,將安全性最大化。

  2. 在 Azure 中存取。 在 Azure 中,會透過 Azure 負載平衡器提供應用程式計算叢集的存取權。 此方法可讓向外延展計算資源處理輸入工作。 層級 7 (應用層級) 和層級 4 (網路通訊協定層級) 負載平衡器都可供使用。 您使用的類型取決於應用程式輸入如何到達計算叢集的進入點。

  3. 應用程式計算叢集。 此架構支援可在容器協調器中部署的應用程式,例如 Kubernetes。 Adabas 和 Natural 元件可以在 Linux 作業系統上運作的容器技術內執行。 您可以將舊版應用程式重新架構為新式容器架構,並在 Azure Kubernetes Services 上運作。

  4. ApplinX 終端機模擬 (軟體 AG)。 ApplinX 是以伺服器為基礎的技術,可提供 Web 連線能力並整合到核心系統應用程式,而不需要變更應用程式。 Natural Online 可讓在線使用者透過網頁瀏覽器連線到自然應用程式。 如果沒有 ApplinX,用戶必須使用 SSH 來連線到終端機模擬軟體。 這兩個系統都會在容器中執行。

  5. EntireX (Software AG)。 EntireX 可讓您輕鬆地將 Integration Server 上執行的服務連線到以 COBOL 和 Natural 等語言撰寫的任務關鍵性程式。 自然商務服務 可讓 API 存取以 Natural 進行程式設計的商業功能。 這兩個系統都會在容器中執行。

  6. Adabas (軟體 AG) 。 Adabas 是高效能的 NoSQL 資料庫管理系統。 自然批次 (Software AG) 是執行批次作業的專用元件。 由您選擇的批次作業排程系統所排程的自然批次作業,應該在與 Adabas 資料庫相同的節點上執行,以避免效能影響。

  7. 儲存空間。 數據服務使用高效能記憶體(Ultra/進階 SSD)、檔案記憶體(NetApp)和標準記憶體(Blob、封存、備份)的組合,視使用方式而定,可以是本機備援或異地備援。 節點作業系統使用受控磁碟記憶體。 所有持續性數據,例如資料庫檔案、保護記錄、應用程式數據和備份,都會使用 Azure NetApp Files。 AKS 會管理儲存在受控磁碟的作業系統磁碟區。 來自資料庫的所有業務關鍵數據,包括 ASSO、DATA、WORK 檔案和 Adabas 保護記錄,都應該寫入 Azure NetApp Files 所提供的個別磁碟區。

  8. CONNX。 適用於 Adabas 的 CONNX 模組透過 .NET、ODBC、OLE DB 和 JDBC,對 OS/390、z/OS、VSE、Linux、Solaris、HP-UX、AIX 和 Windows 提供高度安全、即時的讀取/寫入存取權。 CONNX 連接器提供 Adabas 數據源的存取權,並將其公開給更常見的資料庫,例如 Azure SQL 資料庫、適用於 PosgreSQL 的 Azure 資料庫,以及 適用於 MySQL 的 Azure 資料庫。

元件

  • Azure ExpressRoute 會透過連線提供者促進的私人連線,將您的內部部署網路延伸至 Microsoft 雲端。 您可以使用 ExpressRoute 來建立與 Azure 和 Office 365 等 Microsoft 雲端服務的連線。

  • Azure Kubernetes Service 是完全受控的 Kubernetes 服務,可用來部署和管理容器化應用程式。 AKS 提供無伺服器 Kubernetes、整合式持續整合和持續傳遞 (CI/CD),以及企業級安全性和控管。

  • Azure 受控磁碟是由 Azure 管理的區塊層級記憶體磁碟區,可與 Azure 虛擬機器 搭配使用。 有各種類型可供使用:Ultra 磁碟、進階 SSD、標準 SSD 和標準 HDD。 SSD 磁碟會用於此架構。

  • Azure NetApp Files 提供由 NetApp 提供的企業級 Azure 檔案共用。 Azure NetApp Files 可讓您輕鬆地移轉及執行複雜的檔案型應用程式,而不需要變更程序代碼。

案例詳細資料

在大型主機計算機上執行的應用程式已是大部分商務營運近50年來的核心。 雖然這些大型主機系統多年來提供了顯著的可靠性,但它們已變得有點問題,因為它們是僵化的,在某些情況下,很難維護和成本高昂的運作。

許多組織正在尋找將這些系統現代化的方式。 他們正在尋找方法來釋放維護這些系統、控制其成本,以及在與系統互動時取得更多彈性所需的限制資源。

軟體 AG 提供熱門的 4GL 大型主機平臺,以自然程式設計語言和 Adabas 資料庫為基礎。

有兩種模式可讓您在 Azure 上執行 Adabas 和 Natural 應用程式: 重新裝載和重構。 本文說明如何使用 Azure Kubernetes Service (AKS) 中管理的容器來重構應用程式。 如需詳細資訊,請參閱 本文稍後的容器型方法

潛在的使用案例

此架構適用於任何使用執行 Adabas 和 Natural 的大型主機計算機的組織,並計劃將這些工作負載現代化,並將其移至雲端。

考量

容器型方法

若要充分利用 Azure 的彈性、可靠性和功能,您需要重新架構大型主機應用程式。 建議您將整合型應用程式重寫為微服務,並使用以容器為基礎的部署方法。 容器會將執行所需的所有軟體組合成一個可執行套件。 它包含應用程式的程式代碼,以及執行應用程式所需的相關組態檔、連結庫和相依性。 容器化應用程式可快速部署及支援熱門的DevOps做法,例如持續整合 (CI) 和持續部署 (CD)。

Adabas 和 Natural 容器會在 Pod 中執行,每個容器都會執行特定工作。 Pod 是一或多個容器的單位,這些容器會保留在相同的節點上,並共用主機名和IP位址等資源。 因為它們與基礎平臺分離,因此Pod中的元件會獨立調整,並支援更高的可用性。 容器化應用程式也是可攜式的:它會在任何基礎結構上統一且一致地執行。

容器化服務及其相關聯的網路和記憶體元件必須協調和管理。 我們建議使用 AKS,這是自動化叢集和資源管理的受控 Kubernetes 服務。 您可以指定所需的節點數目,而 AKS 適合容器到正確的節點,以充分利用資源。 AKS 也支援自動化推出和復原、服務探索、負載平衡和記憶體協調流程。 而 AKS 支援自我修復:如果容器失敗,AKS 會啟動新的容器。 此外,您可以在容器外部安全地儲存秘密和組態設定。

本文中的架構圖顯示Adabas和 Natural 的容器型實作。 當您設定 AKS 時,您可以指定節點的 Azure VM 大小,以定義記憶體 CPU、記憶體和類型,例如高效能固態硬碟 (SSD) 或一般硬碟 (HDD)。 在此範例中,Natural 會在三個 VM 實例(節點)上執行,以提升使用者介面的延展性和可用性(自然在線加 ApplinX)和 API 層(自然服務加上 EntireX)。

在數據層中,Adabas 會在 AKS 叢集中執行,這會根據資源使用自動相應縮小和相應放大。 您可以在相同的 Pod 中執行 Adabas 的多個元件,或者,為了更大規模地執行,AKS 可以將這些元件分散到叢集中的多個節點。 Adabas 會針對所有永續性數據,例如資料庫檔案、保護記錄、應用程式數據和備份,使用高效能的計量檔案記憶體服務 Azure NetApp Files。

Operations

重構支援更快速的雲端採用。 它也促進採用DevOps和敏捷式工作原則。 您擁有開發和生產部署選項的完整彈性。

效能效率

Kubernetes 提供叢集自動調整程式。 自動調整程式會根據節點集區中要求的計算資源來調整節點數目。 它會每隔 10 秒監視計量 API 伺服器,以取得節點計數中任何必要的變更。 如果叢集自動調整程式判斷需要變更,則您 AKS 叢集中的節點數目會據以增加或減少。 

安全

此架構主要建置在 Kubernetes 上,其中包含 Pod 安全性標準和秘密等安全性元件。 Azure 提供其他功能,例如 Microsoft Entra ID、適用於容器的 Microsoft Defender、Azure 原則、Azure 金鑰保存庫、網路安全組,以及協調的叢集升級。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

  • 馬龍·詹森 |資深 TPM

若要查看非公用LinkedIn配置檔,請登入LinkedIn。

後續步驟

如需詳細資訊,請聯絡 legacy2azure@microsoft.com

以下是一些額外資源: