移轉至 Azure 之前,工作負載必須具備雲端相容性。 雲端整備可降低完全移轉的風險,並確保與 Azure 服務的相容性。 在生產環境完全移轉之前,驗證、保護及自動化 Azure 中的工作負載。 使用您的 Azure 架構計劃 和 工作負載評量 來引導準備工作。
修正 Azure 中的相容性問題
相容性問題可能會封鎖工作負載移轉,而且必須在生產部署之前先解決。 Azure 需要特定的設定、支援的作業系統和目前的驅動程式。 系統地解決這些問題,以確保成功移轉。
部署所有工作負載資源
規劃雲端架構並準備應用程式登陸區域之後,下一個步驟是將所有工作負載元件部署至 Azure。 此階段可確保您的環境得到適當的隔離、控管,並與您的架構計劃保持一致。 部署之後,請驗證測試環境的完整性,以確保已準備好投入生產。
建立工作負載環境的 Azure 訂用帳戶。 為開發、測試和生產環境建立個別的訂用帳戶,以確保適當的隔離、成本追蹤和治理。 將訂用帳戶放在適當的管理群組中,並套用環境特定的治理原則、角色型訪問控制指派,以及成本管理預算。 如需詳細資訊,請參閱 建立您的訂用帳戶。
使用您的架構方案。 部署雲端採用規劃期間定義的 Azure 架構。 請確定它反映任何更新的工作負載需求。 如需指引,請參閱 Azure 架構規劃。
部署所有工作負載元件。 在測試環境 (訂用帳戶) 中,部署所有必要的元件:計算 (VM、Web 應用程式、容器)、資料存放區 (資料庫、儲存體帳戶)、負載平衡器、受控識別、虛擬網路和 DNS 資源。
驗證測試環境的完整性。 確認所有相依性、組態和整合都存在。 遺漏的元件可能會導致測試期間發生誤判或未偵測到的問題。
解決相容性問題
在將工作負載移至生產環境之前,請識別並解決任何可能影響效能、安全性或可支援性的相容性問題。 使用規劃階段的評量資料來指導補救工作,並使用 Azure 原生解決方案在測試環境中套用修正程式。
檢閱記載的相容性需求和已知問題。 使用「CAF 計劃」階段的工作量評估來識別必須補救的不支援設定及相依性。
使用 Azure 解決方案解決每個相容性問題。 在 Azure 測試環境中套用補救措施,而不是修改來源環境。 常見的相容性問題包括:
| 相容性問題 | Solution | 為什麼重要 |
|---|---|---|
| 不支援的OS版本 | 升級至支援的作業系統 | Azure 需要支援的作系統版本,以取得安全性更新和平臺相容性 |
| 舊版 NIC 驅動程式和 BIOS | 更新驅動程式和 BIOS 韌體 | 新式驅動程式可確保 Azure VM 中的網路效能和安全性 |
| 本機檔案 I/O 相依性 | 將替換為 Azure Blob 存放區 或 Azure 文件 | 雲端原生記憶體提供更佳的延展性和整合 |
| 硬式編碼的IP位址 | 改用 DNS 或應用程式組態等服務發現機制 | 動態尋址支援 Azure 網路功能與復原能力 |
| 主機型防病毒軟體 | 與適用於雲端的 Microsoft Defender 整合 | 雲端原生安全性提供更佳的威脅偵測和管理 |
| 硬式編碼用戶帳戶 | 替換為 受管理的身份 | 受控識別可消除認證管理並改善安全性 |
驗證工作負載功能
解決相容性問題之後,請確定您的工作負載在 Azure 環境中正常運作。 全面測試對於確認所有元件、組態和整合都符合商務和技術需求至關重要。 此驗證程式可降低風險,並確保順暢地轉換至生產部署。
驗證網路連線能力
可靠的網路連線可確保所有應用程式元件和外部相依性都可以在 Azure 中如預期般通訊。 設定錯誤的網路可能會導致生產中出現嚴重故障。
測試所有元件之間的連線能力。 使用 Azure 網路監看員連線疑難解答 來確認應用層可以彼此通訊,並與外部服務通訊。 此驗證會確認網路安全組、路由表和 DNS 設定允許必要的流量流量。 此工具提供連線問題的詳細深入解析,並識別防止通訊的特定設定問題。
確認外部服務連線能力。 測試與工作負載相依的外部 API、資料庫和外部服務連線。 使用網路監看員來驗證輸出連線是否正常運作,且防火牆規則允許必要的流量。 記錄生產部署的任何連線需求。
驗證驗證流程
身份驗證對於安全性和存取控制至關重要。 驗證這些流程可確保使用者和服務可以在 Azure 環境中進行驗證,而不會發生問題。
測試用戶驗證流程。 使用測試用戶帳戶來確認能夠訪問Microsoft Entra ID身份等身分識別提供者,且確保身份驗證能正常運作。 測試不同的驗證案例,包括單一登錄、多重要素驗證和密碼重設流程,以確保完整的功能。
驗證服務間的身份認證。 使用服務主體和受控識別來測試應用程式元件之間的驗證。 確認已正確設定 Azure 角色型存取控制 (RBAC) 許可權,且服務可以向資料庫和記憶體帳戶等必要資源進行驗證。
進行功能和效能測試
功能和效能測試可確保工作負載符合業務需求,並在上線前在預期條件下可靠執行。
執行完整的功能測試。 進行使用者驗收測試 (UAT)、整合測試和回歸測試,以確認應用程式符合商務和技術需求。 測試所有重要的使用者工作流程和商務程式,以確保他們在 Azure 環境中正常運作。 記錄任何功能問題,並在生產環境部署之前加以解決。
在實際負載條件下測量效能。 使用 Azure 負載測試 來模擬實際的使用者流量,並測量響應時間、輸送量和資源使用率。 設定負載測試以反映預期的生產使用模式和尖峰負載案例。 負載測試提供詳細的效能計量,並識別可能會影響用戶體驗的瓶頸。
根據基準驗證效能。 參考 CAF 方案工作負載評估期間記載的效能基準計量。 比較測試結果與來源環境中的已建立效能基準。 識別任何效能降低並優化設定、調整資源或修改程式代碼以符合效能目標。
在驗收測試中納入利益相關者。 與商務用戶進行驗收測試,以確認工作負載符合商務期望和用戶體驗需求。 商務驗證可確保工作負載在生產環境部署之前提供預期的價值和功能。
建立可重複使用的基礎結構
一旦現代化解決方案在非生產環境中通過所有測試之後,您應該擷取基礎結構設定和設定作為程序代碼,以便在生產環境與未來環境中輕鬆復寫。 可重複使用的基礎結構表示使用基礎結構即程序代碼 (IaC) 範本和自動化,以取得一致性和速度。
建立經驗證組態的 IaC 範本。 取得測試環境的最終架構(其會反映您想要在 Prod 中的內容),並加以編纂。 使用 Bicep、 Terraform 或 Azure Resource Manager 範本 來定義您的基礎結構。 把這些範本參數化,讓它們能在開發、測試、生產等不同階段重複使用,並稍微調整名稱或大小。 此設定可確保您所建立的生產環境符合您測試的內容。 它可避免在手動按兩下 Azure 入口網站以建立資源時發生人為錯誤。 這也表示,如果您需要重新建立環境,例如災害復原或部署到新的區域,您就已備妥基礎結構部署。 如需詳細資訊,請參閱 CAF 管理 - 管理程式代碼型部署。
將範本儲存在版本控制中。 將您的基礎結構程式代碼簽入 Git 存放庫(應用程式程式代碼或個別存放庫中)。 使用 GitHub 或 Azure DevOps 以適當的版本控制來管理 IaC 資產。 版本控制可啟用程式代碼檢閱、支援小組共同作業,並鼓勵跨專案重複使用範本。 此方法提供基礎結構變更的完整可追蹤性,並在發生問題時支援復原功能。
自動化相依性安裝和設定。 建立腳本或管線工作來部署這些範本,並同時處理任何必要的設定或植入工作。 使用 Azure Pipelines、 GitHub Actions來執行部署作業,以採用 IaC 範本並部署至目標訂用帳戶/資源群組。 自動安裝應用程式依賴項、配置設定和機密管理。 目標是做到單鍵(或單一命令)環境設置:從無到有,建立與您測試完全相符的可運行環境。
測試 IaC 和自動化端對端。 使用個別的 Azure 訂用帳戶或資源群組作為沙箱,並練習使用範本和腳本從頭開始部署整個環境。 測試您的 IaC 範本、管線和腳本是否可以從零建立完整的基礎架構堆疊。 測試不同的部署案例,包括初始部署、組態更新和復原程式,以確認自動化正常運作。
如需詳細資訊,請參閱在WAF中 設計工作負載開發供應變更 和 基礎結構即程序代碼 。
建立部署文件
即使使用自動化,在部署上擁有良好的文件對於稽核、讓新小組成員上線,以及未來維護而言也至關重要。 部署檔應涵蓋人類可讀取格式的設定、程序和復原步驟。
文件的組態設定和操作步驟。 記錄可存取檔中的所有環境特定設定、連接字串、服務端點和安全性設定。 包含逐步部署指示、必要條件需求和部署后驗證步驟。 本文件可促成一致的部署,並支援在發生問題時進行疑難解答。 如果新進工程師必須進行部署,他們可以閱讀這份文件,跟隨步驟或瞭解管道的輸出。
更新回滾和復原程序。 完成測試之後,請正式化步驟,以在發生部署問題時還原變更。 包含復原觸發程式、數據備份和還原程式,以及復原驗證步驟。 定期測試回復和復原程式,以確保其在需要時正常運作。 此準備可減少停機時間。
請將所有文件收集到一個集中地點。 使用 SharePoint、GitHub 或 Wiki 來儲存此資訊。 請確定小組和支持人員知道哪裡可以找到它。 在高壓力事件中,手邊有明確的文件可幫助解圍。