編輯

共用方式為


Azure 上的 IBM z/OS 線上交易處理

Azure Front Door
Azure 流量管理員
Azure Kubernetes Service (AKS)
Azure Spring Apps
Azure Cache for Redis

在線事務處理 (OLTP) 系統會直接與用戶互動,而且是企業的面孔。 透過動態調整的基礎結構,企業可以快速實現並推出其產品,以讓使用者滿意。

架構

下圖顯示要移轉的工作負載架構,這是在 z/OS 大型主機上執行的 OLTP 系統:

z/OS 上的 OLTP 架構

下載此架構的 Visio 檔案

工作流程

下列工作流程會對應至上圖:

  1. 使用者使用 TN3270 和 HTTPS 等標準大型主機通訊協定,透過 TCP/IP 連線到大型主機。
  2. 交易管理員會與用戶互動,並叫用應用程式以滿足使用者要求。
  3. 在應用層的前端,用戶會與 CICS/IMS 畫面或網頁互動。
  4. 交易管理員會使用以 COBOL 或 PL/1 撰寫的商業規則來實作交易。
  5. 應用程式程式代碼會使用數據層的記憶體功能,通常是 DB2、IMS DB 或 VSAM。
  6. 除了事務處理之外,其他服務也提供驗證、安全性、管理、監視和報告。 這些服務會與系統中所有其他服務互動。

在這裡,我們將瞭解如何將此架構移轉至 Azure。

此圖顯示移轉 z/OS OLTP 工作負載的架構。

下載此架構的 Visio 檔案

  1. 大型主機使用者熟悉 3270 終端機和內部部署連線能力。 在遷移的系統中,他們會透過公用因特網或透過使用 Azure ExpressRoute 實作的私人連線,與 Azure 應用程式互動。 Microsoft Entra ID 提供驗證。

  2. 輸入要求會移至全域負載平衡器服務,例如 Azure Front Door 或 Azure 流量管理員。 負載平衡器可以提供地理位置分散的使用者群。 它會根據針對支援的工作負載所定義的規則來路由傳送要求。 這些負載平衡器可以與 Azure 應用程式閘道 或 Azure Load Balancer 協調,以平衡應用層的負載平衡。 Azure 內容傳遞網路 服務會快取邊緣伺服器中的靜態內容,以取得快速回應,並使用 Web 應用程式防火牆 (WAF) 服務加以保護。

  3. 應用層的前端會使用 azure 服務,例如 Azure App 服務 來實作應用程式畫面,並與用戶互動。 螢幕會移轉大型主機畫面的版本。

  4. 應用層後端的COBOL和 PL/1 程式代碼會實作商業規則。 程序代碼可以使用 Azure Functions、WebJobs 和 Azure Spring Apps 微服務等服務。 應用程式可以在 Azure Kubernetes Service (AKS) 容器中執行。

  5. 記憶體內部資料存放區可加速高輸送量 OLTP 應用程式。 其中一個這類存放區是記憶體內部 OLTP,這是 Azure SQL 資料庫 和 Azure SQL 受控執行個體 的功能。 另一個是 Azure Cache for Redis。

  6. 資料層可以包含,例如:

    1. 使用 Azure 儲存體 服務實作的檔案、數據表和 Blob。
    2. 來自 Azure SQL 系列的關係資料庫。
    3. PostgreSQL 和 MySQL 開放原始碼資料庫的 Azure 實作。
    4. Azure Cosmos DB,NoSQL 資料庫。

    這些存放區會保存從大型主機移轉的數據,以供應用層使用。

  7. Application Insights 和 Azure 監視器等 Azure 原生服務會主動監視系統的健康情況。 您可以使用 Azure 儀錶板來整合監視器記錄。

元件

此架構包含數個 Azure 雲端服務,分為四種資源類別:網路和身分識別、應用程式、記憶體和監視。 下列各節將說明每個及其角色的服務。

網路和身分識別

  • Azure ExpressRoute 會在內部部署基礎結構與 Azure 數據中心之間攜帶私人連線。
  • Microsoft Entra ID 是可與內部部署目錄同步處理的身分識別和存取管理服務。
  • Azure Front Door 提供全域 HTTP 負載平衡與立即故障轉移。 其快取選項可以加快靜態內容的傳遞速度。
  • Azure 流量管理員 會根據您選擇的流量路由方法,引導連入 DNS 要求。
  • Azure Web 應用程式防火牆 可協助保護 Web 應用程式免於遭受惡意攻擊和常見的 Web 弱點,例如 SQL 插入式和跨網站腳本。
  • Azure 內容傳遞網路 (CDN) 會快取邊緣伺服器中的靜態內容以進行快速回應,並使用網路優化來改善動態內容的回應。 CDN 在使用者基底是全域時特別有用。
  • Azure 應用程式閘道 是應用程式傳遞控制器服務。 它會在應用層第 7 層運作,並具有各種負載平衡功能。
  • Azure Load Balancer 是第 4 層 (TCP、UDP) 負載平衡器。 在此架構中,它提供 Spring Apps 和 AKS 的負載平衡選項。

申請

  • Azure API 管理 支援 API 的發佈、路由、保護、記錄和分析。 您可以控制數據的呈現和擴充方式,以及哪些應用程式可以存取數據。 您可以限制對應用程式的存取,或允許第三方。
  • Azure App 服務 是完全受控的服務,可用於建置、部署和調整Web應用程式。 您可以使用 .NET、.NET Core、Node.js、Java、Python 或 PHP 建置應用程式。 應用程式可以在容器中或在 Windows 或 Linux 上執行。 在大型主機移轉中,前端畫面或Web介面可以編碼為 HTTP 型 REST API。 它們可以根據大型主機應用程式進行隔離,而且可以無狀態來協調微服務型系統。
  • WebJobs 是 Azure App 服務 的功能,可在與 Web 應用程式、API 應用程式或行動應用程式相同的實例中執行程式或腳本。 Web 作業是實作可共用且可重複使用程式邏輯的絕佳選擇。 如需技術資訊,請參閱在 Azure App 服務 中使用 WebJobs 執行背景工作。
  • Azure Kubernetes Service (AKS) 是完全受控 Kubernetes 服務,可用來部署和管理容器化應用程式。 AKS 會透過將作業額外負荷卸載至 Azure,以簡化在 Azure 中部署受控 AKS 叢集的作業。
  • Azure Spring Apps 是完全受控的 Spring 服務,由 Microsoft 和 VMware 共同建置及運作。 透過它,您可以輕鬆地部署、管理及執行 Spring 微服務,以及使用 Java 或 .NET 撰寫 Spring 應用程式。
  • Azure 服務匯流排 是一種可靠的雲端傳訊服務,可用於簡單的混合式整合。 服務匯流排 和記憶體佇列可以連接前端與已移轉系統中的商業規則。
  • Azure Functions 提供一個環境,可用來執行稱為函式的小型程序代碼,而不需要建立應用程式基礎結構。 您可以使用它來處理大量數據、整合系統、使用IoT,以及建置簡單的API和微服務。 使用微服務,您可以建立連線至 Azure 服務且一律為最新狀態的伺服器。
  • Azure Cache for Redis 是完全受控的記憶體內部快取服務,可用於在計算資源之間共用數據和狀態。 它同時包含開放原始碼 Redis (OSS Redis) 和 Redis Labs (Redis Enterprise) 的商業產品作為受控服務。 您可以藉由設計高輸送量 OLTP 應用程式的效能來調整及使用記憶體內部數據存放區,例如 Azure Cache for Redis。

儲存體

監視

  • Azure 監視器 會收集、分析及處理來自 Azure 和內部部署環境的個人資料。
  • Log Analytics 是 Azure 入口網站 中的工具,可用來使用功能強大的查詢語言來查詢監視記錄。 您可以使用互動方式處理查詢的結果,或將其與其他 Azure 監視器功能搭配使用,例如記錄查詢警示或活頁簿。 如需詳細資訊,請參閱 Azure 監視器中的 Log Analytics 概觀
  • Application Insights 是監視的一項功能,可提供應用程式使用方式、可用性和效能的程式代碼層級監視。 它會監視應用程式、偵測應用程式異常,例如平庸的效能和失敗,並將個人資料傳送至 Azure 入口網站。 您也可以使用 Application Insights 來記錄、分散式追蹤和自定義應用程式計量。
  • Azure 監視器警示是監視的一項功能。 如需詳細資訊,請參閱使用 Azure 監視器建立、檢視及管理計量警示

案例詳細資料

透過不斷演進的商務需求和數據,應用程式必須產生並調整規模,而不會造成基礎結構問題。 此範例工作負載示範如何使用 Azure 平臺即服務 (PaaS) 服務,將 z/OS 大型主機 OLTP 應用程式移轉至雲端中安全、可調整且高可用性的系統。 這類移轉可協助財務、健康保險和零售企業將應用程式傳遞時程表降到最低,並有助於降低執行應用程式的成本。

潛在使用案例

此架構適用於具有下列特性的 OLTP 工作負載:

  • 它們為國際使用者群提供服務。
  • 其使用量會隨著時間而變化很大,因此受益於彈性調整和以使用量為基礎的定價。

考量

這些考量能實作 Azure Well-Architected Framework 的支柱,其為一組指導原則,可以用來改善工作負載的品質。 如需更多資訊,請參閱 Microsoft Azure 結構完善的架構

可靠性

可靠性可確保您的應用程式符合您對客戶的承諾。 如需詳細資訊,請參閱可靠性支柱的概觀 (部分機器翻譯)。

  • 此 OLTP 架構可以部署在多個區域中,而且可以有異地復寫的數據層。
  • Azure 資料庫服務支援區域備援,而且如果發生中斷或允許維護活動,則可以故障轉移至次要節點。

安全性

安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性支柱的概觀

  • ExpressRoute 會從內部部署環境建立 Azure 的私人連線。 您也可以使用站對站 VPN。
  • Microsoft Entra ID 可以使用 Azure 角色型訪問控制來驗證資源和控制存取。
  • Azure 支援 各種安全性選項中的資料庫服務,例如待用數據加密。
  • 如需設計安全解決方案的一般指引,請參閱 安全性要素概觀。

成本最佳化

成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化支柱的概觀

使用 Azure 定價計算機來預估實作的成本。

卓越營運

卓越營運涵蓋部署應用程式並使其持續在生產環境中執行的作業流程。 如需詳細資訊,請參閱卓越營運支柱的概觀 (部分機器翻譯)。

  • 此案例會使用 Azure 監視器和 Application Insights 來監視 Azure 資源的健康情況。 您可以設定主動式管理的警示。
  • 如需 Azure 中復原的指引,請參閱 設計可靠的 Azure 應用程式

效能效益

效能效率可讓您的工作負載進行調整,以有效率的方式符合使用者對其放置的需求。 如需詳細資訊,請參閱效能效率支柱概觀

  • 此架構使用 Azure PaaS 服務,例如具有自動調整功能的 App Service。
  • 如需 Azure 中自動調整的指引,請參閱 自動調整

參與者

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

主要作者:

若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。

下一步

請參閱下列相關架構和相關技術資訊: