本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 Stonebranch 通用控制器與 AWS Mainframe Modernization 整合
由 Vaidy Sankaran (AWS)、Robert Lemieux (Stonebranch)、Huseyin Gomleksizoglu (Stonebranch) 和 Pablo Alonso Prieto (AWS) 建立
環境:PoC 或試行 | 技術:大型主機; DevOps;管理和治理;現代化 | |
工作負載:開放原始碼;Microsoft;Oracle | AWS 服務:AWS Mainframe Modernization;Amazon RDS;Amazon S3 |
Summary
此模式說明如何將 Stonebranch Universal Automation Center (UAC) 工作負載協調
Stonebranch UAC 是即時 IT 自動化和協調平台。UAC 旨在自動化和協調混合 IT 系統的任務、活動和工作流程,從內部部署到 AWS。使用大型主機系統的企業用戶端正在轉換至以雲端為中心的現代化基礎設施和應用程式。Stonebranch 的工具和專業服務有助於將現有的排程器和自動化功能遷移至 AWS Cloud。
當您使用 AWS Mainframe Modernization 服務將大型主機程式遷移或現代化至 AWS Cloud 時,您可以使用此整合來自動化批次排程、提高靈活性、改善維護並降低成本。
此模式提供將 Stonebranch 排程器
目標成果
此模式著重於提供下列目標結果:
能夠從 Stonebranch Universal Controller 排程、自動化和執行在 AWS Mainframe Modernization 服務 (Microfocus 執行時間) 中執行的大型主機批次任務。
從 Stonebranch 通用控制器監控應用程式的批次程序。
Start/Restart/Rerun/Stop 批次會自動處理或從 Stonebranch 通用控制器手動處理。
擷取 AWS Mainframe Modernization 批次程序的結果。
在 Stonebranch Universal Controller 中擷取批次任務的 AWS CloudWatch
Word日誌。
先決條件和限制
先決條件
作用中的 AWS 帳戶
具有任務控制語言 (JCL) 檔案的 Micro Focus Bankdemo
應用程式,以及部署在 AWS Mainframe Modernization 服務 (Micro Focus 執行期) 環境中的批次程序 如何建置和部署在 Micro Focus Enterprise Server
上執行的大型主機應用程式的基本知識 Stonebranch 通用控制器的基本知識
Stonebranch 試用授權 (請聯絡 Stonebranch
) Windows 或 Linux Amazon Elastic Compute Cloud (Amazon EC2) 執行個體 (例如 xlarge),至少包含四個核心、8 GB 記憶體和 2 GB 磁碟空間
Apache Tomcat 8.5.x 或 9.0.x 版
Oracle Java 執行期環境 (JRE) 或 OpenJDK 第 8 或 11 版
匯出儲存庫的 Amazon Simple Storage Service (Amazon S3)
儲存貯體 Amazon Elastic File System (Amaon EFS)
適用於代理程式 Stonebranch Universal Message Service (OMS) 連線,以實現高可用性 (HA) Stonebranch Universal Controller 7.2 Universal Agent 7.2 安裝檔案
AWS Mainframe Modernization 任務排程範本
(.zip 檔案的最新版本)
限制
產品和解決方案已經過測試,且相容性僅通過 OpenJDK 8 和 11 的驗證。
aws-mainframe-modernization-stonebranch 整合
任務排程範本僅適用於 AWS Mainframe Modernization 服務。 此任務排程範本僅適用於 Unix、Linux 或 Windows 版本的 Stonebranch 代理程式。
有些 AWS 服務並非所有 AWS 區域都提供。如需區域可用性,請參閱依區域劃分的 AWS 服務
。如需特定端點,請參閱服務端點和配額頁面,然後選擇服務的連結。
架構
目標狀態架構
下圖顯示此試驗所需的 AWS 環境範例。
Stonebranch Universal Automation Center (UAC) 包含兩個主要元件:Universal Controller 和 Universal Agents。Stonebranch OMS 用作控制器與個別代理程式之間的訊息匯流排。
通用控制器使用 Stonebranch UAC 資料庫。資料庫可以是 MySQL、Microsoft SQL Server、Oracle 或 Aurora MySQL 相容。
AWS Mainframe Modernization 服務:部署 BankDemo 應用程式的 Micro Focus
執行期環境。 BankDemo 應用程式檔案將存放在 S3 儲存貯體中。此儲存貯體也包含大型主機 JCL 檔案。 Stonebranch UAC 可以為批次執行執行執行下列函數:
使用與 JCL 大型主機現代化服務連結的 S3 儲存貯體中存在的 AWS 檔案名稱啟動批次任務。
取得批次任務執行的狀態。
等待批次任務執行完成。
擷取批次任務執行的日誌。
重新執行失敗的批次任務。
在任務執行時取消批次任務。
Stonebranch UAC 可以為應用程式執行下列函數:
啟動應用程式
取得應用程式的狀態
等待應用程式啟動或停止
停止應用程式
應用程式操作的擷取日誌
Stonebranch 任務轉換
下圖代表 Stonebranch 在現代化旅程期間的任務轉換程序。它描述了任務排程和任務定義如何轉換為可執行 AWS Mainframe Modernization 批次任務的相容格式。
對於轉換程序,任務定義會從現有的大型主機系統匯出。
JCL 檔案可以上傳到 Mainframe Modernization 應用程式的 S3 儲存貯體,以便 JCL Mainframe Modernization 服務可以部署這些 AWS 檔案。
轉換工具會將匯出的任務定義轉換為 UAC 任務。
建立所有任務定義和任務排程後,這些物件將匯入通用控制器。轉換後的任務接著會在 AWS Mainframe Modernization 服務中執行程序,而不是在大型主機上執行。
Stonebranch UAC 架構
下列架構圖表代表高可用性 (HA) 通用控制器的 active-active-passive 模型。Stonebranch UAC 部署在多個可用區域中,以提供高可用性並支援災難復原 (DR)。
通用控制器
兩個 Linux 伺服器佈建為通用控制器。兩者都連接到相同的資料庫端點。每個伺服器都包含 Universal Controller 應用程式和 OMS。最新版本的 Universal Controller 會在佈建時使用。
通用控制器部署在 Tomcat 網路應用程式中,作為文件 ROOT,並在連接埠 80 上提供。此部署可簡化前端負載平衡器的組態。
透過 TLS 的HTTP或 HTTPS 是使用 Stonebranch 萬用字元憑證啟用的 (例如,https://customer.stonebranch.cloud
)。這可保護瀏覽器與應用程式之間的通訊。
OMS
Universal Agent 和 OMS (Opswise Message Service) 位於每個 Universal Controller 伺服器上。客戶端的所有部署的 Universal Agents 都會設定為連線至這兩個 OMS 服務。OMS 作為通用代理程式和通用控制器之間的常見傳訊服務。
Amazon EFS 會在每個伺服器上掛載多工緩衝處理目錄。OMS 使用此共用多工緩衝處理目錄,保留來自控制器和代理程式的連線和任務資訊。OMS 在高可用性模式下運作。如果作用中 OMS 停止運作,被動 OMS 可以存取所有資料,並自動恢復作用中的操作。通用代理程式會偵測此變更,並自動連線至新的作用中 OMS。
資料庫
Amazon Relational Database Service (Amazon RDS) 包含 UAC 資料庫,並將 Amazon Aurora MySQL 相容為其引擎。Amazon RDS 有助於定期管理和提供排程備份。兩個通用控制器執行個體都連接至相同的資料庫端點。
負載平衡器
Application Load Balancer 會為每個執行個體設定。負載平衡器會在任何指定時間將流量導向作用中控制器。您的執行個體網域名稱會指向對應的負載平衡器端點。
URLs
您的每個執行個體都有一個 URL,如下列範例所示。
Environment (環境) | 執行個體 |
生產 |
|
開發 (非生產) |
|
測試 (非生產) |
|
注意:可以根據您的需求設定非生產執行個體名稱。
高可用性
高可用性 (HA) 是系統在指定期間內持續運作而不發生故障的能力。此類故障包括但不限於 CPU 或記憶體問題引起的儲存體、伺服器通訊回應延遲,以及網路連線。
若要符合 HA 要求:
所有 EC2 執行個體、資料庫和其他組態都會鏡像在同一 AWS 區域中的兩個單獨的可用區域。
控制器是透過兩個可用區域中兩個 Linux 伺服器上的 Amazon Machine Image (AMI) 佈建。例如,如果您在歐洲 eu-west-1 區域中佈建 ,則您在可用區域 eu-west-1a 和可用區域 eu-west-1c 中有通用控制器。
不允許任何任務直接在應用程式伺服器上執行,也不允許將資料存放在這些伺服器上。
Application Load Balancer 會對每個通用控制器執行運作狀態檢查,以識別作用中控制器,並將流量導向至該控制器。如果一個伺服器發生問題,負載平衡器會自動將被動通用控制器提升為作用中狀態。然後,負載平衡器會從運作狀態檢查中識別新的作用中 Universal Controller 執行個體,並開始引導流量。容錯移轉會在四分鐘內發生,不會遺失任務,而前端 URL 保持不變。
Aurora MySQL 相容資料庫服務存放 Universal Controller 資料。對於生產環境,資料庫叢集會在單一 AWS 區域中的兩個不同可用區域中建立兩個資料庫執行個體。兩個通用控制器都使用指向單一資料庫叢集端點的 Java Database Connectivity (JDBC) 介面。如果一個資料庫執行個體發生問題,資料庫叢集端點會動態指向運作狀態良好的執行個體。不需要手動介入。
備份和清除
Stonebranch Universal Controller 設定為按照資料表中顯示的排程備份和清除舊資料。
類型 | 排程 |
活動 | 7 天 |
稽核 | 90 天 |
歷程記錄 | 60 天 |
早於顯示日期的備份資料會匯出為 .xml 格式,並存放在檔案系統中。備份程序完成後,較舊的資料會從資料庫中清除,並封存在 S3 儲存貯體中,最長一年,以供生產執行個體使用。
您可以在 Universal Controller 介面中調整此排程。不過,增加這些時間範圍可能會導致維護期間的停機時間更長。
工具
AWS 服務
AWS Mainframe Modernization 是 AWS 雲端原生平台,可協助您將大型主機應用程式現代化為 AWS 受管執行期環境。它提供工具和資源來協助您規劃和實作遷移和現代化。
Amazon Elastic Block Store (Amazon EBS) 提供區塊層級儲存磁碟區,可用於 Amazon EC2 執行個體。
Amazon Elastic File System (Amazon EFS) 可協助您在 AWS Cloud 中建立和設定共用檔案系統。
Amazon Relational Database Service (Amazon RDS) 可協助您在 AWS Cloud 中設定、操作和擴展關聯式資料庫。此模式使用 Amazon Aurora MySQL 相容版本。
Amazon Simple Storage Service (Amazon S3) 是一種雲端型物件儲存服務,可協助您儲存、保護和擷取任何數量的資料。
Elastic Load Balancing (ELB) 會將傳入的應用程式或網路流量分散到多個目標。例如,您可以在一或多個可用區域中將流量分散到 Amazon EC2 執行個體、容器和 IP 地址。此模式使用 Application Load Balancer。
斯通布蘭奇
Universal Automation Center (UAC)
是企業工作負載自動化產品的系統。此模式使用下列 UAC 元件: Universal Controller
是在 Tomcat Web 容器中執行的 Java Web 應用程式,是 Universal Automation Center 的企業任務排程器和工作負載自動化代理程式解決方案。控制器提供使用者介面,用於建立、監控和設定控制器資訊;處理排程邏輯;處理與 Universal Agents 之間的所有訊息;以及同步 Universal Automation Center 的大部分高可用性 操作。 Universal Agent
是獨立於廠商的排程代理程式,可在所有主要運算平台上與現有的任務排程器協同合作,包括舊版和分散式。支援在 z/Series、i/Series、Unix、Linux 或 Windows 上執行的所有排程器。
Universal Agent
是獨立於廠商的排程代理程式,可在所有主要運算平台上與現有的任務排程器協同合作,包括舊版和分散式。支援在 z/Series、i/Series、Unix、Linux 或 Windows 上執行的所有排程器。 Stonebranch aws-mainframe-modernization-stonebranch 整合 AWS Mainframe Modernization Universal Extension
是可在 AWS Mainframe Modernization 平台中執行、監控和重新執行批次工作的整合範本。
Code
此模式的程式碼可在 aws-mainframe-modernization-stonebranch-integrationWord
Epics
任務 | 描述 | 所需的技能 |
---|---|---|
下載安裝檔案。 | 從 Stonebranch 伺服器下載 安裝。若要取得安裝檔案,請聯絡 Stonebranch。 | 雲端架構師 |
啟動 EC2 執行個體。 | 您需要大約 3 GB 的額外空間,才能安裝 Universal Controller 和 Universal Agent。因此,請為執行個體提供至少 30 GB 的磁碟空間。 將連接埠 8080 新增至安全群組,以便存取。 | 雲端架構師 |
檢查先決條件。 | 在安裝之前,請執行下列動作:
| 雲端管理員、Linux 管理員 |
安裝通用控制器。 |
| 雲端架構師、Linux 管理員 |
安裝 Universal Agent。 |
| 雲端管理員、Linux 管理員 |
將 OMS 新增至通用控制器。 |
| 通用控制器管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
匯入整合範本。 | 在此步驟中,您需要 AWS Mainframe Modernization Universal Extension
匯入整合範本後,您會在可用服務下看到 AWS Mainframe 現代化任務。 | 通用控制器管理員 |
啟用可解析的憑證。 |
| 通用控制器管理員 |
啟動任務。 |
| 通用控制器管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
為批次任務建立任務。 |
| 通用控制器管理員 |
啟動任務。 |
| 通用控制器管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
複製任務。 |
| 通用控制器管理員 |
更新任務。 |
| 通用控制器管理員 |
建立工作流程。 |
| 通用控制器管理員 |
檢查工作流程的狀態。 |
| Univeral Controller 管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
修正失敗的任務並重新執行。 |
| 通用控制器管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
建立啟動應用程式動作。 |
| 通用控制器管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
建立取消批次動作。 |
|
相關資源
其他資訊
工作流程編輯器中的圖示
已連線的所有任務
工作流程狀態