Azure 的應用程式移轉範例概觀Overview of application migration examples for Azure

適用于 Azure 的雲端採用架構的這一節會提供數個常見遷移案例的範例,並示範如何將內部部署基礎結構遷移至 Microsoft AzureThis section of the Cloud Adoption Framework for Azure provides examples of several common migration scenarios and demonstrates how you can migrate on-premises infrastructure to Microsoft Azure.

簡介Introduction

Azure 提供全方位雲端服務組合的存取權。Azure provides access to a comprehensive set of cloud services. 作為開發人員和 IT 專業人員,您可以使用這些服務,透過全球資料中心網路在各種工具和架構上建立、部署和管理應用程式。As developers and IT professionals, you can use these services to build, deploy, and manage applications on a range of tools and frameworks through a global network of datacenters. 當您的業務面臨與數位轉班相關的挑戰時,Azure 平臺可協助您找出如何:As your business faces challenges associated with the digital shift, the Azure platform helps you to figure out how to:

  • 優化資源和作業。Optimize resources and operations.
  • 與您的客戶和員工互動。Engage with your customers and employees.
  • 轉換您的產品。Transform your products.

雲端提供速度和彈性、最小化成本、效能和可靠性等優點。The cloud provides advantages for speed and flexibility, minimized costs, performance, and reliability. 但許多組織都必須繼續在內部部署資料中心執行。But many organizations will need to continue to run on-premises datacenters. 為了回應雲端採用的障礙,Azure 提供了混合式雲端策略,可在您的內部部署資料中心與 Azure 公用雲端之間建立橋樑。In response to cloud adoption barriers, Azure provides a hybrid cloud strategy that builds bridges between your on-premises datacenters and the Azure public cloud. 例如,使用 azure 備份等 Azure 雲端資源來保護內部部署資源或 Azure 分析,以深入瞭解內部部署工作負載。An example is using Azure cloud resources like Azure Backup to protect on-premises resources or Azure analytics to gain insights into on-premises workloads.

Azure 是混合式雲端策略的一部分,可提供將內部部署應用程式和工作負載遷移至雲端的不斷成長解決方案。As part of the hybrid cloud strategy, Azure provides growing solutions for migrating on-premises applications and workloads to the cloud. 您可以使用簡單的步驟,全面評估您的內部部署資源,以找出它們在 Azure 平臺中的執行方式。With simple steps, you can comprehensively assess your on-premises resources to figure out how they'll run in the Azure platform. 然後,在有了深入評估的情況下,您可以放心地將資源遷移至 Azure。Then, with a deep assessment in hand, you can confidently migrate resources to Azure. 當資源在 Azure 中啟動並執行時,您可以將它們最佳化以維持和改善存取、彈性、安全性與可靠性。When resources are up and running in Azure, you can optimize them to retain and improve access, flexibility, security, and reliability.

移轉模式Migration patterns

移轉至雲端的策略可分成以下四大模式:重新裝載、重構、重新架構或重建。Strategies for migration to the cloud fall into four broad patterns: rehost, refactor, rearchitect, or rebuild. 您採用的策略取決於商業誘因和移轉目標。The strategy you adopt depends on your business drivers and migration goals. 您可以採用多種模式。You might adopt multiple patterns. 例如,您可以選擇重新裝載非關鍵性的應用程式,同時重新架構更複雜且更具商務關鍵性的應用程式。For example, you could choose to rehost noncritical applications while rearchitecting applications that are more complex and business-critical. 我們來看一下這些模式。Let's look at these patterns.

模式Pattern 定義Definition 使用時機When to use
重新裝載Rehost 通常稱為「隨即轉移」,此選項不需要變更程式碼。Often referred to as a lift-and-shift migration, this option doesn't require code changes. 您可以使用它來快速將現有的應用程式遷移至 Azure。You can use it to migrate your existing applications to Azure quickly. 每個應用程式都會依原樣遷移,以充分利用雲端的優點,而不會有與程式碼變更相關聯的風險和成本。Each application is migrated as is to reap the benefits of the cloud without the risk and cost associated with code changes. 當您需要快速將應用程式移至雲端時。When you need to move applications quickly to the cloud.

當您想要移動應用程式而不加以修改。When you want to move an application without modifying it.

當您的應用程式已設計為可利用 Azure 基礎結構即服務, (IaaS 在遷移後) 擴充性。When your applications are designed so that they can take advantage of Azure infrastructure as a service (IaaS) scalability after migration.

當應用程式對您的業務很重要時,但您不需要立即變更應用程式功能。When applications are important to your business, but you don't need to immediately change application capabilities.
重構Refactor 重構通常稱為「重新封裝」,需要對應用程式進行極少量的變更,讓他們可以連線到 Azure 平臺即服務 (PaaS) 並使用雲端供應專案。Often referred to as "repackaging," refactoring requires minimal changes to applications so that they can connect to Azure platform as a service (PaaS) and use cloud offerings.

例如,您可以將現有的應用程式遷移至 Azure App Service 或 Azure Kubernetes Service (AKS) 。For example, you could migrate existing applications to Azure App Service or Azure Kubernetes Service (AKS).

或者,您可以將關聯式和非關聯式資料庫重構為 Azure SQL 受控實例、適用于 MySQL 的 Azure 資料庫、適用于于 postgresql 的 azure 資料庫和 Azure Cosmos DB 等選項。Or, you could refactor relational and nonrelational databases into options such as Azure SQL Managed Instance, Azure Database for MySQL, Azure Database for PostgreSQL, and Azure Cosmos DB.
如果您的應用程式可以輕鬆地重新封裝以在 Azure 中運作。If your application can easily be repackaged to work in Azure.

如果您想要套用 Azure 所提供的創新 DevOps 實務,或想要使用適用于工作負載的容器策略來考慮 DevOps。If you want to apply innovative DevOps practices provided by Azure, or if you're thinking about DevOps using a container strategy for workloads.

針對重構,您需要考慮現有程式碼基底的可攜性和可用的開發技能。For refactoring, you need to think about the portability of your existing code base and available development skills.
重新架構Rearchitect 重新架構 for 遷移著重于修改和擴充應用程式功能和程式碼基底,以優化雲端擴充性的應用程式架構。Rearchitecting for migration focuses on modifying and extending application functionality and the code base to optimize the application architecture for cloud scalability.

例如,您可將單一應用程式劃分為數個微服務群組,如此即能輕鬆搭配運作和擴充。For example, you could break down a monolithic application into a group of microservices that work together and scale easily.

您也可以將關聯式和非關聯式資料庫重新架構到完全受控的資料庫解決方案,例如 SQL 受控實例、適用于 MySQL 的 Azure 資料庫、適用于于 postgresql 的 Azure 資料庫,以及 Azure Cosmos DB。You could also rearchitect relational and nonrelational databases to a fully managed database solution, such as SQL Managed Instance, Azure Database for MySQL, Azure Database for PostgreSQL, and Azure Cosmos DB.
當您的應用程式需要主要修訂,以納入新功能或在雲端平臺上有效運作時。When your applications need major revisions to incorporate new capabilities or to work effectively on a cloud platform.

當您想要使用現有的應用程式投資時,請滿足擴充性需求、套用創新的 DevOps 實務,以及將虛擬機器的使用降至最低。When you want to use existing application investments, meet scalability requirements, apply innovative DevOps practices, and minimize use of virtual machines.
重建Rebuild 重建會使用 Azure 雲端技術從頭重建應用程式,以進行進一步的步驟。Rebuild takes things a step further by rebuilding an application from scratch using Azure cloud technologies.

例如,您可以使用 Azure 函式、AI、SQL 受控實例和 Azure Cosmos DB 等 雲端原生 技術來建立 greenfield 應用程式。For example, you could build greenfield applications with cloud-native technologies like Azure Functions, AI, SQL Managed Instance, and Azure Cosmos DB.
當您想要快速開發,且現有應用程式的功能和生命週期有限時。When you want rapid development, and existing applications have limited functionality and lifespan.

準備加速商務創新 (包括 Azure 提供的 DevOps 做法)、使用雲端原生技術建置全新應用程式,以及利用 AI、區塊鏈和 IoT 領域的先進技術時。When you're ready to expedite business innovation (including DevOps practices provided by Azure), build new applications using cloud-native technologies, and take advantage of advancements in AI, blockchain, and IoT.

移轉範例文章Migration example articles

本節提供數個常見遷移案例的範例。This section provides examples of several common migration scenarios. 每個範例都包含背景資訊和詳細的部署案例,說明如何設定遷移基礎結構,以及評估內部部署資源的適用性以進行遷移。Each example includes background information and detailed deployment scenarios that illustrate how to set up a migration infrastructure and assess the suitability of on-premises resources for migration. 本節後續將新增更多文章。More articles will be added to this section over time.

遷移和現代化專案分類的圖表。 圖1:常見的遷移和現代化專案類別。Diagram of migration and modernization project categories. Figure 1: Common migration and modernization project categories.

此系列著重于每個遷移案例,這是以稍微不同的商務目標來決定遷移策略所驅動。This series focuses on each migration scenario, driven by slightly different business goals that determine the migration strategy. 針對每個部署案例,我們提供下列資訊:For each deployment scenario, we provide information about:

  • 商業驅動程式和目標。Business drivers and goals.
  • 建議的架構。A proposed architecture.
  • 執行遷移的步驟。Steps to perform the migration.
  • 在遷移後,清除和後續步驟的建議已完成。Recommendations for cleanup and next steps after migration is finished.

評量Assessment

發行項Article 詳細資料Details
評估要遷移至 Azure 的內部部署資源Assess on-premises resources for migration to Azure 此計畫方法中的最佳做法文章會討論如何針對在 VMware 上執行的內部部署應用程式執行評量。This best practice article in the Plan methodology discusses how to run an assessment of an on-premises application running on VMware. 在本文中,範例組織會使用 Azure 遷移來評估應用程式 Vm,並使用資料移轉小幫手來評估應用程式 SQL Server 資料庫。In the article, an example organization assesses application VMs by using Azure Migrate and the application SQL Server database by using Data Migration Assistant.

基礎結構Infrastructure

發行項Article 詳細資料Details
部署 Azure 基礎結構Deploy Azure infrastructure 本文說明組織如何準備其內部部署基礎結構和其 Azure 基礎結構以進行移轉。This article shows how an organization can prepare its on-premises infrastructure and its Azure infrastructure for migration. 本文中建立的基礎結構範例,會供本節中提供的其他範例參考。The infrastructure example established in this article is referenced in the other samples provided in this section.

Windows Server 工作負載Windows Server workloads

發行項Article 詳細資料Details
在 Azure Vm 上重新裝載應用程式Rehost an application on Azure VMs 本文提供使用 Azure 遷移將內部部署應用程式 Vm 遷移至 Azure Vm 的範例。This article provides an example of migrating on-premises application VMs to Azure VMs using Azure Migrate.

SQL Server 工作負載SQL Server workloads

發行項Article 詳細資料Details
移轉 SQL Server 資料庫到 AzureMigrate SQL Server databases to Azure 本文示範虛構公司 Contoso 如何評估、規劃及遷移其各種內部部署 SQL Server 資料庫至 Azure。This article demonstrates how the fictional company Contoso assessed, planned, and migrated its various on-premises SQL Server databases to Azure.
在 Azure VM 和 SQL 受控實例上重新裝載應用程式Rehost an application on an Azure VM and SQL Managed Instance 本文提供一個範例,說明如何將內部部署應用程式隨即轉移至 Azure。This article provides an example of a lift-and-shift migration to Azure for an on-premises application. 此程式牽涉到使用 azure 資料庫移轉服務,將 azure 遷移和應用程式資料庫移轉至 SQL 受控實例,以將應用程式前端 VM 遷移至 SQL 受控實例。This process involves migrating the application front-end VM by using Azure Migrate and the application database to SQL Managed Instance by using Azure Database Migration Service.
使用 SQL Server Always On 可用性群組在 Azure Vm 上重新裝載應用程式Rehost an application on Azure VMs using SQL Server Always On availability groups 此範例說明如何使用 Azure 裝載的 SQL Server Vm 來遷移應用程式和資料。This example shows how to migrate an application and data by using Azure-hosted SQL Server VMs. 它會使用 Azure 遷移來遷移應用程式 Vm 和資料庫移轉服務,以將應用程式資料庫移轉至受 Always On 可用性群組保護的 SQL Server 叢集。It uses Azure Migrate to migrate the application VMs and Database Migration Service to migrate the application database to a SQL Server cluster that's protected by an Always On availability group.

Linux 和開放原始碼資料庫Linux and open-source databases

發行項Article 詳細資料Details
將開放原始碼資料庫遷移到 AzureMigrate open-source databases to Azure 本文示範虛構公司 Contoso 如何評估、規劃及遷移其各種內部部署開放原始碼資料庫至 Azure。This article demonstrates how the fictional company Contoso assessed, planned, and migrated its various on-premises open-source databases to Azure.
將 MySQL 遷移到 AzureMigrate MySQL to Azure 本文示範虛構公司 Contoso 如何規劃和遷移其內部部署 MySQL 開放原始碼資料庫平臺到 Azure。This article demonstrates how the fictional company Contoso planned and migrated its on-premises MySQL open-source database platform to Azure.
將 PostgreSQL 遷移到 AzureMigrate PostgreSQL to Azure 本文示範虛構公司 Contoso 如何規劃和遷移其內部部署于 postgresql 開放原始碼資料庫平臺到 Azure。This article demonstrates how the fictional company Contoso planned and migrated its on-premises PostgreSQL open-source database platform to Azure.
將 MariaDB 遷移到 AzureMigrate MariaDB to Azure 本文示範虛構公司 Contoso 如何規劃和遷移其內部部署適用于 mariadb 開放原始碼資料庫平臺到 Azure。This article demonstrates how the fictional company Contoso planned and migrated its on-premises MariaDB open-source database platform to Azure.
在 Azure Vm 和適用于 MySQL 的 Azure 資料庫上重新裝載 Linux 應用程式Rehost a Linux application on Azure VMs and Azure Database for MySQL 本文提供使用 Azure 遷移將 Linux 裝載的應用程式遷移至 Azure Vm 的範例。This article provides an example of migrating a Linux-hosted application to Azure VMs by using Azure Migrate. 使用 資料庫移轉服務,將應用程式資料庫移轉至適用于 MySQL 的 Azure 資料庫。The application database is migrated to Azure Database for MySQL by using Database Migration Service.
在 Azure Vm 上重新裝載 Linux 應用程式Rehost a Linux application on Azure VMs 此範例說明如何使用 Azure 遷移來完成將 Linux 應用程式隨即轉移至 Azure Vm 的工作。This example shows how to complete a lift-and-shift migration of a Linux-based application to Azure VMs by using Azure Migrate.

開發/測試工作負載Dev/test workloads

發行項Article 詳細資料Details
將開發/測試環境遷移至 Azure IaaSMigrate dev/test environments to Azure IaaS 本文示範 Contoso 如何藉由遷移至 Azure Vm,為 VMware Vm 上執行的兩個應用程式如何其開發/測試環境。This article demonstrates how Contoso rehosts its dev/test environment for two applications running on VMware VMs by migrating to Azure VMs.
遷移到 Azure DevTest LabsMigrate to Azure DevTest Labs 本文討論 Contoso 如何使用 DevTest Labs 將其開發/測試工作負載移至 Azure。This article discusses how Contoso moves its dev/test workloads to Azure by using DevTest Labs.

ASP.NET 和 PHP web 應用程式ASP.NET and PHP web apps

發行項Article 詳細資料Details
使用 App Service 和 SQL Database 重構 Windows 應用程式Refactor a Windows application using App Service and SQL Database 此範例說明如何使用 資料庫移轉服務,將內部部署 Windows 應用程式遷移至 azure web 應用程式,並將應用程式資料庫移轉至 Azure SQL database 伺服器實例。This example shows how to migrate an on-premises Windows-based application to an Azure web app and migrate the application database to an Azure SQL Database server instance by using Database Migration Service.
使用 App Service 和 SQL 受控實例重構 Windows 應用程式Refactor a Windows application using App Service and SQL Managed Instance 此範例說明如何使用 資料庫移轉服務,將內部部署 Windows 應用程式遷移至 Azure web 應用程式,並將應用程式資料庫移轉至 SQL 受控實例。This example shows how to migrate an on-premises Windows-based application to an Azure web app and migrate the application database to SQL Managed Instance by using Database Migration Service.
使用 App Service、Azure 流量管理員和適用于 MySQL 的 Azure 資料庫,將 Linux 應用程式重構至多個區域Refactor a Linux application to multiple regions using App Service, Azure Traffic Manager, and Azure Database for MySQL 此範例示範如何使用流量管理員與 GitHub 整合,以在多個 Azure 區域上將內部部署 Linux 應用程式遷移至 Azure web 應用程式,以進行持續傳遞。This example shows how to migrate an on-premises Linux-based application to an Azure web app on multiple Azure regions by using Traffic Manager to integrate with GitHub for continuous delivery. 應用程式資料庫會遷移至適用于 MySQL 的 Azure 資料庫實例。The application database is migrated to an Azure Database for MySQL instance.
在 Azure 中重建應用程式Rebuild an application in Azure 本文提供使用 Azure 功能和受控服務的範圍來重建內部部署應用程式的範例。This article provides an example of rebuilding an on-premises application by using a range of Azure capabilities and managed services. 這些功能和服務包括 App Service、AKS、Azure 函數、Azure 認知服務和 Azure Cosmos DB。These capabilities and services include App Service, AKS, Azure Functions, Azure Cognitive Services, and Azure Cosmos DB.
將 Team Foundation Server 重構至 Azure DevOps ServicesRefactor Team Foundation Server to Azure DevOps Services 本文中的範例說明將內部部署 Team Foundation Server 部署移轉至 Azure 中的 Azure DevOps Services。This article shows an example migration of an on-premises Team Foundation Server deployment to Azure DevOps Services in Azure.

SAPSAP

發行項Article 詳細資料Details
SAP 移轉指南SAP migration guide 取得將內部部署 SAP 工作負載移至雲端的實用指導方針。Get practical guidance to move your on-premises SAP workloads to the cloud.
將 SAP 應用程式遷移至 AzureMigrate SAP applications to Azure 適用于 SAP 旅程至雲端的白皮書和藍圖。White paper and roadmap for your SAP journey to the cloud.
Azure 上的 SAP 移轉方法Migration methodologies for SAP on Azure 概述將 SAP 應用程式移至 Azure 的各種遷移選項。Overview of various migration options to move SAP applications to Azure.

特製化工作負載Specialized workloads

發行項Article 詳細資料Details
將內部部署 VMware 基礎結構移至 AzureMove on-premises VMware infrastructure to Azure 本文提供使用 Azure VMware 解決方案將內部部署 VMware Vm 移至 Azure 的範例。This article provides an example of moving on-premises VMware VMs to Azure by using Azure VMware Solution.
Azure NetApp FilesAzure NetApp Files 由 NetApp 提供技術支援的企業檔案儲存體。Enterprise file storage powered by NetApp. 在 Azure 中執行 Linux 和 Windows 檔案工作負載。Run Linux and Windows file workloads in Azure.
Oracle on AzureOracle on Azure 在 Azure 和 Oracle 雲端基礎結構中執行您的 Oracle 資料庫和企業應用程式。Run your Oracle databases and enterprise applications in Azure and Oracle Cloud Infrastructure.
Azure 中的 CrayCray in Azure 在 Azure 中使用 Cray 進行高效能運算。High-performance computing with Cray in Azure. 您虛擬網路上的專用超級電腦。A dedicated supercomputer on your virtual network.

VDIVDI

發行項Article 詳細資料Details
將內部部署的遠端桌面服務移至 Azure 中的 Windows 虛擬桌面Move on-premises Remote Desktop Services to Windows Virtual Desktop in Azure 本文說明如何將內部部署遠端桌面服務遷移至 Azure 中的 Windows 虛擬桌面。This article shows how to migrate on-premises Remote Desktop Services to Windows Virtual Desktop in Azure.

移轉調整Migration scaling

發行項Article 詳細資料Details
對 Azure 進行大規模移轉Scale a migration to Azure 本文說明範例組織如何準備調整以完整遷移至 Azure。This article shows how an example organization prepares to scale to a full migration to Azure.

示範應用程式Demo applications

本節提供的範例文章會使用兩個示範應用程式: SmartHotel360 和 osTicket。The example articles provided in this section use two demo applications: SmartHotel360 and osTicket.

SmartHotel360:此測試應用程式是由 Microsoft 開發,以在您使用 Azure 時使用。SmartHotel360: This test application was developed by Microsoft to use when you work with Azure. 它是以開放原始碼授權提供,您可以從 GitHub下載。It's provided under an open-source license, and you can download it from GitHub. 它是連接到 SQL Server 資料庫的 ASP.NET 應用程式。It's an ASP.NET application connected to a SQL Server database. 在這些文章所討論的案例中,此應用程式的目前版本會部署至執行 Windows Server 2008 R2 和 SQL Server 2008 R2 的兩個 VMware Vm。In the scenarios discussed in these articles, the current version of this application is deployed to two VMware VMs running Windows Server 2008 R2 and SQL Server 2008 R2. 這些應用程式 Vm 裝載于內部部署環境,並由 vCenter Server 管理。These application VMs are hosted on-premises and managed by vCenter Server.

osTicket:此開放原始碼服務台票證應用程式會在 Linux 上執行。osTicket: This open-source service desk ticketing application runs on Linux. 您可以從 GitHub 下載。You can download it from GitHub. 在這些文章所討論的案例中,此應用程式的目前版本會使用 Apache 2、PHP 7.0 和 MySQL 5.7,在內部部署環境部署至執行 Ubuntu 16.04 LTS 的兩部 VMware Vm。In the scenarios discussed in these articles, the current version of this application is deployed on-premises to two VMware VMs running Ubuntu 16.04 LTS using Apache 2, PHP 7.0, and MySQL 5.7.