調查移轉小幫手

已完成

分析移轉考量包含檢閱各種可用選項。 在上一個單元中,我們提及了主機服務,例如 IaaS 和 PaaS。 IaaS 移轉可以提供隨即轉移選項,讓您在其中建立 VM、使用與內部部署環境相同的軟體和設定進行設定,然後將它裝載在 Azure 中。 IaaS 仍會要求您的組織管理、修補、更新及協助保護 VM 上的軟體。

當您有想要移轉的 ASP.NET 應用程式時,請考慮使用 PaaS 選項,以便從 Azure 上的自動化和可擴縮性中獲取最大效益。 針對具有 ASP.NET 應用程式的 PaaS 解決方案,討論的焦點就會轉到 Azure App Service 上。

什麼是 Azure App Service?

Azure App Service 是 Azure 上的 HTTP 型服務,可用來裝載 Web 應用程式和 REST API。 此服務提供的優點如下:

  • 自動調整可根據您指定的參數,協助您的應用程式進行調整以符合需求,然後在需求減少時自動縮減。

  • 高可用性有助於確保您的應用程式在發生伺服器或資料中心失敗或停機的情況下仍可供使用。 Azure 利用區域、地區和可用性設定組來協助達成此目標。

  • 支援 Windows 和 Linux 平台。

  • 使用 Azure DevOps 或 GitHub 存放庫來與自動化部署模型整合。

Azure App Service 如何裝載 ASP.NET 應用程式?

您可以使用 Azure App Service,在 App Service 方案中裝載您的 ASP.NET 應用程式。 App Service 方案將為您的 ASP.NET 應用程式定義一組計算資源。 您可以將計算資源視為類似內部部署伺服器陣列。 計算資源將由包含裝載應用程式所需軟體的 VM 所組成。 這可能是執行 Windows Server 產品的 VM,其中包含裝載應用程式的 IIS。

Diagram of web app architecture hosted on Azure with app plan, DNS, resource group, and databases.

應用程式也將使用其他資源,例如:

  • 網路資源,可透過標準連接埠 80 或 HTTPS 連接埠 443 提供 Web 應用程式的存取權。 網路也提供 DNS 和公用 IP 位址設定的選項。
  • 服務的監視和記錄選項。
  • 透過 Microsoft Entra ID 和角色型存取控制 (RBAC) 進行存取控制。
  • 其他可用選項取決於您的特定應用程式所需的設定,例如資料庫存取以及調整和可用性選項。
  • 裝載應用程式所需之各種檔案的儲存體選項。

什麼是 Azure SQL Database?

Azure SQL Database 是專為雲端打造的智慧型且可調整的關聯式資料庫服務。 它是完全受控的 SQL 資料庫服務,可在不需使用者介入的情況下管理修補、升級及備份。 您可以從兩個部署模型中進行選取:Azure SQL 資料庫、單一資料庫或彈性集區。

單一資料庫模型

單一資料庫部署模型類似內部部署 SQL Server 資料庫引擎中的單一自主資料庫。 在 Azure SQL Database 單一部署模型中,您可以取得此單元稍早提及的完全受控選項。 它是適用於應用程式資料需求的隔離資料庫。

彈性集區模型

彈性集區是共用一組資源 (例如記憶體和 CPU) 的單一資料庫集合。 如有必要,您可以將單一資料庫移出彈性集區,並將其他單一資料庫移入集區。

有各種服務層級和計算大小可協助您依據自己的特定應用程式需求自訂 Azure SQL Database 部署。 例如,您可以從單一小型資料庫開始,以符合您現有的需求,並協助降低成本。 當您的應用程式需要增長時,您可以升級服務層級來提供動態可擴縮性選項,以協助滿足應用程式和資料存取的需求。 動態調整可讓您視需要引入資源來管理調整,然後在需求下降時加以縮減,以協助降低成本。

Azure SQL Database 與 SQL Server 的比較

比較內部部署 SQL Server 資料庫引擎與 Azure SQL Database 有助於強調使用 Azure 的優點。

使用內部部署 SQL Server 資料庫引擎時,您必須:

  • 要求您的 IT 部門取得伺服器硬體。

  • 安裝作業系統。

  • 安裝資料庫引擎。

  • 管理修補檔。

  • 設定防火牆安全性。

  • 管理資料庫存取。

  • 管理資料庫備份。

  • 管理災害復原。

  • 當計算資源不足以滿足需求時,必須再次對新硬體執行上述所有工作。

使用 Azure SQL Database 時,您會:

  • 使用您選擇的部署模型,在 Azure 上建立資料庫執行個體。

  • 將資料移轉至新的執行個體。

  • 設定應用程式存取。

  • 視需要設定可擴縮性選項。

  • 享有受控環境的優點。

混合式資料案例

Azure Hybrid Benefit 是一種模型,有助於降低在雲端中執行 SQL 工作負載的授權成本。 您可以在 Azure 平台上使用具備軟體保證且適用於 Windows Server 和 SQL Server 的現有內部部署授權,來利用此優點。

此圖表示範 SQL Server Enterprise 節省金額的範例。

Graph of SQL hybrid savings, depicting enterprise at $3.97 per hour and hybrid at $0.598 per hour. This represents an 85% savings.

什麼是移轉協助工具?

Microsoft 提供一組可協助您評定現有環境的移轉協助工具、強調您可能在移轉期間遇到的問題,並協助進行將您的應用程式和資料引入雲端的實際程序。

什麼是 Azure Migrate?

Azure Migrate 是 Microsoft 提供的免費服務,可探索及評定內部部署系統,並將其移轉至 Azure。 此服務可協助您針對將移轉的機器進行效能型的大小調整計算 (VM 大小調整和計算/儲存體),並估計在 Azure 中持續執行這些機器的成本。 Azure Migrate 可以評估 Hyper-V 和 VMWare 型 VM,也可以評估實體伺服器。 Azure Migrate 也支援那些機器的相依性視覺化。 它可協助您將可一起評定的電腦分組在一起,並最終將它們同時移轉到 Azure。 了解相依性可讓您確信不會遺漏任何內容。

什麼是 Azure Migration Assistant?

Azure Migration Assistant 是一個工具,可讓您用來將 ASP.NET 應用程式移轉至雲端。 其能與 App Service Migration Assistant 一起運作,其設計目的是使用免費、簡單且快速的解決方案將 ASP.NET 應用程式從內部部署移轉至雲端,以簡化您的雲端移轉。 使用這些工具,您可以:

  • 透過針對應用程式的公用 URL 進行掃描,來評定該應用程式是否為移轉的良好候選項目。

  • 下載 Migration Assistant 以開始您的移轉。

  • 使用此工具來執行整備檢查和應用程式組態設定的一般評量,然後將您的應用程式或網站移轉至 Azure App Service。

什麼是 Data Migration Assistant?

Data Migration Assistant 可藉由偵測可能對您新版 SQL Server or Azure SQL Database 中資料庫功能造成影響的相容性問題,以協助您升級至新式資料平台。 這個小幫手會建議適用於您目標環境的效能和可靠性改進,並可讓您將結構描述、資料和非內含性物件從來源伺服器移至目標伺服器。

主要功能如下:

  • 評定內部部署 SQL Server 執行個體,以偵測由於相容性問題或缺少功能支援而造成的移轉問題

  • 探索 Azure SQL Database 中您可以利用的新功能

  • 將內部部署 SQL Server 執行個體移轉至雲端

  • 評定移轉至 Azure SQL Database 的內部部署 SQL Server Integration Services 套件

評估您現有的環境

移轉程序中的一個重要步驟是評估您現有的環境。 這有助於確保移轉案例能夠順暢轉換,也可能有助於識別在移轉之前、期間和之後的潛在問題。

清查現有的環境

清查您現有的環境,有助於識別位於移轉範圍內的伺服器、應用程式和服務。 與使用那些服務的 IT 和業務小組合作,以協助提供有關移轉的指引、意見反應和支援。

建議您也針對位於移轉範圍內的伺服器和服務,產生完整的清查和相依性對應。 該清查和對應會決定那些服務彼此通訊的方式。 其有助於定義線上環境的需求,以確保成功移轉。

識別必要的應用程式變更

您的應用程式可能需要變更,才能在移轉之後正常運作。 例如,假設您的 ASP.NET 應用程式會存取某個資料庫。 因此,資料庫連接字串很可能需要變更。 使用 Azure 的優點是能夠將資料庫連接字串當成祕密存放於 Azure Key Vault 中。 這能透過「隱藏」金鑰保存庫中祕密背後的連接字串,來保護連接字串中的驗證參數。 然後,您可以將應用程式設定為使用該祕密,而不是直接使用連接字串。

預估成本

任何移轉案例的重要考量之一是您的組織在 Azure 上裝載應用程式所需的成本。 您將會使用和一般內部部署環境不同的成本模型。 在 Azure 環境中,每個月都會向您收取與計算、儲存體和存取成本相關的各種使用量成本。

上一個單元討論了 Azure 定價計算機,讓您可用以協助評估預估費用。

評估安全性考量

在任何移轉案例中,安全性都是 (也都應該是) 最優先的項目。 您可能會擔心如何在線上世界裝載資料,或是想要知道您的員工是否仍能使用其目前的認證來存取應用程式。 您也會關心從合規性與產業標準的觀點來看待的資料安全性。 了解 Azure 中的可用選項有助於解決這些問題。

評估應用程式的安全性需求

在需要存取資料存放區的 ASP.NET 應用程式案例中,您必須考慮如何保護資料庫,同時仍允許存取 Web 前端。 Azure 提供虛擬網路以提供這方面的協助。 Azure 虛擬網路可協助您:

  • 建置可控制的混合式基礎結構。

  • 使用自己的 IP 位址與 DNS 伺服器。

  • 使用 IPsec 虛擬私人網路 (VPN) 或 Azure ExpressRoute 來保護您的連線。

  • 對子網路間的流量進行細微的控制。

  • 使用虛擬設備建立精密的網路拓撲。

  • 為應用程式建立隔離且極為安全的應用程式環境。

您也可以使用 Active Directory 來存取在內部部署執行的應用程式,以進行驗證和身分識別管理。 Microsoft Entra Connect 可讓您整合內部部署目錄與 Microsoft Entra ID。 這表示員工不需具備多組認證來進行驗證。

類似於針對應用程式和硬體清查您的內部部署環境,您也應該詳細提出現有的安全性需求和實作,如此您就能針對移轉案例執行適當的安全性評量。 您想要確保雲端裝載的環境仍然能夠符合組織的安全性需求。

探索適用於移轉案例的 Azure Pipelines

許多組織都採用 DevOps 實務來進行更敏捷的開發和更快速的部署。 在雲端環境中實現這一點的重要領域之一,就是開發人員使用的工具之間的原生整合。 Microsoft Visual Studio、GitHub 和 App Service 整合可讓您的開發人員更快速地建置並交付變更。 針對 ASP.NET 應用程式,遠端和即時網站偵錯可為開發人員提供更大的優點,以診斷實際執行環境中的問題。