一般大型主機重構至 Azure

Azure 檔案
Azure Load Balancer
Azure SQL Database
Azure 儲存體
Azure 虛擬機器

下列架構說明一般重構方法,可使用 Azure Kubernetes Service (AKS) 或 Azure 虛擬機 (VM)。 選擇取決於現有應用程式的可移植性和喜好設定。 重構可以藉由自動將程式代碼轉換成 Java 或 .NET,以及將預先關係型資料庫轉換成關係資料庫,來加速移至 Azure。

大型主機架構

顯示一般大型主機系統元件的架構圖表。

下載此架構的 Visio 檔案

工作流程

  • 內部部署使用者會使用 TN3270 和 HTTPS 等標準大型主機通訊協定,透過 TCP/IP 存取大型主機。
  • 接收應用程式可以是批次或在線系統(B)。
  • COBOL、PL/I、組合器或相容語言會在啟用的環境中執行 (C)。
  • 一般數據和資料庫服務包括階層式或網路資料庫系統、索引或一般數據檔,以及關係資料庫 (D)。
  • 一般服務包括程式執行、I/O 作業、錯誤偵測和保護 (E)。
  • 中間件和公用程式服務會管理磁帶記憶體、佇列、輸出和 Web 服務 (F)。
  • 操作系統是計算引擎與軟體 (G) 之間的介面。
  • 分割區會執行個別的工作負載,或隔離環境中的工作類型(H)。

重構的 Azure 架構

顯示 Azure 上重構大型主機系統的元件架構圖表。

下載此架構的 Visio 檔案

工作流程

  1. 輸入來自透過 ExpressRoute 或來自其他 Azure 使用者的遠端用戶端。 TCP/IP 是連線到系統的主要方式。

    • 內部部署使用者可以透過傳輸層安全性 (TLS) 埠 443 存取 Web 應用程式。 Web 應用程式的呈現層可以維持不變,以將終端使用者重新定型降至最低。 或者,您可以使用新式UX架構來更新呈現層。

    • 內部部署系統管理存取會使用 Azure Bastion 主機,藉由將開啟的埠降到最低,將安全性最大化。

    • Azure 使用者會透過虛擬網路對等互連連線到系統。

  2. 在 Azure 中,Azure Load Balancer 會管理應用程式計算叢集的存取權。 Load Balancer 支援向外延展計算資源來處理輸入。 視應用程式輸入到達計算叢集進入點的方式而定,您可以使用層級 7 應用層級或層級 4 網路層級負載平衡器。

  3. 應用程式計算叢集可以在 Azure VM 上執行,或在 AKS 叢集中的容器中執行。 通常,PL/I 或 COBOL 應用程式的大型主機系統模擬會使用 VM,而重構為 Java 或 .NET 的應用程式會使用容器。 某些大型主機系統模擬軟體也支援在容器中部署。 計算資源會使用進階或超固態硬碟 (SSD) 受控磁碟搭配加速網路和遠端直接記憶體存取 (RDMA)。

  4. 計算叢集中的應用程式伺服器會根據語言功能裝載應用程式,例如 Java 類別或 COBOL 程式。 伺服器會接收應用程式輸入,並使用 Azure Cache for Redis 或 RDMA 共用應用程式狀態和數據。

  5. 應用程式叢集中的數據服務支援對永續性數據源的多個連線。 Azure Private Link 提供從虛擬網路內到 Azure 服務的私人連線。 資料來源可以包括:

    • PaaS 數據服務,例如 Azure SQL 資料庫、Azure Cosmos DB 和 適用於 PostgreSQL 的 Azure 資料庫 - 超大規模資料庫。
    • VM 上的資料庫,例如 Oracle 或 Db2。
    • 巨量數據存放庫,例如 Azure Databricks 和 Azure Data Lake。
    • 串流數據服務,例如 Apache Kafka 和 Azure 串流分析
  6. 數據記憶體可以是本機備援或異地備援,視使用量而定。 資料記憶體可以使用下列項目的組合:

    • 具有 Ultra 或進階 SSD 磁碟的高效能記憶體。
    • 使用 Azure NetApp Files 或 Azure 檔案儲存體 的檔案記憶體。
    • 標準記憶體,包括 Blob、封存和備份記憶體。
  7. Azure PaaS 資料服務提供可調整且高可用性的數據記憶體,您可以在計算叢集資源之間共用。 此記憶體也可以是異地備援。

    • Azure Blob 儲存體 是外部數據源的常見登陸區域。
    • Azure Data Factory 支援多個 Azure 和外部數據源的數據擷取和同步處理。
  8. Azure Site Recovery 為 VM 和容器叢集元件提供 DR。

  9. Microsoft Entra ID、Azure 網路、Azure 串流分析、Azure Databricks 和 Power BI 等服務可以輕鬆地與現代化系統整合。

元件

此範例提供下列 Azure 元件。 視您的案例而定,這些元件和工作流程中有數個是可互換或選擇性的。

  • Azure ExpressRoute 會透過來自連線提供者的私人專用光纖連線,將您的內部部署網路延伸至 Azure。 ExpressRoute 會建立與 Azure 和 Microsoft 365 等 Microsoft 雲端服務的連線。

  • Azure Bastion 透過 TLS 從 Azure 入口網站 提供順暢的遠端桌面通訊協定 (RDP) 或安全殼層 (SSH) 連線至虛擬網路 VM。 Azure Bastion 藉由將開啟的埠降到最低,將系統管理存取安全性最大化。

  • Azure Load Balancer 會將連入流量散發至計算資源叢集。 您可以定義規則和其他準則來散發流量。

  • Azure Kubernetes Service (AKS) 是完全受控的 Kubernetes 服務,可用來部署和管理容器化應用程式。 AKS 提供無伺服器 Kubernetes、整合式持續整合和持續傳遞 (CI/CD) 體驗,以及企業級的安全性與治理。

  • Azure 虛擬機器 提供許多大小和類型的隨選、可調整計算資源。 有了 Azure VM,您就能獲得虛擬化的彈性,而不需要購買和維護實體硬體。

  • Azure 虛擬網絡 是 Azure 專用網的基本建置組塊。 虛擬網路內的 Azure VM 可以安全地彼此通訊、因特網和內部部署網路。 虛擬網路就像傳統的內部部署網路,但具有 Azure 基礎結構的優點,例如延展性、高可用性和隔離。

  • Azure Private Link 提供從虛擬網路到 Azure 服務的私人連線。 Private Link 可簡化網路架構,並藉由消除公用因特網暴露來保護 Azure 端點之間的連線。

  • Azure Cache for Redis 會將快速快取層新增至應用程式架構,以高速處理大型磁碟區。 Azure Cache for Redis 會以完全受控服務的優點,以簡單且符合成本效益的方式調整效能。

  • Azure 儲存體 為您的所有數據、應用程式和工作負載提供可調整、安全的雲端記憶體。

    • Azure 磁碟 儲存體 是商務關鍵應用程式的高效能持久區塊記憶體。 Azure 受控磁碟是 Azure VM 上由 Azure 管理的區塊層級記憶體磁碟區。 可用的磁碟類型包括 Ultra 磁碟、進階 SSD、標準 SSD 和標準硬碟(HDD)。 此架構會使用進階 SSD 或 Ultra 磁碟 SSD。

    • Azure 檔案儲存體 提供雲端中完全受控的檔案共用,可透過業界標準伺服器消息塊 (SMB) 通訊協定存取。 雲端和內部部署 Windows、Linux 和 macOS 部署可以同時掛接 Azure 檔案儲存體 檔案共用。

    • Azure NetApp Files 提供由 NetApp 提供的企業級 Azure 檔案共用。 NetApp Files 可讓企業輕鬆地移轉及執行複雜的檔案型應用程式,而不需要變更程序代碼。

    • Azure Blob 儲存體 適用於封存、數據湖、高效能運算、機器學習和雲端原生工作負載的可調整且安全的物件記憶體。

  • Azure 資料庫 提供完全受控關係型和 NoSQL 資料庫的選擇,以符合新式應用程式的需求。 自動化基礎結構管理提供延展性、可用性和安全性。

    • Azure SQL 資料庫 是完全受控的 PaaS 資料庫引擎。 SQL 資料庫 一律會在最新穩定版本的 SQL Server 和具有 99.99% 可用性的修補作業系統上執行。 內建 PaaS 資料庫管理功能包括升級、修補、備份和監視。 您可以專注於領域特定的業務關鍵資料庫管理和優化。

    • 適用於 PostgreSQL 的 Azure 資料庫 是以開放原始碼 Postgres 關係資料庫引擎為基礎的完全受控資料庫。 超大規模資料庫 (Citus) 部署選項會針對需要更大規模和效能的應用程式,使用分區化跨多部機器調整查詢。

    • Azure Cosmos DB 是完全受控且快速的 NoSQL 資料庫,具有任何規模的開放 API。

  • 如果 Azure 數據中心失敗,Azure Site Recovery 會將 Azure VM 鏡像至次要 Azure 區域,以進行快速故障轉移和 DR。

案例詳細資料

將工作負載重構至 Azure 可以轉換在 Windows Server 或 Linux 上執行的大型主機應用程式。 您可以使用雲端式 Azure 基礎結構即服務 (IaaS) 和平臺即服務 (PaaS) 更有成本效益地執行這些應用程式。

大型主機應用程式的一般重構方法也會推動基礎結構從舊版專屬轉換為標準化、基準化、開放技術。 此轉換可提升現今高生產力、開放系統標準的敏捷式 DevOps 原則。 重構從獨特的舊版基礎結構、流程和應用程式島移轉至更佳業務和IT一致性的統一土地。

此一般重構方法可以使用 Azure Kubernetes Service (AKS) 或 Azure 虛擬機 (VM)。 選擇取決於現有應用程式的可移植性和喜好設定。 重構可以藉由自動將程式代碼轉換成 Java 或 .NET,以及將預先關係型資料庫轉換成關係資料庫,來加速移至 Azure。

重構支援將用戶端工作負載移至 Azure 的不同方法。 其中一種方法是一次將整個大型主機系統轉換成 Azure,以節省臨時大型主機維護和設施支援成本。 這種方法有一些風險。 所有應用程式轉換、數據遷移和測試程式都必須一致,才能順暢地從大型主機轉換至 Azure。

第二種方法是逐步將應用程式從大型主機移至 Azure,並將完整轉換作為最終目標。 此策略可節省每個應用程式的費用,以及轉換每個應用程式所學到的課程可協助稍後的轉換。 以自己的排程將每個應用程式現代化可能會比一次轉換所有專案更輕鬆。

潛在的使用案例

在 Azure 上重構可協助組織:

  • 現代化基礎結構,並逸出大型主機的高成本、限制和剛性。
  • 將大型主機工作負載移至雲端,而不需要完全重建的副作用。
  • 移轉業務關鍵應用程式,同時與其他內部部署應用程式維持持續性。
  • 受益於 Azure 的水準和垂直延展性。
  • 取得災害復原 (DR) 功能。

考量

下列基於 Azure Well-Architected Framework 的考慮適用於此解決方案:

可用性

如果主要 Azure 資料中心失敗,Azure Site Recovery 會將 Azure VM 鏡像至次要 Azure 區域,以進行快速故障轉移和 DR。

Operations

重構不僅支援更快速的雲端採用,也支持採用 DevOps 和敏捷式工作原則。 您在開發和生產部署選項方面具有完整的彈性。

復原

負載平衡器會內建此解決方案的效能效率。 如果某個簡報或交易伺服器失敗,負載平衡器後方的其他伺服器可以執行工作負載。

安全性

此解決方案會使用 Azure 網路安全組 (NSG) 來管理 Azure 資源之間的流量。 如需詳細資訊,請參閱網路安全性群組

Private Link 提供 Azure VM 與 Azure 服務之間隔離至 Azure 網路骨幹的私人直接連線。

Azure Bastion 藉由將開啟的埠降到最低,將系統管理存取安全性最大化。 Bastion 透過 TLS 從 Azure 入口網站 提供安全且順暢的 RDP 和 SSH 連線至虛擬網路 VM。

成本最佳化

Azure 藉由識別正確的資源類型數目、分析一段時間的花費,以及調整以符合業務需求而不需要超支,來避免不必要的成本。

  • Azure 藉由在 VM 上執行來提供成本優化。 您可以在不使用時關閉 VM,並編寫已知使用模式的排程腳本。 如需 VM 實例成本優化的詳細資訊,請參閱 Azure 架構架構。

  • 此架構中的 VM 會使用進階 SSD 或 Ultra 磁碟 SSD。 如需磁碟選項和定價的詳細資訊,請參閱 受控磁碟 定價

  • SQL 資料庫 使用自動調整的無伺服器計算和超大規模資料庫記憶體資源,將成本優化。 如需 SQL 資料庫 選項和定價的詳細資訊,請參閱 Azure SQL 資料庫 定價

使用定價計算機來預估此解決方案實作的成本。

參與者

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

主體作者:

若要查看非公用LinkedIn配置檔,請登入LinkedIn。

下一步