共用方式為


評估您的工作負載以進行雲端移轉

評估階段確保您在轉換到 Microsoft Azure 前,能完整掌握每個元件、相依性與需求。 藉由收集架構、效能、安全性、程式代碼和資料庫的詳細資訊,您可以預期問題、將風險降到最低,並做出明智的移轉決策。

工作負載類型 探索工具 評定工具 Examples
On-premises Azure 移轉 Azure Migrate
Dr Migrate
• 實體伺服器
• VMware VM
• Hyper-V VM
• SQL 資料庫
• Web 應用程式
AWS 基礎結構 (IaaS) Azure 移轉 Azure Migrate
AWS 至 Azure 指南
• AWS EC2 實例
• AWS RDS 資料庫
• AWS EBS 磁碟區
Google 雲端基礎結構 (IaaS) Azure 移轉 Azure Migrate
Google Cloud 至 Azure 移轉指引
• Google 雲端計算引擎 VM
• 谷歌雲 SQL
• Google Cloud 永久磁碟
AWS 平台服務 (PaaS) AWS 資源總管 AWS 至 Azure 移轉指引
AWS 和 Azure 服務比較
克勞德奧基特
• AWS Lambda
• AWS 彈性 Beanstalk
• AWS DynamoDB
Google Cloud 平台服務 (PaaS) Google 雲端資產清查 Google Cloud 至 Azure 指引
Google Cloud 和 Azure 服務比較
克勞德奧基特
• 谷歌雲 BigQuery
• 谷歌雲應用引擎
• Google Cloud Run 函數服務
應用程式程式碼 CAST 醒目提示
Dr Migrate
Dr Migrate
雲飛行員
CAST 醒目提示
雲圖集
GitHub Copilot
• GitHub
• Azure Repos
• 吉特實驗室

評估工作負載架構

完整的架構評估能讓你全面了解所有工作負載元件及其互動方式。 這種可視性有助於準確的遷移規劃,透過識別哪些元件需要一起移動,哪些元件可能需要修改。

  1. 使用評定工具。 Azure Migrate 或其他產品等工具會自動探索工作負載元件和組態。 這些工具可減少手動工作,並在整個環境中提供一致的數據收集,不過它們可能會遺漏未記載的相依性。 您可以使用 Cloudockit 之類的工具來產生圖表。 你也可以用 Azure 圖示 或在 Azure Architecture Center 調整可下載的圖表來建立自己的圖表。

  2. 使用主題專業知識驗證架構。 工作負載擁有者可以確認工具結果,並識別遺漏或過時的資訊。 進行訪談或架構檢討會,以解決自動化發現資料中的差距。

  3. 檔架構。 以支援規劃和驗證的格式儲存架構圖表、元件清單和組態數據。 使用 Microsoft Visio、試算表或 Azure DevOps Wiki 等工具來維護這項資訊。

評估工作負載組成部分

針對每個工作負載,從目前環境收集詳細的基準效能和使用計量。 這些資料對於調整 Azure 資源規模及比較遷移後的效能至關重要。

  1. 收集工作負載計量。 追蹤 CPU 使用率、記憶體使用量、磁碟 I/O(讀取/寫入、IOPS)、網路輸送量,以及尖峰並行或使用者負載。 識別每日或每周尖峰,以瞭解容量需求。 測量使用者交易的平均回應時間、每小時處理的作業輸送量,以及任何 SLA 相關計量。 這些資訊有助於確保遷移後的工作負載符合相同的業務效能要求。

  2. 擷取設定詳細數據。 請注意縮放配置、目前虛擬機(VM)大小、實體伺服器規格(CPU 核心、記憶體)、作業系統類型與版本、儲存類型(SSD/HDD)與容量,以及任何特殊硬體如 GPU。 這些詳細數據會通知選擇 Azure VM 大小或 PaaS 服務。 也要記錄軟體授權資訊。 這些資訊可能會啟用 Azure Hybrid Benefit 或需要授權遷移。

  3. 記錄所有安全性和身分識別設定。 清查所有安全性和身分識別組態:列出服務帳戶、任何硬式編碼認證、所使用的加密方法,以及防火牆規則。 這些設定需要在 Azure 中複製或調整。

    安全性元件 Action Purpose
    身分識別清查 記錄應用程式用於驗證的所有服務帳戶、用戶帳戶和 API 金鑰 當您選擇原地移轉或現代化方法時,會影響遷移的排序。
    加密文件 記錄靜止中數據和傳輸中數據的目前加密方法 將這些需求對應至 Azure 加密服務,以維護安全性標準
    網路安全性設定 擷取網路安全性規則、防火牆設定和訪問控制清單 使用此資訊來設計 Azure 網路安全組和存取原則
  4. 識別相容性問題。 自動化工具針對 Azure 支援原則,系統分析作業系統、中介軟體和應用程式架構。 這些工具會標幟不支援、已淘汰或接近終止支援的元件。 Azure Migrate 和其他評量工具等工具可以在您的環境中偵測這些問題,而不需要手動進行設定檢閱。

  5. 列出必要的補救。 建立所有相容性問題及其補救需求的完整清單。 優先處理那些必須在遷移前修正的問題(阻擋者),以及遷移後可以處理的問題。 如有必要,請洽詢廠商以瞭解商業軟體的升級路徑。

繪製內部和外部相依性

  1. 繪製內部相依性。 繪製工作負載各組成部分如何相互通訊,並與組織內其他系統溝通。 使用網路監視工具或應用程式效能監視來查看服務之間的運行時間連線。 這種地圖有助於你判斷遷徙波的分組。 例如,如果應用程式 A 不斷呼叫資料庫 B,你要麼將它們遷移在一起,要麼在 Azure 與來源環境之間提供網路連線,直到兩者都進入雲端。

  2. 識別所有外部相依性。 列出工作負載與其互動的任何外部服務。 這些相依性包括 SaaS 平臺、合作夥伴 API、內部部署系統,以及應用程式需要正常運作的第三方服務。 您必須編錄所有上游和下游整合、共用服務和數據管線,以瞭解完整的相依性環境。 檔 API、傳訊系統、ETL 程式、共用資料庫、驗證方法、資料交換模式和服務等級協定。 檢視整合檔,並與應用程式擁有者進行面試,以確保能完整檢視所有外部連線。 這項全面的對應可防止整合失敗,並支援精確的移轉排序。

  3. 讓工作負載擁有者驗證和完成相依性數據。 工作負載擁有者提供對系統行為、共用資源及工具可能未偵測的非正式整合之重要見解。 您必須與應用程式和工作負載擁有者進行結構化面試或工作坊,以驗證工具產生的數據,並識別未記載的相依性。 此步驟可確保依賴關係圖的完整性和精確度,並協助捕捉可影響遷移排序的業務背景資訊。

  4. 記錄中央存放庫中的所有相依性。 以支援跨小組共同作業和移轉規劃的格式儲存相依性數據,例如電子錶格、架構圖表或相依性對應工具。 請確定存放庫可供存取並定期更新,以反映移轉程式期間的變更。

  5. 使用相依性來規劃移轉。 將工作負載組織成遷移波次,以最大程度減少依賴關係的中斷。 欲了解更多資訊,請參閱 遷徙波規劃

評估合規性和作業需求

  1. 識別法規合規性需求。 清楚瞭解法規合規性需求,可確保您的 Azure 架構符合法律、產業和組織義務。 這些需求會影響區域選取、服務可用性、數據保護和架構決策。 法規和合規性標準包括全球、區域、產業特定和內部原則。 這些標準可能包括GDPR、HIPAA、FedRAMP、ISO 27001 或SOX等財務法規。 每個標準都會對數據處理、訪問控制、加密和稽核性施加特定需求。 您必須諮詢法律、合規性和安全性項目關係人,以識別每個工作負載的所有適用標準。

  2. 記錄 SLA、RPO 和 RTO。 服務等級協定 (SLA)、恢復點目標 (RPO) 和復原時間目標 (RTO) 會定義可接受的可用性層級和數據遺失。 這些計量會引導備份、復寫和故障轉移策略的設計。 您必須記錄每個工作負載的這些值,以確保架構符合商務持續性預期。 請參閱 定義可靠性需求

  3. 分類每個工作負載環境。 工作負載通常會在生產環境、測試或開發環境中執行。 每個環境都有不同的可用性、安全性和效能需求。 您必須記錄每個工作負載的環境分類,以通知移轉排序、訪問控制和資源配置。

  4. 驗證ISV與 Azure 的整合。 許多工作負載相依於來自獨立軟體供應商的軟體(ISV)。 在移轉之前,您必須確認所有 ISV 軟體都與 Azure 相容。 利用廠商文件、測試環境,或直接與 ISV 驗證。 識別任何必要的更新、取代或設定變更。 同時判斷 Azure Hybrid Benefit 或其他授權模型是否適用。 在您的移轉計劃中納入授權成本和相容性調整,以取得精確的預算和排程。

評估應用程式程序代碼

應用程式程式代碼評估會識別可能會影響移轉成功的相容性問題和現代化機會。 此評量對於確保應用程式在 Azure 中可靠地執行,以及有效地規劃移轉波至關重要。 您必須評估應用程式程序代碼,以儘早偵測封鎖程式、降低移轉失敗的風險,以及通知目標架構決策。

使用自動化工具來評估應用程式程序代碼

  1. 使用 GitHub Copilot 應用程式現代化工具(.NET 和 Java)。 GitHub Copilot 應用程式現代化提供 .NET 與 Java 工作負載的詳細評估。 它結合 AppCAT 的評估功能與 Copilot 的 AI 驅動協助,使現代化過程更快速且更簡單。 此整合充當程式編寫的夥伴,協助您:

    • 擷取應用程式相關的依賴關係
    • 修訂與優化Azure服務的原始碼
    • 更新程式碼並修復常見漏洞與暴露(CVE)
    • 容器化應用程式以促進彈性部署
    • 產生部署檔案以簡化遷移流程
    • 透過 AI 輔助程式減少工作量
  2. 針對其他應用程式語言使用第三方工具。 CloudPilot 和 CAST Highlight 等工具支援 Python、JavaScript、Node.js和 Go 等語言。 這些工具可識別 Azure 相容性所需的程式代碼層級變更,並提供現代化見解。 使用這些工具來評估 non-.NET 和非 Java 工作負載。

  3. 使用評量結果來通知目標架構決策。 應用程式相容性結果可能會影響 Azure 服務的選取。 例如,與某個服務不相容的應用程式可能會與另一個服務相容,但程式代碼變更最少。 例如,像 Azure App Service 這類服務通常需要較少的程式碼變更,而容器平台服務則可能需要更多更新程式碼才能部署。 使用此彈性來更快移轉應用程式,並將程式代碼現代化延遲至較新的階段。 這種方法可降低遷移風險,並加速雲端遷移的速度。

驗證架構和 SDK 相容性

  1. 瞭解程式代碼相容性。 架構和 SDK 相容性可確保應用程式可在 Azure 中可靠地執行。 不支援的版本或不相容的 SDK 可能會導致運行時間失敗或需要大量重新作業。 您必須確認 Azure 支援應用程式的語言版本和架構。

  2. 檢查 Azure 是否支援您的應用程式所使用的語言和框架。 確認 Azure 支援您的 .NETJavaPythonJavaScript、Node.jsGo 版本。 使用官方 Azure 文件來驗證相容性。

  3. 避免不必要的架構變更。 只有在有充分商業理由時,才遷移到新框架(例如 Microsoft .NET Framework 轉 .NET Core)。 架構變更需要大量的開發工作和測試。

評估資料庫

資料庫相依性通常會判斷應用程式移轉的成功。 共用資料庫、跨應用程式相依性和整合模式可能會使移轉規劃複雜化。 您必須評估支援應用程式的資料庫,並瞭解其相依性。 請遵循下列指引:

  1. 識別應用程式所使用的所有資料庫。 建立應用程式使用之所有資料庫的完整清查。 包含資料庫引擎類型(SQL Server、MySQL)、版本和裝載模型(例如,內部部署、IaaS、PaaS)。 使用 Azure Migrate 之類的工具,以系統方式收集此資訊。 指定資料庫是自我裝載、裝載於虛擬機上,還是以受控服務的形式傳遞。 此資訊有助於判斷移轉整備程度和目標平臺相容性。

  2. 映射輸入和輸出相依性。 清楚了解數據流入和流出每個資料庫對於排序移轉及避免服務中斷至關重要。 相依性通常會跨越多個應用程式、服務和外部系統。 包含內部應用程式、API、批次作業、報告工具和其他整合。 指定相依性是唯讀、唯寫還是雙向。 此詳細數據有助於排定工作負載的優先順序,並識別潛在的移轉封鎖程式。

  3. 判斷資料庫移轉策略。 決定是否要將資料庫移動為共享實例,或依工作負載分割資料庫。 共用資料庫可簡化管理,但如果多個應用程式相依於它們,則可能會延遲移轉。 分割資料庫可啟用獨立的移轉,但需要仔細的協調和測試。 請確定資料庫移轉計劃支援排序應用程式移動,並將停機時間或服務中斷降至最低。

建立和維護風險緩存器

風險登記冊是您用來識別、評估、優先排序及監控可能影響雲端採用的潛在風險的文件或工具。 它概述了緩解策略。 維護此登記簿可確保主動式風險管理。

  1. 為所有工作負載建立風險緩存器。 記錄與技術、營運和組織因素相關的風險。 此寄存器提供對潛在阻礙因素及其值的洞察力。

  2. 定義風險降低策略並追蹤其狀態。 針對每個風險,記錄風險降低動作、責任方和解決時程表。 這種追蹤確保你能積極管理並解決風險。

如需詳細資訊,請參閱 CAF Govern - 評估雲端風險

Azure 資源和工具

Category Tool Description
探索和評量 Azure 移轉 內部部署伺服器、資料庫和應用程式的完整探索和評量
已啟用 Arc 的伺服器 蔚藍弧 將 Azure 管理延伸至內部部署和多重雲端環境
程式代碼評估 GitHub Copilot .NET 和 Java 應用程式的自動化相容性分析
資料庫移轉 資料遷移助手 SQL Server 資料庫的評量和移轉工具
多重雲端映射 AWS 與 Azure 服務對應 AWS 至 Azure 移轉的服務比較指南
多重雲端映射 Google Cloud 至 Azure 服務對應 Google Cloud 至 Azure 移轉的服務比較指南
Azure 開發 Azure 上的 .NET 從 .NET 應用程式存取 Azure 服務的指引
Azure 開發 Azure 上的 Java Java 開發人員在 Azure 平台上的資源
Azure 開發 Azure 上的 Python Azure 上提供給 Python 開發人員的資源
Azure 開發 Azure 上的 JavaScript 和 Node.js Azure 上 JavaScript 和 Node.js 開發的指引
Azure 開發 移至 Azure 適用於在 Azure 上建置的 Go 開發人員資源
雲端採用架構 定義可靠性需求 定義雲端工作負載可靠性需求的指引

後續步驟