編輯

共用方式為


在 Azure 上重新設計大型主機批次應用程式

Azure Data Factory
Azure Databricks
Azure Kubernetes Service (AKS)
Azure SQL Database
Azure 儲存體

此參考架構示範如何使用 Azure 重新設計 z/OS 大型主機批次應用程式,以使用 Azure 在雲端中提供安全、可調整且高可用性的系統。 由於商務需求不斷演進,數據和應用程式需要傳遞和調整規模,而不會影響您的基礎結構。 重新工程至雲端可協助財務、健康、保險和零售的企業將產品或功能交付時間降至最低,並降低成本。

大型主機架構

第一個圖表顯示在 z/OS 大型主機上執行的一般批次應用程序的架構。

在 z/OS 大型主機上執行的一般批次應用程式圖表。

下載此架構的 Visio 檔案

工作流程

  1. 大型主機批處理可以使用作業、規劃和控制 (OPC) 排程器,在排程時間觸發。 它們也可以由放置在消息佇列中的訊息觸發,例如宣告檔案已建立的訊息。

  2. 大型主機直接存取儲存裝置 (DASD) 用來儲存輸入和輸出檔案:例如,應用程式所需的一般檔案。 您可以在 DASD 記憶體上建立檔案來觸發批處理。

  3. 批處理是一組作業的執行,例如在內部執行使用者或系統程式以執行特定工作的工作。 通常,批處理會在不需使用者互動的情況下執行。 大型主機上的所有批次作業都會在作業執行系統 (JES) 的控制下執行。

  4. 批次處理中的程式可以從下列位置讀取/寫入資料:

    • 檔案型資料庫,例如虛擬 儲存體 存取方法(VSAM)。
    • Db2 或 Informix 之類的關係資料庫。
    • 資訊管理系統 (IMS) 之類的非關係資料庫。
    • 消息佇列。
  5. 作業執行的輸出可以透過 OPC 排程器或 Tivoli 工作負載排程器 (TWS) 監視。 JES 中的系統顯示和搜尋設備 (SDSF) 也會用於大型主機,以檢查作業執行狀態。

  6. 管理層提供下列服務:

    • 原始檔控制,例如 Endevor 或 Changeman。
    • 安全性,例如資源 存取控制設施(RACF)。 此安全性提供執行批次、存取檔案及存取資料庫的驗證。
    • 支援記憶體和搜尋作業執行記錄的輸出管理。

Azure 架構

第二個圖表顯示如何使用 Azure 服務來重新設計具有新增功能和彈性的類似應用程式。

使用 Azure 服務重新設計批次應用程式的圖表。包含多個範例服務。

下載此架構的 Visio 檔案

工作流程

  1. 使用下列其中一個觸發程式來啟動 Azure 批處理。

    • 使用 Azure Databricks 作業排程器或 Azure 函式排程器。
    • 使用 Azure Logic Apps 建立週期性批處理工作。
    • 使用記憶體事件,例如在 Azure Blob檔案記憶體建立或刪除檔案。
    • 使用訊息型觸發程式,例如訊息抵達 Azure 服務匯流排
    • 建立 Azure Data Factory 觸發程式。
  2. 使用 Azure Blob 儲存體 或 Azure 檔案儲存體 儲存從大型主機移轉的檔案。 在 Azure 上重新設計批處理的程式可以從此記憶體讀取/寫入數據。

  3. Azure 提供各種服務來實作大型主機批次工作負載。 選取以您的商務需求為基礎的特定服務。 例如,需要計算能力、總運行時間、將大型主機批次程式分割成較小的單位,以及成本敏感度。

    1. Azure Databricks 是以 Apache Spark 為基礎的分析平臺。 作業可以用 R、Python、Java、Scala 和 Spark SQL 語言撰寫。 它提供具有快速叢集開始時間、自動終止和自動調整的計算環境。 它已內建與 Azure 記憶體整合,例如 Azure Blob 儲存體 和 Azure Data Lake Storage。 如果您需要在短時間內處理大量數據,請使用 Azure Databricks。 如果您需要執行擷取、轉換和載入 (ETL) 工作負載,這也是不錯的選擇。
    2. AKS 和 Service Fabric 提供基礎結構來實作服務型應用程式架構。 對於單一應用程式而言,它可能不符合成本效益。 您可以使用 Java Spring Boot 重構大型主機應用程式。 在 Azure 上執行 Spring Boot 應用程式的最佳方式是使用完全受控的 Spring 服務 Azure Spring Apps。 Java 開發人員可以使用它輕鬆地在 Azure 上建置及執行 Spring Boot 微服務。
    3. 您可以使用 .NET 或 Java 重新設計大型主機批次應用程式。 Batch 提供基礎結構,以大規模執行此應用程式。 它會建立和管理虛擬機集區(VM)、安裝應用程式,然後排程在 VM 上執行的作業。 沒有可安裝、管理或調整的叢集或工作排程器軟體。 以 Windows 或 Linux 所支援的任何程式設計語言撰寫應用程式。
    4. 您可以重新設計短期執行COBOL或 PL/1 批次程式。 針對這些程式,請使用 Functions、WebJobs 或 Logic Apps 等 Azure 服務。
  4. Azure 提供各種數據服務來儲存和擷取數據。

    • 您可以透過對 Azure 關係資料庫供應項目的可見度進行最少變更,移轉 Db2 和 Informix 等大型主機關係資料庫。 例如,Azure SQL VM、Azure SQL DB 或 Azure SQL MI 等關係資料庫服務。 您也可以使用任何開放原始碼關係資料庫管理系統(RDBMS),例如 Azure PostgreSQL。 Azure 資料庫的選取取決於工作負載類型、跨資料庫查詢、雙階段認可需求,以及許多其他因素。
    • 您可以將大型主機非關係資料庫移轉至 Azure Cosmos DB,例如 IMS、整合式 資料管理 系統(IDMS),或 VSAM。 Azure Cosmos DB 提供快速回應時間、自動和即時延展性,以及在任何規模上保證速度。 對於任何大小或規模的無法預測或零星工作負載而言,這是符合成本效益的選項。 開發人員可以輕鬆地開始使用,而不需要規劃或管理容量。
    • 您可以使用 Azure Cache for Redis 來加速重新設計的應用程式。
  5. 應用程式、OS 和 Azure 資源可以使用代理程式將記錄和計量傳送至 Azure 監視器記錄

    • Application Insight 會監視已移轉的應用程式。 它會自動偵測效能異常,並包含功能強大的分析工具,可協助您診斷問題。
    • Azure Log Analytics 可協助從所收集的記錄數據儲存、編製索引、查詢及衍生分析。

    您可以使用Log Analytics和Application Insights的輸出來建立警示和儀錶板,或導出至外部服務。 您也可以使用輸出來執行動作,例如調整 VM。

  6. 此層提供 Azure 服務以進行原始檔控制、安全性和輸出管理。 這些服務可能包含 Azure DevOps 和 Microsoft Entra 識別碼。

元件

網路和身分識別

  • Azure ExpressRoute:ExpressRoute 可讓您透過連線提供者的私人連線,將內部部署網路延伸至 Microsoft 雲端。 透過 ExpressRoute,您可以建立 Microsoft Azure 和 Office 365 等 Microsoft 雲端服務的連線。
  • Azure VPN 閘道:VPN 閘道是一種特定的虛擬網路閘道類型,可用來透過公用因特網在 Azure 虛擬網路與內部部署位置之間傳送加密流量。
  • Microsoft Entra ID:Microsoft Entra ID 是可與內部部署目錄同步的身分識別和存取管理服務。

申請

  • Logic Apps:Logic Apps 可協助您依排程建立和執行自動化的週期性工作和程式。 您可以在 Azure 內外呼叫服務,例如 HTTP 或 HTTPS 端點。 您也可以將訊息張貼至 Azure 服務,例如 Azure 服務匯流排,或取得上傳至檔案共享的檔案。
  • 服務匯流排:您可以使用 服務匯流排 在使用者介面與後端服務之間進行傳訊。 此系統可以分離應用程式和服務,並提升可靠性和使用。
  • Azure Databricks:Azure Databricks 是雲端式數據工程工具,可用來處理和轉換大量數據。 然後,您可以透過機器學習模型探索該數據。
  • Azure Spring Apps:Azure Spring Apps 可讓您輕鬆地將 Spring 微服務部署、管理及執行至 Azure。 它同時支援 Java 和 .NET Core。
  • AKS:AKS 藉由將作業額外負荷卸除至 Azure,簡化在 Azure 中部署受控 Kubernetes 叢集。
  • Batch:Batch 的設計目的是在雲端中執行一般用途的批次運算,這些 VM 可以根據所執行的工作負載進行調整。 它非常適合 ETL 或 AI 使用案例,其中多個工作會以平行方式執行,彼此獨立。
  • 函式:使用 Functions 來執行少量程式代碼,而不必擔心應用程式基礎結構。 使用 Functions 時,雲端基礎結構會提供讓應用程式大規模執行所需的所有最新伺服器。
  • Azure App 服務:使用 App Service 的 WebJobs 功能,您可以將可重複使用的背景商業規則編碼為 Web 作業。
  • Azure Cache for Redis:您可以開發使用大量後端數據的應用程式,藉由與 Redis 等記憶體內部數據存放區整合來調整和提供高度優化的效能。 Azure Cache for Redis 提供 Redis 開放原始碼 (OSS Redis) 和 Redis Labs、Redis Enterprise 的商業產品作為受控服務。

儲存體

Azure 記憶體提供多層經常性存取、非經常性存取和封存數據。 這些儲存層的有效使用可讓您享有價格對效能的優勢。

  • Blob 儲存體:適用於雲端原生工作負載、封存、數據湖、高效能運算和機器學習的可調整且安全的物件記憶體。
  • Azure 檔案儲存體:簡單、安全且無伺服器企業級的雲端檔案共用。 Azure 檔案儲存體 特別適用於重新設計的大型主機解決方案。 它為受控 SQL 記憶體提供有效的附加元件。
  • 數據表 儲存體:使用大型半結構化數據集進行快速開發的 NoSQL 索引鍵/值存放區。
  • Azure 佇列 儲存體:適用於大型工作負載的簡單、符合成本效益且持久的訊息佇列。
  • Azure SQL:適用於 SQL Server 的 Azure 完全受控服務系列。 您可以有效地移轉和使用關係型數據與其他 Azure 服務,例如 Azure SQL 受控執行個體、Azure 上的 SQL Server 虛擬機器,以及 適用於 MariaDB 的 Azure 資料庫。
  • Azure Cosmos DB:無 SQL 供應專案,可讓您用來從大型主機移轉非表格式數據。

監視

  • Azure 監視器:Azure 監視器提供全方位的解決方案,可從雲端和內部部署環境收集、分析及處理遙測數據。 其中包含 Application Insights、Azure 監視器記錄和 Azure Log Analytics 功能。

管理

  • Azure DevOps:在軟體開發和小組共同作業的每個階段,在 Azure 上重新設計大型主機應用程式。 DevOps 提供下列服務:

    • Azure Boards:敏捷式規劃、工作專案追蹤、視覺效果和報告工具。
    • Azure Pipelines:支援容器或 Kubernetes 的語言、平臺和雲端無從驗證 CI/CD 平臺。
    • Azure Repos:提供雲端裝載的私人 Git 存放庫。
    • Azure Artifacts:提供整合式套件管理,支援來自公用或私人來源的 Maven、npm、Python 和 NuGet 套件摘要。
    • Azure 測試計劃:提供整合、規劃及探勘測試解決方案。

案例詳細資料

大型主機主要用於處理大量數據。 批處理是一種處理大量交易的方式,這些交易會分組在一起,然後針對資料庫進行大量更新。 觸發之後,他們只需要最少的用戶互動。 例如,大型主機系統可讓銀行和其他金融機構進行季度末處理,併產生報告,例如季度股票或養老金表。

潛在使用案例

此解決方案適用於金融、保險、醫療保健和零售產業。 使用此架構在 Azure 上重新設計大型主機應用程式。 此架構最適合:

  • 需要大量資源的大型主機批次應用程式。
  • 在特定時間需要高計算的批次應用程式,例如月底、季或年。
  • 大型主機批處理是重複的,而不是需要大量資源,但可能需要外部系統的使用率。

考量

可用性

  • 本文中的批次架構會使用多節點運算或 PaaS 服務,以提供高可用性。
  • Azure 資料庫服務支援區域備援,而且您可以設計它們,在中斷或維護期間故障轉移至次要節點。

延展性

  • 此架構中的下列 Azure 服務具有自動調整功能:

    • Azure Databricks
    • AKS
    • Spring 應用程式
    • Batch
    • Azure Functions
    • Logic Apps
  • 如需 Azure 中自動調整的詳細資訊,請參閱 自動調整指南

安全性

  • 此參考架構會使用 ExpressRoute 從內部部署環境私人且有效率地連線到 Azure。 不過,您也可以建立 站對站 VPN
  • 您可以使用 Microsoft Entra ID 來驗證 Azure 資源。 您可以使用角色型存取控制 (RBAC) 來管理許可權。
  • Azure 支援 各種安全性選項中的資料庫服務,例如待用數據加密。
  • 如需設計安全解決方案的詳細資訊,請參閱 Azure 安全性檔

復原

  • 除了 Log Analytics 之外,您還可以使用 Azure 監視器和 Application Insights 來監視 Azure 資源的健康情況。 設定警示以主動管理您的資源健康情況。
  • 如需 Azure 中復原的詳細資訊,請參閱 設計可靠的 Azure 應用程式

成本最佳化

使用 Azure 定價計算機來估計 Azure 資源的成本。

如需服務的範例成本估計,請參閱 Azure 大型主機批次應用程式

參與者

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

主體作者:

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

下一步