軟體 AG 提供熱門的 4GL 大型主機平臺,以自然程式設計語言和 Adabas 資料庫為基礎。 本文提供組織架構,這些組織使用執行 Adabas 和 Natural 的大型主機電腦,以及尋找將這些工作負載現代化並移至雲端的方法。
大型主機架構
此圖說明在移轉至 Azure 之前,已安裝軟體 AG Adabas 和 Natural 模組的大型主機範例。 此範例顯示IBM z/OS 架構。
下載此架構的 Visio 檔案。
工作流程
A. 輸入會透過 TCP/IP 發生,包括 TN3270 和 HTTP(S)。 輸入大型主機會使用標準大型主機通訊協定。
B. 接收應用程式可以是批次或在線系統。
C. 自然、COBOL、PL/I、組合器或其他相容語言會在啟用的環境中執行。
D. 常用的數據和資料庫服務是階層式/網路資料庫系統和關係資料庫類型。
E. 一般服務包括程式執行、I/O 作業、錯誤偵測,以及環境中的保護。
F. 中間件和公用程式會管理服務,例如磁帶記憶體、佇列、輸出和環境中的Web服務。
G. 操作系統提供引擎與其執行之軟體之間的介面。
H. 需要分割區才能執行個別的工作負載,以及隔離環境中的工作類型。
Azure 架構
下圖顯示如何使用重構方法來將系統現代化,將舊版架構移轉至 Azure:
下載此架構的 Visio 檔案。
工作流程
輸入。 輸入通常是透過來自遠端用戶端的 Azure ExpressRoute,或透過目前執行 Azure 的其他應用程式進行。 不論是哪一種情況,TCP/IP 連線都是與系統連線的主要方法。 TLS 連接埠 443 提供 Web 應用程式存取權。 您可以讓 Web 應用程式呈現層幾乎保持不變,以將使用者重新定型降至最低。 或者,您可以根據您的需求,使用新式 UX 架構來更新此層。 若要讓 VM 的系統管理員存取權,您可以使用 Azure Bastion 主機,藉由將開啟的埠降到最低,將安全性最大化。
在 Azure 中存取。 在 Azure 中,會透過 Azure 負載平衡器提供應用程式計算叢集的存取權。 此方法可讓向外延展計算資源處理輸入工作。 您可以使用層級 7 (應用層級) 或層級 4 (網路通訊協定層級) 負載平衡器。 不過,您使用的負載平衡器類型取決於應用程式輸入如何到達計算叢集的進入點。 建議您對第 7 層流量使用 Azure 應用程式閘道 搭配 Web 應用程式防火牆功能。
應用程式計算叢集。 此架構支援可在 Azure Kubernetes Service (AKS) 中部署之容器中執行的應用程式。 Adabas 和 Natural 元件可以在以Linux為基礎的容器內執行。 您可以將舊版應用程式重新架構為新式容器架構,並在AKS之上運作。
ApplinX 終端機模擬 (軟體 AG)。 ApplinX 是以伺服器為基礎的技術,可提供 Web 連線能力並整合到核心系統應用程式,而不需要變更應用程式。 Natural Online 可讓在線使用者透過網頁瀏覽器連線到自然應用程式。 如果沒有 ApplinX,用戶必須使用 SSH 來連線到終端機模擬軟體。 這兩個系統都會在容器中執行。
EntireX (Software AG)。 EntireX 可讓您輕鬆地將 Integration Server 上執行的服務連線到以 COBOL 和 Natural 等語言撰寫的任務關鍵性程式。 自然商務服務 可讓 API 存取以 Natural 進行程式設計的商業功能。 這兩個系統都會在容器中執行。
Adabas (軟體 AG) 。 Adabas 是高效能的 NoSQL 資料庫管理系統。 自然批次 (Software AG) 是執行批次作業的專用元件。 由您選擇的批次作業排程系統所排程的自然批次作業,應該在與 Adabas 資料庫相同的節點上執行,以避免效能影響。
儲存空間。 數據服務使用高效能記憶體(Ultra/進階 SSD)、檔案記憶體(NetApp)和標準記憶體(Blob、封存、備份)的組合,視使用方式而定,可以是本機備援或異地備援。 節點作業系統使用受控磁碟記憶體。 所有持續性數據,例如資料庫檔案、保護記錄、應用程式數據和備份,都會使用 Azure NetApp Files。 AKS 會管理儲存在受控磁碟的作業系統磁碟區。 來自資料庫的所有業務關鍵數據,包括 ASSO、DATA、WORK 檔案和 Adabas 保護記錄,都應該寫入 Azure NetApp Files 中的個別磁碟區。
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 VPN 閘道 的連線。 不過,我們建議您使用 ExpressRoute,讓您可以透過增強式安全性高速私人連線來連線到 Azure 環境。
AKS 是完全受控的 Kubernetes 服務,可用來部署和管理容器化應用程式。 AKS 提供無伺服器 Kubernetes、整合式持續整合和持續傳遞 (CI/CD),以及企業級安全性和控管。 在此案例中,Adabas 和 Natural 容器會部署在 AKS 中。
Azure 受控磁碟是由 Azure 管理的區塊層級記憶體磁碟區,可與 Azure 虛擬機器 搭配使用。 有各種類型可供使用:Ultra 磁碟、進階 SSD、標準 SSD 和標準 HDD。 SSD 磁碟會用於此架構。 在此案例中,所有操作系統磁碟區都會儲存在 Azure 受控磁盤中。
Azure NetApp Files 提供由 NetApp 提供的企業級 Azure 檔案共用。 Azure NetApp Files 可讓您輕鬆地移轉及執行複雜的檔案型應用程式,而不需要變更程序代碼。 在此案例中,所有持續性數據,例如資料庫檔案、保護記錄、應用程式數據和備份檔,都會使用 Azure NetApp Files。
案例詳細資料
在大型主機計算機上執行的應用程式已是大部分商務營運近50年來的核心。 雖然這些大型主機系統多年來提供了顯著的可靠性,但它們已變得有點問題,因為它們是僵化的,在某些情況下,很難維護和成本高昂的運作。
許多組織正在尋找將這些系統現代化的方式。 他們正在尋找方法來釋放維護這些系統、控制其成本,以及在與系統互動時取得更多彈性所需的限制資源。
軟體 AG 提供熱門的 4GL 大型主機平臺,以自然程式設計語言和 Adabas 資料庫為基礎。
兩種雲端合理化模式可讓您在 Azure 上執行 Adabas 和 Natural 應用程式: 重新裝載和重構。 本文說明如何使用 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)。 自然應該在三個或多個 VM 實例上執行 ,以提升使用者介面的延展性和可用性(自然在線加 ApplinX)和 API 層(自然服務加上 EntireX)。
在數據層中,Adabas 會在 AKS 叢集中執行,這會根據資源使用自動相應縮小和相應放大。 您可以在相同的 Pod 中執行 Adabas 的多個元件,或者,為了更大規模地執行,AKS 可以將這些元件分散到叢集中的多個節點。 Adabas 會針對所有永續性數據,例如資料庫檔案、保護記錄、應用程式數據和備份,使用高效能的計量檔案記憶體服務 Azure NetApp Files。
將自然批次 Pod 放在與 Adabas Pod 相同的可用性區域 (datacenter) 中。 您應該使用 鄰近放置群組 ,將 Adabas 和 Natural batch Pod 放在相同可用性區域內的相同節點集區中。
安全性
安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性的設計檢閱檢查清單。
此架構主要建置在 Kubernetes 上,其中包含 Pod 安全性標準和秘密等安全性元件。 Azure 提供其他功能,例如 Microsoft Entra ID、Microsoft Defender for Containers、Azure 原則、Azure 金鑰保存庫、網路安全組,以及協調的叢集升級。 重構的容器應該部署至透過私人 API 伺服器和內部 IP 位址進行輸入存取的私人 AKS 叢集。 所有輸出流量都應該透過輸出防火牆層路由傳送。
成本最佳化
成本最佳化與減少不必要費用,及提升營運效率有關。 如需詳細資訊,請參閱成本最佳化的設計檢閱檢查清單。
使用叢集自動調整程式和水準Pod自動調整程式,根據流量條件調整Pod和節點的數目。 Adabas Pod 可以使用水準 Pod 自動調整程式進行成本優化。
使用垂直 Pod 自動調整程式來分析和設定 Pod 所需的 CPU 和記憶體資源。 此方法會將資源設定最佳化。
根據工作負載需求,為節點集區選擇適當的 VM 大小 。
針對特定工作負載建立具有不同 VM 大小的多個節點集區。 使用節點標籤、節點選取器和親和性規則來最佳化資源設定。
為 Azure NetApp Files 選擇正確的 服務等級 和 容量集區大小 。 如需成本管理建議,請參閱 Azure NetApp Files 的成本模型。
若要監視和優化成本,請使用 Azure Advisor、Azure 保留和 Azure 節省方案等成本管理工具。
若要估計使用量成本,請使用 Azure 成本計算機。
若要改善成本追蹤和管理,請使用 Azure 標籤 將 AKS 資源與特定工作負載產生關聯。
卓越營運
卓越營運涵蓋部署應用程式並使其持續在生產環境中執行的作業流程。 如需詳細資訊,請參閱卓越營運的設計檢閱檢查清單。
重構支援更快速的雲端採用。 它也促進採用DevOps和敏捷式工作原則。 您擁有開發和生產部署選項的完整彈性。
效能效率
效能效率可讓您的工作負載進行調整,以有效率的方式符合使用者對其放置的需求。 有關詳細資訊,請參閱效能效率的設計審核清單。
Kubernetes 提供叢集自動調整程式。 自動調整程式會根據節點集區中要求的計算資源來調整節點數目。 它會每隔 10 秒監視計量 API 伺服器,以取得節點計數中任何必要的變更。 如果叢集自動調整程式判斷需要變更,則您 AKS 叢集中的節點數目會據以增加或減少。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- 馬龍·詹森 |資深 TPM
參與者:
- 弗朗西斯·西米·納扎雷斯 |技術專家
若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。
下一步
如需詳細資訊,請聯絡 legacy2azure@microsoft.com。
以下是一些額外資源: