現代化

已完成

雲端現代化是改善現有雲端式工作負載以更符合業務需求的做法。 它會讓工作負載與雲端最佳做法保持一致,而不需要新增新功能。

準備組織以進行雲端現代化

  1. 為您的組織定義現代化。 建立一個常見定義,其著重於透過重新格式化、重構和重新架構雲端中的現有工作負載,排除 net-new 功能或完整重寫。 在所有小組和專案關係人之間傳達此定義,以避免不對齊。 建立開發、作業、安全性和架構小組之間的共同責任,並具有明確的角色和跨小組協調。

  2. 評估現代化整備程度和技能。 評估小組在雲端服務知識、DevOps/CI/CD 成熟度、新式架構模式和監視/自動化工具方面的功能。 識別技能差距,並建立計劃,透過來自Microsoft或合作夥伴的訓練、認證、新進員工或外部專業知識來解決這些技能,以確保現代化順利執行。

  3. 優先處理要現代化哪些工作負載。 根據工作負載對營收、客戶體驗、合規性和內部相依性的重要性來評等業務價值。 檢查技術債務、過時的技術、維護工作、效能問題和延展性限制,以評估技術風險。 將這些評量結合成優先順序矩陣,以判斷要先現代化哪些工作負載。

  4. 瞭解如何現代化。 使用 Azure Well-Architected 架構進行檢閱,以識別跨五個要素的差距和產生現代化藍圖:可靠性、安全性、成本優化、營運卓越和效能效率。 讓工作負載小組能夠藉由在定義的界限內提供商務內容和決策授權,同時維護組織一致性的定期簽入,來做出現代化決策。

規劃雲端現代化

  1. 選擇現代化策略。 根據您的特定需求,從三個主要方法中選取:使用最少的程式代碼變更來重新建立平臺以快速獲勝(IaaS 至 PaaS)、重構以修改現有的程式代碼以改善結構和雲端優化,同時維護功能,或重新架構以使用微服務和無伺服器等雲端原生模式重新設計應用程序架構。 將策略與考慮目標、時程表和資源的每個元件需求相符。 藉由將每個決策都放在商業價值上,以避免過度現代化。

  2. 分階段規劃現代化。 將複雜的工作負載分成邏輯階段,以傳遞累加值,並藉由處理可管理的區塊來降低風險。 將工作除以元件/層、優先順序/複雜度或商務功能,從早期獲勝的低風險、高價值變更開始。 依值和相依性排序剩餘階段。 定義每個階段的明確成功準則,包括技術目標和品質大門,並根據從完成階段學到的結果和教訓來調整計劃。

  3. 規劃現代化治理。 建立與現有 Change Advisory Boards 整合的正式變更核准工作流程,或建立專用的現代化審核委員會。 在主要部署之前和期間實作變更凍結,以穩定環境。 控制範圍可藉由要求評估及核准任何建議的變更,同時維持延後良好想法的積壓。

  4. 定義您的部署策略。 在就地部署之間選擇低風險、可逆性變更,這些變更可在維護期間實作,或針對複雜、高風險的變更平行部署,藉由執行新環境與現有工作負載,以將停機時間降到最低。 盡可能使用像 Canary 發行這樣的漸進式部署技術,從小型使用者百分比開始,並根據監視結果逐漸增加。

  5. 規劃降低現代化風險。 使用逐步指示、責任方和時間範圍,為每個重大變更建立詳細的復原程式。 盡可能使用基礎結構即程式代碼工具和藍綠色部署來自動復原。 請確定支援小組在部署期間和之後處於待命狀態,並延長超護理期間以進行監視。

  6. 保護項目關係人核准。 為不同的受眾量身打造價值主張(技術小組的營運效率、領導者的業務成果),並記錄具有明確里程碑和時程表的結構化計劃。 使用 20-40% 成本降低和 50-80% 生產力提升等特定計量來量化現代化價值。 使用風險降低策略以透明方式解決項目風險,並維持定期通訊,以報告進度並收集意見反應。

在雲端中執行現代化

  1. 準備項目關係人以進行現代化。 事先向所有受影響的各方宣佈部署排程,包括變更凍結開始和上線窗口等關鍵日期。 使用明確定義的開始和結束時間,在來源和相依工作負載上實作變更凍結。 傳達最終的用戶動作和部署后變更,包括新的存取 URL 和驗證需求。 使用延長的時數和呈報程序協調部署的支持人員。 使用手動因應措施和應變計劃,定義重要工作負載的後援程式。

  2. 在非生產環境中開發現代化。 使用 Azure Advisor 建議和架構檢閱程式,在實作期間遵循 Well-Architected 架構原則,以驗證設計決策。 建立非生產環境,以較小的規模或較低的效能層級,使用相同 Azure 服務來鏡像生產環境。 使用 Git,透過原始檔控制和 CI/CD 以累加方式實作變更,以取得所有程式代碼變更和基礎結構作為具有持續整合組建的程式代碼腳本。

  3. 使用測試來驗證現代化變更。 使用 CI 管線和回歸測試對所有已修改的元件執行單元和整合測試,以避免中斷現有的功能。 透過手動 QA 或模擬實際使用者工作流程的自動化 UI 測試,進行端對端功能測試。 使用專案關係人執行使用者驗收測試,以擷取可用性和功能的意見反應。 使用 150% 預期負載的 Azure 負載測試等負載測試工具來驗證效能。 使用適用於雲端的 Defender 的弱點掃描和Microsoft,執行安全性驗證和合規性檢查。 在生產部署之前解決所有重大問題。

  4. 建立可重複使用的基礎結構。 將基礎結構建置為可用於未來部署和環境的程式代碼範本,確保不同部署案例的一致性並減少手動設定錯誤。

  5. 建立部署檔。 記錄所有部署程式、復原步驟和驗證程式,以確保一致的執行,並讓小組成員能夠安全地執行部署。

  6. 部署現代化。 針對就地部署、排程維護時段、使用 CI/CD 管線進行一致的部署,並使用 Azure App Service 位置或 Container Apps 流量分割,透過 Canary 部署實作漸進式流量路由。 在監視計量並維護部署期間的數據一致性時,逐漸增加至完整流量。 針對平行部署,使用 IaC 範本建立平行生產環境、使用連續數據同步處理建立資料庫複寫、使用 Azure 移轉工具複製非結構化數據和檔案、完成最終數據同步處理與零數據遺失、使用加權路由從 1% 開始逐漸減少使用者流量,並累加增加。 透過 DNS 完全移轉或負載平衡器設定,執行最終切換至 100%。 立即確認完全移轉后的功能,並將舊環境保留為熱待命 24-72 小時。

  7. 驗證現代化成功。 藉由在初始移轉期間監視存取模式、效能計量和錯誤率,以確認使用者存取和工作負載效能成功。 只有在工作負載擁有者、測試人員和商務項目關係人徹底驗證並確認所有需求都符合之後,才會宣佈移轉成功。

  8. 在穩定期間支援工作負載。 在穩定期間建立加強的支持涵蓋範圍,讓經驗豐富的IT人員在前幾天或幾周內提供比正常作業短的SLA。 更新作業檔和工具,包括 Runbook、支援檔和監視組態。 訓練營運小組處理新程式,並確保資產清查會反映新的基礎結構,同時移除舊版元件。

優化雲端現代化後的工作負載

  1. 優化雲端的組態。 先檢閱每周並實作重大變更,依工作負載或資源群組篩選,以有系統地套用 Azure Advisor 建議。 使用 Azure Well-Architected Framework 服務指南調整服務特定設定,以配合設定與最佳做法。 使用 Microsoft 適用於雲端的 Defender 立即解決安全性設定缺口,在 48 小時內解決重大和高嚴重性結果,同時設定持續評量。

  2. 驗證作業整備程度。 藉由確保 Azure 監視器會收集新元件的所有必要記錄、計量和追蹤,以驗證監視涵蓋範圍和精確度。 透過混亂測試和更新儀錶板來測試警示規則,以反映新的架構。 使用Microsoft成本管理來建立成本監視和控制,以追蹤支出模式、設定預算警示和支出限制,以及每周檢閱資源使用率以取得正確化的機會。 使用 Azure 備份或資料庫時間點還原來執行測試還原,以測試備份和復原程式。 檔已達成 RTO 和 RPO 計量,並確保備份原則中包含所有重要數據。

  3. 收集用戶意見反應並測量結果。 透過問卷、意見反應表單和支援票證分析,定期收集結構化使用者意見反應。 為內部小組進行回顧會議。 在 Azure DevOps 或 GitHub 問題中記錄問題、依嚴重性和業務價值分類、使用解決時程表指派擁有權,以及每月溝通進度,以有系統地追蹤和解決意見反應。 藉由編譯成功計量和ROI預測來測量實際結果與目標。 將結果傳達給項目關係人,以示範實現或識別缺口的價值。

  4. 建立持續的現代化做法。 使用 Well-Architected 檢閱或健康情況檢查來排程每個月定期的工作負載檢閱,以在雲端服務演進和使用模式變更時識別新的優化機會。 盡可能使用 Azure 原則來強制執行最佳做法、實作效能調整的自動調整規則,以及透過成本管理設定成本異常警示,將優化自動化。 藉由記錄成功的優化模式、建立常見案例的劇本、維護所學到課程的知識庫,以及為組織雲端採用做法提供深入解析,以共享結果和最佳做法。

如需詳細的雲端採用架構指引,請參閱 將雲端中的工作負載現代化