本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
整合石分支通用控制器與 AWS 大型主機現代化
創建者瓦伊迪桑卡蘭(AWS),羅伯特·勒米厄(石分支),侯賽因格魯(石分支)和巴勃羅·阿隆索·普里托(AWS)
代碼存儲庫:aws-mainframe-modernization-stonebranch-集成 | 環境:PoC 或試點 | 技術:大型主機;現代化 DevOps;營運;SaaS |
工作負載:開放原始碼 Microsoft | AWS 服務:AWS 大型主機現代化;Amazon RDS;Amazon S3 |
Summary
此模式說明如何將 Stonebranch 通用自動化中心 (UAC) 工作負載協調
石分支 UAC 是一個實時的 IT 自動化和協調平台。UAC 旨在跨混合 IT 系統(從現場部署到 AWS)自動化和協調任務、活動和工作流程。使用大型主機系統的企業用戶端正在轉換為以雲端為中心的現代化基礎架構和應用程式。Stonebranch 的工具和專業服務有助於將現有的排程器和自動化功能遷移到 AWS 雲端。
使用 AWS 大型主機現代化服務將大型主機計劃遷移或現代化到 AWS 雲端時,您可以使用此整合自動化批次排程、提高靈活性、改善維護並降低成本。
此模式提供有關整合 Stonebranch 排程器
目標成果
此模式著重於提供以下目標結果:
能夠從 Stonbranch 通用控制器排程、自動化和執行在 AWS 大型主機現代化服務 (微焦點執行階段) 中執行的大型主機批次任務
。 從 Stonebranch 通用控制器監控應用程式的批次處理程序。
從 Stonebranch 通用控制器自動或手動啟動/重新執行/停止批次處理。
擷取 AWS 大型主機現代化批次程序的結果。
在 Stone 分支通用控制器中擷取批次任務的 AWS CloudWatch
日誌。
先決條件和限制
先決條件
有效的 AWS 帳戶
具有任務控制語言 (JCL) 檔案的 Micro Focus Bankdemo
應用程式,以及部署在 AWS 大型主機現代化服務 ( Micro Focus 執行階段) 環境中的批次程序 石分支通用
控制器的基礎知識 石支試用許可證(聯繫石
支) 具有至少四個核心、8 GB 記憶體和 2 GB 磁碟空間的 Windows 或 Linux Amazon 彈性運算雲端 (亞馬遜 EC2) 執行個體 (例如 xlarge) 執行個體
阿帕奇雄貓版本 8.5.x 或 9.0.x 版
甲骨文 Java 運行時環境(JRE)或 OpenJDK 版本 8 或 11
用於匯出儲存庫的亞馬遜簡易儲存服務 (Amazon S3)
儲存貯體 Amazon Elastic File System (Amaon EFS)
,適用於代理程式石分支通用訊息服務 (OMS) 連線,提供高可用性 (HA) 石分支通用控制器 7.2 通用代理 7.2 安裝檔
AWS 大型主機現代化任務排程範
本 (.zip 檔案的最新發行版本)
限制
該產品和解決方案已通過 OpenJDK 8 和 11 的測試和兼容性驗證。
aws-mainframe-modernization-stonebranch整合
任務排程範本僅適用於 AWS 大型主機現代化服務。 這個任務調度模板將只能在 Unix,Linux 或 Windows 版本的石分支代理工作。
架構
目標狀態架構
下圖顯示此試行方案所需的 AWS 環境範例。
![石分支 UAC 與 AWS 大型主機現代化環境互動。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4a7bea37-0a5b-4663-902b-9b051e92f0cb.png)
Stonebranch 通用自動化中心 (UAC) 包括兩個主要元件:通用控制器和通用代理程式。石分支 OMS 被用作控制器和各個代理之間的消息總線。
石分支 UAC 數據庫由通用控制器使用。該數據庫可以是 MySQL,Microsoft SQL 服務器,甲骨文,或 Aurora MySQL 的兼容。
AWS 大型主機現代化服務 — 部署應用程式的 Micro Focus 執行階段環境。BankDemo
BankDemo 應用程式檔案將存放在 S3 儲存貯體中。此存儲桶還包含大型主機 JCL 文件。 石分支 UAC 可以為批量運行運行以下功能:
使用連結至 AWS 大型主機現代化服務之 S3 儲存貯體中的 JCL 檔案名稱啟動批次任務。
取得批次工作執行的狀態。
等待批次工作執行完成。
擷取批次工作執行的記錄。
重新執行失敗的批次工作。
在工作執行時取消批次處理工作。
石科 UAC 可以為應用程序運行以下功能:
開始申請
獲取應用程序的狀態
等到應用程式啟動或停止
停止申請
擷取應用程式作業的記錄
石分支工作轉換
下圖顯示了 Stonbranch 在現代化過程中的工作轉換過程。它說明任務排程和任務定義如何轉換成可執行 AWS 大型主機現代化批次任務的相容格式。
![使用 Amazon EC2 S3 中的 JCL 檔案,從大型主機到轉換為任務排程器的程序。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/4d2ed890-f143-455e-8180-4d967b71c494.png)
對於轉換程序,工作定義會從現有的大型主機系統匯出。
您可以將 JCL 檔案上傳到大型主機現代化應用程式的 S3 儲存貯體,以便 AWS 大型主機現代化服務部署這些 JCL 檔案。
轉換工具會將匯出的工作定義轉換為 UAC 工作。
建立所有作業定義和工作排程之後,這些物件會匯入至通用控制器。然後,轉換後的任務會在 AWS 大型主機現代化服務中執行程序,而不是在大型主機上執行這些程序。
石支 UAC 架構
下列架構圖表示高可用性 (HA) 通用控制器的 active-active-passive 模型。Stonebranch UAC 部署在多個可用區域中,以提供高可用性並支援災難復原 (DR)。
![異地同步備份環境,包含 DR 和控制器、Amazon EFS、Aurora 以及用於備份的 S3 儲存貯體。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/3f94b855-c146-4fcb-902c-5d343438a558.png)
通用控制器
兩個 Linux 伺服器會佈建為通用控制器。兩者都連接到相同的數據庫端點。每個伺服器都有通用控制器應用程式和 OMS。最新版本的通用控制器會在佈建時使用。
通用控制器部署在 Tomcat Web 應用程序中作為文檔根目錄,並在端口 80 上提供服務。此部署可簡化前端負載平衡器的組態。
使用石分支萬用字元憑證 (例如https://customer.stonebranch.cloud
) 啟用透過 TLS 或 HTTPS 的 HTTP。這樣可以保護瀏覽器和應用程序之間的通信。
OMS
通用代理程式和 OMS (Opswise 訊息服務) 位於每個通用控制器伺服器上。從客戶端部署的所有通用代理程式都會設定為連線到兩個 OMS 服務。OMS 充當通用代理程式和通用控制器之間的通用訊息傳送服務。
Amazon EFS 會在每部伺服器上掛接多工緩衝處理目錄。OMS 會使用此共用多工緩衝處理目錄來保留來自控制器和代理程式的連線和工作資訊。OMS 在高可用性模式下運作。如果作用中 OMS 停止運作,則被動 OMS 可以存取所有資料,而且會自動繼續作用中作業。通用代理程式會偵測此變更,並自動連線至新的作用中 OMS。
資料庫
Amazon Relational Database Service 服務 (Amazon RDS) 內建 UAC 資料庫,其引擎與 Amazon Aurora MySQL 相容。Amazon RDS 有助於定期管理和提供定期備份。兩個通用控制器執行個體都會連線到相同的資料庫端
負載平衡器
為每個執行個體設定 Application Load Balancer。負載平衡器會在任何給定時刻將流量導向至作用中控制器。您的執行個體網域名稱會指向個別的負載平衡器端點。
网址
您的每個執行個體都有一個 URL,如下列範例所示。
Environment (環境) | 執行個體 |
生產 | |
開發 (非生產) | |
測試(非生產) |
注意:可以根據您的需求設定非生產執行個體名稱。
高可用性
高可用性 (HA) 是系統在指定時間內持續運作而不失敗的能力。此類失敗包括但不限於儲存裝置、CPU 或記憶體問題所造成的伺服器通訊回應延遲,以及網路連線。
若要符合 HA 的要求:
所有 EC2 執行個體、資料庫和其他組態都會鏡像到相同 AWS 區域內的兩個獨立可用區域。
控制器是透過 Amazon 機器映像 (AMI) 在兩個可用區域中的兩部 Linux 伺服器上佈建的。例如,如果您在歐洲歐洲西部 -1 區域佈建,則可用區域中有一個通用控制器歐盟西部-1a 和歐洲西部 -1c 可用區域。
不允許任何作業直接在應用程式伺服器上執行,也不允許在這些伺服器上儲存任何資料。
應用程式負載平衡器會在每個通用控制器上執行健康狀態檢查,以識別作用中的控制器,並將流量導向 如果一部伺服器發生問題,負載平衡器會自動將被動通用控制器提升為主動狀態。然後,負載平衡器會從健康狀態檢查中識別新的作用中通用控制器執行個體,並開始導向流量 容錯移轉會在四分鐘內發生,不會遺失任務,且前端 URL 保持不變。
Aurora 與 MySQL 相容的資料庫服務會儲存通用控制器資料。對於生產環境,資料庫叢集是以單一 AWS 區域內兩個不同可用區域中的兩個資料庫執行個體建立的。這兩個通用控制器都使用指向單一資料庫叢集端點的 Java 資料庫連線 (JDBC) 介面。如果有一個資料庫執行個體發生問題,資料庫叢集端點會動態指向運作良好的執行個體。不需要手動介入。
Backup 和清除
Stonebranch 通用控制器被設置為備份和清除以下表中顯示的時間表中的舊數據。
類型 | 排程 |
活動 | 7 天 |
審計 | 90 天 |
歷程記錄 | 六十天 |
超過顯示日期的 Backup 資料會匯出為 .xml 格式,並儲存在檔案系統中。備份程序完成後,系統會從資料庫中清除較舊的資料,並在 S3 儲存貯體中存檔最多一年的生產執行個體。
您可以在通用控制器介面中調整此排程。但是,增加這些時間範圍可能會導致維護期間更長的停機時間。
工具
AWS 服務
AWS 大型主機現代化是 AWS 雲端原生平台,可協助您將大型主機應用程式現代化為 AWS 受管執行階段環境。它提供工具和資源來協助您規劃和實作遷移和現代化。
Amazon Elastic Block Store (Amazon EBS) 提供區塊層級儲存體磁碟區,可搭配使用 Amazon EC2 執行個體。
Amazon Elastic File System (Amazon EFS) 可協助您在 AWS 雲端中建立和設定共用檔案系統。
Amazon Relational Database Service 服務 (Amazon RDS) 可協助您在 AWS 雲端中設定、操作和擴展關聯式資料庫。此模式使用 Amazon Aurora MySQL 兼容版本。
Amazon Simple Storage Service (Amazon S3) 是一種雲端型物件儲存服務,可協助您儲存、保護和擷取任何數量的資料。
E@@ lastic Load Balancing (ELB) 可將傳入的應用程式或網路流量分散到多個目標。例如,您可以將流量分配到一或多個可用區域中的 Amazon EC2 執行個體、容器和 IP 地址。此模式使用應用程式負載平衡器。
石枝
通用自動化中心 (UAC)
是企業工作負載自動化產品的系統。此模式使用下列 UAC 元件: 通用控制
器,在 Tomcat Web 容器中運行的 Java Web 應用程序,是通用自動化中心 的企業作業調度程序和工作負載自動化代理解決方案。控制器提供使用者介面,可用來建立、監視和設定控制器資訊、處理排程邏輯、處理往來通用代理 程式的所有訊息;以及同步通用自動化中心的大部分高可用性 作業。 Universal Agent
是獨立於廠商的排程代理程式,可與所有主要運算平台 (舊版和分散式) 上的現有工作排程器協同作業。支援在 Z 系列、I 系列、Unix、Linux 或視窗上執行的所有排程器。
Universal Agent
是獨立於廠商的排程代理程式,可與所有主要運算平台 (舊版和分散式) 上的現有工作排程器協同作業。支援在 Z 系列、I 系列、Unix、Linux 或視窗上執行的所有排程器。 Stonebranch aws-mainframe-modernization-stonebranch 整合 AWS 大型主機現代化通用擴充功
能是在 AWS 大型主機現代化平台中執行、監控和重新執行批次任務的整合範本。
Code
此模式的代碼可在 aws-mainframe-modernization-stonebranch-整
史诗
任務 | 描述 | 所需技能 |
---|---|---|
下載安裝檔案。 | 從石分支服務器下載安裝。要獲取安裝文件,請與石分支聯繫。 | 雲端架構師 |
啟動 EC2 執行個體。 | 安裝通用控制器和通用代理程式需要約 3 GB 的額外空間。因此,請為執行個體提供至少 30 GB 的磁碟空間。 將連接埠 8080 新增至安全性群組,以便可存取。 | 雲端架構師 |
檢查先決條件。 | 在安裝之前,請執行下列動作:
| 雲端管理員、Linux 管理員 |
安裝通用控制器。 |
| 雲端架構師、Linux 管理員 |
安裝通用代理程式。 |
| 雲端管理員、Linux 管理員 |
將 OMS 新增至通用控制器。 |
| 通用控制器管理 |
任務 | 描述 | 所需技能 |
---|---|---|
匯入整合範本。 | 在此步驟中,您需要 AWS 大型主機現代化
匯入整合範本之後,您會在「可用服務」下看到 AWS 大型主機現代化任務。 | 通用控制器管理 |
啟用可解析的認證。 |
| 通用控制器管理 |
啟動工作。 |
| 通用控制器管理 |
任務 | 描述 | 所需技能 |
---|---|---|
建立批次工作的工作。 |
| 通用控制器管理 |
啟動工作。 |
| 通用控制器管理 |
任務 | 描述 | 所需技能 |
---|---|---|
複製任務。 |
| 通用控制器管理 |
更新工作。 |
| 通用控制器管理 |
建立工作流程。 |
| 通用控制器管理 |
檢查工作流程的狀態。 |
| 通用控制器管理員 |
任務 | 描述 | 所需技能 |
---|---|---|
修復失敗的工作並重新執行。 |
| 通用控制器管理 |
任務 | 描述 | 所需技能 |
---|---|---|
建立「啟動應用程式」動作。 |
| 通用控制器管理 |
任務 | 描述 | 所需技能 |
---|---|---|
建立「取消 Batch」動作。 |
|
相關資源
其他資訊
工作流程編輯器中的圖示
![RUNHELLO 任務在頂部,FOOBAR 在中間,剩下的任務在第三級。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/837430ee-3159-4fe2-8e17-65168294ef1e.png)
連接的所有任務
![RUNHELLO 連接到 FOOBAR,它連接到剩下的三個任務。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/fe483348-9a6f-450b-87e6-ceae6b2bdaad.png)
工作流狀態
![FOOBAR 任務失敗,剩下的三個任務正在等待。](images/pattern-img/01c6f9fa-87e6-459a-b694-5e03dd7f7952/images/5ea4e239-fbbe-4fa4-9ffa-b7a9443b7975.png)