Alkalmazás migrálása Azure App Servicere és SQL DatabaseMigrate an application to Azure App Service and SQL Database

Ez a cikk azt mutatja be, hogy a kitalált vállalati contoso hogyan használja fel a VMware virtuális gépeken futó kétrétegű Windows .NET-alkalmazást az Azure-ba való Migrálás részeként.This article demonstrates how the fictional company Contoso refactors a two-tier Windows .NET application that's running on VMware VMs as part of a migration to Azure. A contoso csapata áttelepíti az alkalmazás előtér-virtuális gépét (VM) egy Azure App Service webalkalmazásra és az alkalmazás-adatbázisra Azure SQL Database.The Contoso team migrates the application front-end virtual machine (VM) to an Azure App Service web app and the application database to Azure SQL Database.

Az ebben a példában használt SmartHotel360-alkalmazás nyílt forrásként van megadva.The SmartHotel360 application that we use in this example is provided as open source. Ha saját tesztelési célokra szeretné használni, letöltheti azt a githubról.If you want to use it for your own testing purposes, you can download it from GitHub.

Üzleti szempontokBusiness drivers

A Contoso informatikai vezetői csapata szorosan együttműködik az üzleti partnerekkel, hogy megtudja, milyen eredményeket várnak a migrálástól:The Contoso IT leadership team has worked closely with business partners to understand what they want to achieve with this migration:

  • Alkalmazkodás a vállalat növekedéséhez.Address business growth. A contoso egyre nő, és nyomást gyakorol a helyszíni rendszerekre és az infrastruktúrára.Contoso is growing, and there is pressure on their on-premises systems and infrastructure.
  • Hatékonyság növelése.Increase efficiency. A Contosonak el kell távolítania a szükségtelen eljárásokat, és egyszerűsíteni kell a folyamatokat a fejlesztők és a felhasználók számára.Contoso needs to remove unnecessary procedures and streamline processes for developers and users. A vállalat azt szeretné, ha az informatikai részleg gyorsan, idő- és pénzpazarlás nélkül működne annak érdekében, hogy gyorsabban teljesíthessék az ügyfelek igényeit.The business needs IT to be fast and not waste time or money, thus delivering faster on customer requirements.
  • Rugalmasság növelése.Increase agility. Ahhoz, hogy a globális gazdaságban sikeresek legyenek, a contoso-nak rugalmasabban kell megfelelnie az üzleti igényeknek.To enable their success in a global economy, Contoso IT needs to be more responsive to the needs of the business. Képesnek kell lennie gyorsabban reagálni a piactér változásaira.It must be able to react more quickly to changes in the marketplace. Az informatikai részlegnek nem kell megfelelnie, vagy nem lehet üzleti blokkoló.IT must not get in the way or become a business blocker.
  • Méretezési.Scale. A Contoso informatikai részlegének olyan rendszereket kell kiépítenie, amelyek képesek a vállalattal együtt növekedni.As the business grows successfully, Contoso IT must provide systems that are able to grow at the same pace.
  • Csökkentse a költségeket.Reduce costs. A Contoso minimalizálni szeretné a licencelési költségeket.Contoso wants to minimize licensing costs.

Migrálási célokMigration goals

A legjobb áttelepítési módszer meghatározása érdekében a contoso Cloud csapata a következő célokat tűzi ki:To help determine the best migration method, the Contoso cloud team pinned down the following goals:

KövetelményekRequirements RészletekDetails
AlkalmazásApplication Az Azure-beli alkalmazás kritikus fontosságú marad, mivel jelenleg a helyszínen van.The application in Azure will remain as critical as it is today on-premises.

Az alkalmazásnak ugyanazzal a teljesítménnyel kell rendelkeznie, mint jelenleg a VMware-ben.It should have the same performance capabilities as it currently does in VMware.

A csapat nem kíván befektetni az alkalmazásba.The team doesn't want to invest in the application. Egyelőre a rendszergazdák egyszerűen át fogják helyezni az alkalmazást a felhőbe.For now, admins will simply move the application safely to the cloud.

A csapat szeretné leállítani a Windows Server 2008 R2 támogatását, amely jelenleg az alkalmazáson fut.The team wants to stop supporting Windows Server 2008 R2, which the application currently runs on.

A csapat emellett azt is szeretné, hogy a SQL Server 2008 R2-ről egy modern, szolgáltatásként szolgáló (Pásti) adatbázisba lépjen át, amely a felügyelet szükségességét fogja csökkenteni.The team also wants to move away from SQL Server 2008 R2 to a modern platform as a service (PaaS) database, which will minimize the need for management.

A Contoso szeretné kihasználni az SQL Server licencelésére és a Frissítési Garanciára fordított befektetéseit, ahol csak lehetséges.Contoso wants to take advantage of its investment in SQL Server licensing and Software Assurance where possible.

Annak a kockázatát is szeretné csökkenteni, hogy rendszerkritikus meghibásodási pontok alakulhassanak ki a webes szinten.In addition, Contoso wants to mitigate the single point of failure on the web tier.
KorlátozásokLimitations Az alkalmazás egy ASP.NET alkalmazásból és egy Windows Communication Foundation (WCF) szolgáltatásból áll, amely ugyanazon a virtuális gépen fut.The application consists of an ASP.NET application and a Windows Communication Foundation (WCF) service running on the same VM. Ezeket az összetevőket két webalkalmazás között szeretnék terjeszteni a Azure App Service használatával.They want to spread these components across two web apps using the Azure App Service.
AzureAzure A contoso szeretné áthelyezni az alkalmazást az Azure-ba, de nem szeretné futtatni a virtuális gépeken.Contoso wants to move the application to Azure, but they don't want to run it on VMs. A webes és az adatszinthez is Azure PaaS-szolgáltatásokat szeretne használni.Contoso wants to use Azure PaaS services for both the web and data tiers.
DevOpsDevOps A contoso egy olyan DevOps modellre szeretne áttérni, amely az Azure DevOps-t használja a buildek és a kiadási folyamatok számára.Contoso wants to move to a DevOps model that uses Azure DevOps for their builds and release pipelines.

MegoldástervSolution design

A cél és a követelmények kitűzése után a contoso megtervezi és áttekinti a telepítési megoldást.After pinning down their goals and requirements, Contoso designs and reviews a deployment solution. Továbbá azonosítják az áttelepítési folyamatot, beleértve az áttelepítéshez használni kívánt Azure-szolgáltatásokat is.They also identify the migration process, including the Azure services that they'll use for the migration.

Aktuális alkalmazásCurrent application

  • A helyszíni SmartHotel360-alkalmazás a két virtuális gép között, WEBVM és SQLVM .The SmartHotel360 on-premises application is tiered across two VMs, WEBVM and SQLVM.
  • A virtuális gépek VMware ESXi contosohost1.contoso.com 6,5-es verziójában találhatók.The VMs are located on VMware ESXi host contosohost1.contoso.com version 6.5.
  • A VMware-környezetet vCenter Server 6,5 (vcenter.contoso.com) felügyeli, amely egy virtuális gépen fut.The VMware environment is managed by vCenter Server 6.5 (vcenter.contoso.com), which runs on a VM.
  • A Contoso egy helyszíni tartományvezérlővel (contosodc1) ellátott helyszíni adatközponttal (contoso-datacenter) rendelkezik.Contoso has an on-premises datacenter (contoso-datacenter), with an on-premises domain controller (contosodc1).
  • A Contoso adatközpontjában található helyszíni virtuális gépek le lesznek szerelve a migrálás után.The on-premises VMs in the Contoso datacenter will be decommissioned after the migration is done.

Javasolt megoldásProposed solution

  • Az alkalmazás adatbázis-szintjéhez a contoso összehasonlítja Azure SQL Database SQL Server a szolgáltatások összehasonlítását: Azure SQL Database és az Azure SQL felügyelt példányát.For the database tier of the application, Contoso compared Azure SQL Database to SQL Server by referring to Features comparison: Azure SQL Database and Azure SQL Managed Instance. A contoso néhány okból úgy döntött, hogy Azure SQL Database használ:Contoso decided to use Azure SQL Database for a few reasons:
    • Az Azure SQL Database egy felügyelt relációs adatbázis-szolgáltatás.Azure SQL Database is a managed relational database service. Több szolgáltatási szinten is kiszámítható teljesítményt nyújt, minimális felügyelet mellett.It delivers predictable performance at multiple service levels, with near-zero administration. A szolgáltatás egyik előnye például a dinamikus méretezhetőség állásidő nélkül, a beépített intelligens optimalizálás, valamint a globális méretezhetőség és rendelkezésre állás.Advantages include dynamic scalability with no downtime, built-in intelligent optimization, and global scalability and availability.
    • A contoso az egyszerűsített Data Migration Assistant segítségével felméri a helyszíni adatbázis áttelepítését az Azure SQL-be.Contoso can use the lightweight Data Migration Assistant to assess the on-premises database migration to Azure SQL.
    • A contoso a Azure Database Migration Service segítségével áttelepítheti a helyszíni adatbázist az Azure SQL-be.Contoso can use Azure Database Migration Service to migrate the on-premises database to Azure SQL.
    • A frissítési garanciával a contoso a SQL Database adatbázisában lévő, kedvezményes díjszabású licencek cseréjére képes az SQL Server Azure Hybrid Benefit használatával.With Software Assurance, Contoso can exchange existing licenses for discounted rates on a database in SQL Database by using the Azure Hybrid Benefit for SQL Server. Ez a megközelítés akár 30%-os költségmegtakarítást is biztosíthat.This approach could provide a cost saving of up to 30 percent.
    • SQL Database olyan biztonsági funkciókat biztosít, mint például a Always Encrypted, a dinamikus adatmaszkolás, a sor szintű biztonság és az SQL-fenyegetések észlelése.SQL Database provides security features such as Always Encrypted, dynamic data masking, row-level security, and SQL threat detection.
  • Az alkalmazás webes szintjéhez a contoso úgy döntött, hogy Azure App Servicet használ.For the application web tier, Contoso has decided to use Azure App Service. Ez a Pásti-szolgáltatás lehetővé teszi, hogy csak néhány konfigurációs módosítással telepítse az alkalmazást.This PaaS service enables them to deploy the application with just a few configuration changes. A contoso a Visual Studióval hajtja végre a módosítást, és két webalkalmazást telepít, egyet a webhelyhez, egyet pedig a WCF szolgáltatáshoz.Contoso will use Visual Studio to make the change, and they'll deploy two web apps, one for the website and one for the WCF service.
  • A DevOps-folyamat követelményeinek kielégítése érdekében a contoso az Azure DevOps-t használja a forráskód-kezeléshez a git Repos használatával.To meet requirements for a DevOps pipeline, Contoso will use Azure DevOps for source code management with Git repos. Az automatizált buildek és a kiadás használatával felépítik a kódot, és telepítik a Azure App Service.They'll use automated builds and release to build the code and deploy it to the Azure App Service.

A megoldás áttekintéseSolution review

A contoso az alábbi táblázatban látható módon kiértékeli a javasolt kialakítást a profik és ellenérvek listájának összeállításával:Contoso evaluates their proposed design by putting together a pros and cons list, as shown in the following table:

MegfontolandóConsideration RészletekDetails
ElőnyökPros A SmartHotel360 alkalmazás kódjának nem kell módosítania az Azure-ba való áttelepítést.The SmartHotel360 application code doesn't require changes for migration to Azure.

A contoso a SQL Server és a Windows Server Azure Hybrid Benefit használatával is kihasználhatja a frissítési garanciával kapcsolatos befektetéseit.Contoso can take advantage of their investment in Software Assurance by using the Azure Hybrid Benefit for both SQL Server and Windows Server.

Az áttelepítés után a Windows Server 2008 R2 rendszert nem kell támogatni.After the migration, Windows Server 2008 R2 won't need to be supported. További információ: a Microsoft életciklus-szabályzata.For more information, see the Microsoft Lifecycle Policy.

A contoso több példánnyal is konfigurálhatja az alkalmazás webes rétegét, így a webes réteg már nem lehet egyetlen meghibásodási pont.Contoso can configure the web tier of the application with multiple instances, so that the web tier is no longer a single point of failure.

Az adatbázis nem fog többé az egyre elavultabbá váló SQL Server 2008 R2-től függeni.The database will no longer depend on the aging SQL Server 2008 R2.

Az SQL Database támogatja a műszaki követelményeket.SQL Database supports the technical requirements. A contoso Data Migration Assistant használatával értékelte a helyszíni adatbázist, és úgy találta, hogy kompatibilis.Contoso assessed the on-premises database by using Data Migration Assistant and found that it's compatible.

Azure SQL Database rendelkezik beépített hibatűréssel, amelyet a contoso nem kell beállítania.Azure SQL Database has built-in fault tolerance that Contoso doesn't have to set up. Így gondoskodni lehet róla, hogy ne az adatszint legyen az egyetlen feladatátvételi pont.This ensures that the data tier is no longer a single point of failover.

Ha a contoso a Azure Database Migration Service használatával telepíti át az adatbázisát, akkor az infrastruktúrája készen áll az adatbázisok nagy léptékű áttelepítésére.If Contoso uses Azure Database Migration Service to migrate their database, it will have the infrastructure ready for migrating databases at scale.
HátrányokCons A Azure App Service minden webalkalmazáshoz csak egy alkalmazás-telepítést támogat.Azure App Service supports only one application deployment for each web app. Ez azt jelenti, hogy két webalkalmazást kell kiépíteni, egyet a webhelyhez, egyet pedig a WCF szolgáltatáshoz.This means that two web apps must be provisioned, one for the website and one for the WCF service.

Javasolt architektúraProposed architecture

A javasolt architektúra ábrája.

Migrálási folyamatMigration process

  1. A contoso kiépít egy Azure SQL felügyelt példányt, majd Azure Database Migration Service használatával áttelepíti a SmartHotel360-adatbázist.Contoso provisions an Azure SQL managed instance and then migrates the SmartHotel360 database to it by using Azure Database Migration Service.

  2. A contoso kiépíti és konfigurálja a webalkalmazásokat, és üzembe helyezi a SmartHotel360 alkalmazást.Contoso provisions and configures web apps, and deploys the SmartHotel360 application to them.

    Az áttelepítési folyamat ábrája.

Azure-szolgáltatásokAzure services

SzolgáltatásService LeírásDescription KöltségekCost
Azure App Service Migration AssistantAzure App Service Migration Assistant Egy ingyenes és egyszerű elérési út, amellyel a .NET-webalkalmazások zökkenőmentesen áttelepíthetők a helyszínről a felhőbe, a kód módosítása nélkül.A free and simple path to seamlessly migrate .NET web applications from on-premises to the cloud with minimal to no code changes. Ez egy ingyenesen letölthető eszköz.It's a downloadable tool, free of charge.
Data Migration AssistantData Migration Assistant A contoso a Data Migration Assistant használatával felméri és felismeri a kompatibilitási problémákat, amelyek hatással lehetnek az Azure-ban az adatbázis-funkciókra.Contoso will use Data Migration Assistant to assess and detect compatibility issues that might affect database functionality in Azure. Data Migration Assistant a szolgáltatás paritását az SQL-források és a célok között vizsgálja, és a teljesítmény-és megbízhatósági eredményeket javasolja.Data Migration Assistant assesses feature parity between SQL sources and targets, and it recommends performance and reliability improvements. Ez egy ingyenesen letölthető eszköz.It's a downloadable tool, free of charge.
Azure Database Migration ServiceAzure Database Migration Service Azure Database Migration Service lehetővé teszi a zökkenőmentes áttelepítést több adatbázisból az Azure-beli adatplatformokra minimális állásidővel.Azure Database Migration Service enables seamless migration from multiple database sources to Azure data platforms with minimal downtime. További információ a támogatott régiókról és a Database Migration Service díjszabásáról.Learn about supported regions and Database Migration Service pricing.
Azure SQL DatabaseAzure SQL Database Ez egy intelligens, teljes mértékben felügyelt, felhőbeli relációsadatbázis-szolgáltatás.An intelligent, fully managed relational cloud database service. A Cost a szolgáltatások, az átviteli sebesség és a méret alapján történik.Cost is based on features, throughput, and size. További információk.Learn more.
Azure App ServiceAzure App Service Segíti a teljes körűen felügyelt platformot használó hatékony felhőalapú alkalmazások létrehozását.Helps create powerful cloud applications that use a fully managed platform. A díjszabás a méret, a hely és a használat időtartamán alapul.Pricing is based on size, location, and usage duration. További információk.Learn more.
Azure DevOpsAzure DevOps Folyamatos integrációs és folyamatos üzembe helyezési (CI/CD) adatfolyamatot biztosít az alkalmazások fejlesztéséhez.Provides a continuous integration and continuous deployment (CI/CD) pipeline for application development. A folyamat egy git-adattárral kezdődik, amely az alkalmazás kódjának kezelésére, a csomagok és más Build-összetevők létrehozására szolgáló rendszerindító rendszerre, valamint a fejlesztési, tesztelési és éles környezetekben végzett módosítások központi telepítésére szolgál.The pipeline starts with a Git repository for managing application code, a build system for producing packages and other build artifacts, and a release management system to deploy changes in dev, test, and production environments.

ElőfeltételekPrerequisites

A forgatókönyv futtatásához a Contosonek meg kell felelnie a következő előfeltételeknek:To run this scenario, Contoso must meet the following prerequisites:

KövetelményekRequirements RészletekDetails
Azure-előfizetésAzure subscription A Contoso a sorozat egyik korábbi cikkében előfizetéseket hozott létre.Contoso created subscriptions earlier in this article series. Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.If you don't have an Azure subscription, create a free account.

Ha ingyenes fiókot hoz létre, Ön lesz az előfizetés rendszergazdája, és minden műveletet végrehajthat.If you create a free account, you're the administrator of your subscription and can perform all actions.

Ha meglévő előfizetést használ, és nem Ön a rendszergazdája, kérjen a rendszergazdától tulajdonosi vagy közreműködői jogosultságot.If you use an existing subscription and you're not the administrator, you need to work with the admin to assign you Owner or Contributor permissions.
Azure-infrastruktúraAzure infrastructure A Contoso a migráláshoz szánt Azure-infrastruktúrát ismertető cikkben leírtak alapján állította be az Azure-infrastruktúrát.Contoso set up their Azure infrastructure as described in Azure infrastructure for migration.

A forgatókönyv lépéseiScenario steps

A Contoso a következőképpen végzi el a migrálást:Here's how Contoso will run the migration:

  • 1. lépés: a webalkalmazások felmérése és migrálása.Step 1: Assess and migrate the web apps.. A contoso a Azure App Service Migration Assistant eszköz használatával futtatja az áttelepítés előtti kompatibilitási ellenőrzéseket, és áttelepíti a webalkalmazásait Azure app Servicere.Contoso uses the Azure App Service Migration Assistant tool to run pre-migration compatibility checks and migrate their web apps to Azure App Service.
  • 2. lépés: adatbázis kiépítése Azure SQL Databaseban.Step 2: Provision a database in Azure SQL Database. A contoso Azure SQL Database példányt foglal le.Contoso provisions an Azure SQL Database instance. Miután az alkalmazás webhelyét áttelepítette az Azure-ba, a WCF szolgáltatás webalkalmazása erre a példányra mutat.After the application website is migrated to Azure, the WCF service web app will point to this instance.
  • 3. lépés: az adatbázis értékelése.Step 3: Assess the database. A contoso Data Migration Assistant használatával értékeli az adatbázist az áttelepítéshez, majd áttelepíti Azure Database Migration Service-on keresztül.Contoso assesses the database for migration by using Data Migration Assistant and then migrates it via Azure Database Migration Service.
  • 4. lépés: az Azure-DevOps beállítása.Step 4: Set up Azure DevOps. A Contoso létrehoz egy új Azure DevOps-projektet, és importálja a Git-adattárat.Contoso creates a new Azure DevOps project, and imports the Git repo.
  • 5. lépés: a kapcsolatok karakterláncok konfigurálása.Step 5: Configure connection strings. A Contoso úgy konfigurálja a kapcsolati sztringeket, hogy a webes szintű webalkalmazás, a WCF-szolgáltatás webalkalmazása és az SQL-példány képes legyen egymással kommunikálni.Contoso configures connection strings so that the web tier web app, the WCF service web app, and the SQL instance can communicate.
  • 6. lépés: folyamatok létrehozása és kiadása az Azure DevOps-ben.Step 6: Set up build and release pipelines in Azure DevOps. Utolsó lépésként a contoso létrehozza az Azure DevOps felépítési és kiadási folyamatokat az alkalmazás létrehozásához, majd két különálló webalkalmazásba telepíti őket.As a final step, Contoso sets up build and release pipelines in Azure DevOps to create the application, and then deploys them to two separate web apps.

1. lépés: a webalkalmazások felmérése és migrálásaStep 1: Assess and migrate the web apps

A contoso-rendszergazdák a Azure App Service Migration Assistant eszköz használatával értékeljék és migrálják a webalkalmazást.Contoso admins assess and migrate their web app using the Azure App Service Migration Assistant tool. A folyamat során útmutatóként használják a ASP.NET-alkalmazások áttelepítését az Azure learning-útvonalra .They use the Migrate ASP.NET Apps to Azure learning path as a guide during the process. A rendszergazdák a következő műveleteket hajtják végre:The admins perform these actions:

  • Az Azure app Service Migration Assessment eszközt használják a webalkalmazások közötti függőségek kiértékelésére, valamint annak meghatározására, hogy a helyszíni webalkalmazások és a Azure app Service támogatottak-e a szolgáltatással kapcsolatos problémák.They use the Azure App Service Migration Assessment tool to evaluate any dependencies between their web apps and to determine if there are any incompatibilities between their on-premises web apps and what's supported on Azure App Service.

  • Letöltik a Azure App Service Migration Assistant, és bejelentkeznek az Azure-fiókjába.They download the Azure App Service Migration Assistant and sign in to their Azure account.

  • Választhatnak egy előfizetést, egy erőforráscsoportot és a webhely tartománynevét.They choose a subscription, a resource group, and the website's domain name.

2. lépés: adatbázis kiépítése Azure SQL DatabaseStep 2: Provision a database in Azure SQL Database

  1. A contoso-rendszergazdák úgy döntenek, hogy létrehoznak egy Azure SQL Database példányt.Contoso admins decide to create an Azure SQL Database instance.

    A SQL Database hivatkozást bemutató képernyőkép.

  2. Megadják a helyszíni virtuális gépen futó adatbázis nevét, amely megegyezik a-adatbázissal SmartHotel.Registration .They specify a database name to match the database, SmartHotel.Registration, that's running on the on-premises VM. Az adatbázist a ContosoRG erőforráscsoportban helyezik el.They place the database in the ContosoRG resource group. Ez az Azure éles környezetben használt erőforrásainak erőforráscsoportja.This is the resource group they use for production resources in Azure.

    A SQL Database példány részleteit bemutató képernyőkép.

  3. Létrehoznak egy új SQL Server példányt, amely az SQL-Smarthotel-eus2, az elsődleges régióban.They set up a new SQL Server instance, sql-smarthotel-eus2, in the primary region.

    Képernyőkép az új SQL Server példányról.

  4. A tarifacsomagot úgy állítják be, hogy megfeleljen a kiszolgáló és az adatbázis igényeinek.They set the pricing tier to match their server and database needs. Emellett úgy döntenek, hogy pénzt takarítanak meg az Azure Hybrid Benefittel, mivel már rendelkeznek egy SQL Server-licenccel.And they select to save money with Azure Hybrid Benefit because they already have a SQL Server license.

  5. A méretezéshez virtuális mag-alapú vásárlást használ, és beállítja a várt követelményekre vonatkozó korlátokat.For sizing, they use vCore-based purchasing and set the limits for their expected requirements.

    Képernyőkép a virtuális mag méretezési követelményeiről.

  6. Létrehozzák az adatbázis-példányt.They create the database instance.

    Képernyőkép SQL Database példány létrehozásáról.

  7. Megnyitják az adatbázist, és megtekinthetik, hogy milyen részletekre van szükségük, amikor a Data Migration Assistantt használják az áttelepítéshez.They open the database and note the details they'll need when they use Data Migration Assistant for migration.

    Az adatbázis-példány szövegfájljának képernyőképe.

További segítségre van szüksége?Need more help?

3. lépés: az adatbázis értékeléseStep 3: Assess the database

A contoso-rendszergazdák Data Migration Assistant használatával értékelik az adatbázist, majd a Azure Database Migration Service használatával áttelepítik azt a lépésenkénti áttelepítési oktatóanyagravaló hivatkozással.Contoso admins assess the database by using Data Migration Assistant and then migrate it by using Azure Database Migration Service by referring to the step-by-step migration tutorial. Online, offline és hibrid (előzetes) áttelepítést is végezhetnek.They can perform online, offline, and hybrid (preview) migrations.

Röviden, a rendszergazdák a következőket hajtják végre:In brief, the admins do the following:

  • A Data Migration Assistant az adatbázis-áttelepítési problémák felderítésére és megoldására használják.They use Data Migration Assistant to discover and resolve any database migration issues.
  • Létrehoznak egy Azure Database Migration Service példányt egy prémium SKU-val, amely a virtuális hálózathoz csatlakozik.They create an Azure Database Migration Service instance with a Premium SKU that's connected to the virtual network.
  • Gondoskodnak arról, hogy a példány hozzáférhessen a távoli SQL Server a virtuális hálózaton keresztül.They ensure that the instance can access the remote SQL Server via the virtual network. Ez magában foglalja annak biztosítását, hogy minden bejövő port engedélyezve legyen az Azure-ból SQL Server a virtuális hálózat szintjén, a hálózati VPN-en és a SQL Server futtató gépen.This entails ensuring that all incoming ports are allowed from Azure to SQL Server at the virtual network level, the network VPN, and the machine that hosts SQL Server.
  • A példányt a következőket konfigurálják:They configure the instance:
    • Hozzon létre egy áttelepítési projektet.Create a migration project.
    • Forrás (helyszíni adatbázis) hozzáadása.Add a source (on-premises database).
    • Válasszon ki egy célt.Select a target.
    • Válassza ki az áttelepíteni kívánt adatbázisokat.Select the databases to migrate.
    • Speciális beállítások konfigurálása.Configure advanced settings.
    • Indítsa el a replikálást.Start the replication.
    • Hárítsa el az esetleges hibákat.Resolve any errors.
    • Hajtsa végre a végső átváltás.Perform the final cutover.

4. lépés: az Azure-DevOps beállításaStep 4: Set up Azure DevOps

A Contosónak ki kell építenie a DevOps-infrastruktúrát és -folyamatokat az alkalmazáshoz.Contoso needs to build the DevOps infrastructure and pipelines for the application. Ehhez a Contoso rendszergazdái létrehoznak egy új DevOps-projektet, importálják a kódot, majd beállítják a buildelési és kiadási folyamatokat.To do this, Contoso admins create a new DevOps project, import the code, and then set up build and release pipelines.

  1. A contoso Azure DevOps-fiókban hozzon létre egy új projektet, majd a ContosoSmartHotelRefactor, majd válassza a git lehetőséget a verzió-vezérléshez.In the Contoso Azure DevOps account, they create a new project, ContosoSmartHotelRefactor, and then select Git for version control.

    Képernyőfelvétel: új projekt létrehozása az Azure DevOps-ben.

  2. Importálják a git-tárházat, amely jelenleg az alkalmazás kódját tárolja.They import the Git repo that currently holds their application code. Ezek a nyilvános GitHub-tárházbóltölthetők le.They download it from the public GitHub repository.

    Képernyőkép a "git-tárház importálása" panelről.

  3. A Visual studiót a tárházhoz kötik, majd Team Explorer használatával klónozott a kódot a fejlesztői gépre.They connect Visual Studio to the repo and then clone the code to the developer machine by using Team Explorer.

    Képernyőkép a "kapcsolódás projekthez" panelről.

  4. Megnyitják az alkalmazás megoldási fájlját.They open the solution file for the application. A webalkalmazás és a WCF szolgáltatás külön projekttel rendelkezik a fájlon belül.The web app and the WCF service have separate projects within the file.

    Képernyőkép a Megoldáskezelőről, amely felsorolja a webalkalmazást és a WCF szolgáltatási projekteket.

5. lépés: a kapcsolatok karakterláncok konfigurálásaStep 5: Configure connection strings

A contoso rendszergazdái gondoskodnak arról, hogy a webalkalmazások és az adatbázisok kommunikálhatnak egymással.The Contoso admins make sure that the web apps and database can communicate with each other. Ehhez konfigurálják a kapcsolati sztringeket a kódban és a webalkalmazásokban.To do this, they configure connection strings in the code and in the web apps.

  1. A WCF szolgáltatáshoz tartozó webalkalmazásban a SHWCF-EUS2 Beállítások > Alkalmazásbeállítások területen adjon hozzá egy új, DefaultConnection nevű kapcsolati karakterláncot.In the web app for the WCF service, SHWCF-EUS2, under Settings > Application settings, they add a new connection string named DefaultConnection.

  2. Lekérik a SmartHotel-Registration adatbázisból a kapcsolatok karakterláncát, majd a megfelelő hitelesítő adatokkal frissítik.They pull the connection string from the SmartHotel-Registration database and then update it with the correct credentials.

    Képernyőfelvétel a kapcsolatok karakterlánc-beállításai panelről.

  3. A Visual Studióban a rendszergazdák a megoldás fájljából nyitják meg a SmartHotel.Registration.wcf projektet.In Visual Studio, the admins open the SmartHotel.Registration.wcf project from the solution file. A projektben frissítik a connectionStrings fájl szakaszát web.config a kapcsolatok karakterláncával.In the project, they update the connectionStrings section of the web.config file with the connection string.

    Képernyőkép a web.config fájl connectionStrings szakaszáról a SmartHotel. Registration. WCF projektben.

  4. A fájl szakaszát úgy változtatják meg, client web.config hogy a SmartHotel.Registration.Web WCF szolgáltatás új helyére mutasson.They change the client section of the web.config file for SmartHotel.Registration.Web to point to the new location of the WCF service. A szolgáltatási végpontot futtató WCF-webalkalmazás URL-címe.This is the URL of the WCF web app that hosts the service endpoint.

    Képernyőkép a SmartHotel. Registration. WCF projekt web.config fájljának ügyfél szakaszáról.

  5. A kód módosításai mostantól megtörténtek, a rendszergazdák véglegesítik és szinkronizálják azokat a Visual Studióban Team Explorer használatával.With the code changes now in place, the admins commit and sync them by using Team Explorer in Visual Studio.

6. lépés: folyamatok létrehozása és kiadása az Azure DevOpsStep 6: Set up build and release pipelines in Azure DevOps

A contoso-rendszergazdák mostantól az Azure DevOps konfigurálja a létrehozási és a kiadási folyamat elvégzéséhez.The Contoso admins now configure Azure DevOps to perform the build and release process.

  1. Az Azure DevOps válassza az új folyamat létrehozása és felszabadítása lehetőséget > New pipeline.In Azure DevOps, they select Build and release > New pipeline.

    Képernyőkép az "új folyamat" hivatkozásról az Azure DevOps.

  2. Az Azure Repos git és az adattár legördülő listájában a megfelelő tárházat választják ki.They select Azure Repos Git and, in the Repository drop-down list, they select the relevant repo.

    Képernyőkép az "Azure Repos git" gombról és a kiválasztott tárházról.

  3. A sablon kiválasztása területen válassza ki a ASP.net sablont a létrehozáshoz.Under Select a template, they select the ASP.NET template for their build.

    Képernyőkép a "sablon kiválasztása" panelről a ASP.NET-sablon kiválasztásához.

  4. A Build számára a ContosoSmartHotelRefactor-ASP.net-CI nevet használják, majd a Mentés & üzenetsor lehetőséget választja, amely az első Build után indul el.They use the name ContosoSmartHotelRefactor-ASP.NET-CI for the build and then select Save & queue, which kicks off the first build.

    Képernyőkép a buildhez tartozó "Mentés és várólista" gombról.

  5. Kiválasztják a buildszámot a folyamat figyeléséhez.They select the build number to watch the process. Miután végzett, a rendszergazdák láthatják a folyamattal kapcsolatos visszajelzéseket, és az összetevők kiválasztásával ellenőrizhetik a létrehozás eredményeit .After it's finished, the admins can see the process feedback, and they select Artifacts to review the build results.

    Képernyőkép a Build oldaláról és az összetevők hivatkozásáról a Build eredményeinek áttekintéséhez.

    Megnyílik az összetevők Explorer ablaktábla, és a drop mappa megjeleníti a létrehozás eredményét.The Artifacts explorer pane opens, and the drop folder displays the build results.

    • A két. zip fájl az alkalmazásokat tartalmazó csomagok.The two .zip files are the packages that contain the applications.
    • Ezek a. zip fájlok a kiadási folyamat során a Azure App Service való üzembe helyezéshez használatosak.These .zip files are used in the release pipeline for deployment to Azure App Service.

    Képernyőkép az "összetevők Explorer" panelről.

  6. A kiadásokat és az > új folyamatot választja.They select Releases > + New pipeline.

    Új folyamat

  7. Kiválasztják az üzembehelyezési sablont az Azure App Service-hez.They select the deployment template for Azure App Service.

    Képernyőkép a Azure App Service központi telepítési sablonról.

  8. A kiadási folyamat ContosoSmartHotel360Refactor , a szakasz neve mezőben pedig a WCF-webalkalmazás NEVEKÉNT a SHWCF-EUS2 nevet kell megadni.They name the release pipeline ContosoSmartHotel360Refactor and, in the Stage name box, specify SHWCF-EUS2 as the name of the WCF web app.

    Képernyőkép a WCF-webalkalmazás fázisának nevéről.

  9. A szakaszok területén kiválasztják a 1 job, 1 task (1 munka, 1 feladat) lehetőséget a WCF-szolgáltatás üzembe helyezésének konfigurálásához.Under the stages, they select 1 job, 1 task to configure deployment of the WCF service.

    Képernyőkép az "1 feladat, 1 feladat" lehetőségről.

  10. Ellenőrzik, hogy az előfizetés ki van-e választva és engedélyezve van-e, majd válassza ki az app Service-nevet.They verify that the subscription is selected and authorized, and then they select the app service name.

    Képernyőkép az App Service-név kiválasztásáról.

  11. A folyamat > összetevők esetében válassza a + összetevő hozzáadása lehetőséget, majd válassza ki a ContosoSmarthotel360Refactor folyamattal való felépítéshez.On the pipeline > Artifacts, they select + Add an artifact, then select to build with the ContosoSmarthotel360Refactor pipeline.

    Képernyőkép az "összetevő hozzáadása" panel Build gombjának létrehozásáról.

  12. A folyamatos üzembe helyezési trigger engedélyezéséhez a rendszergazdák kiválasztja a villám ikont az összetevőn.To enable the continuous deployment trigger, the admins select the lightning bolt icon on the artifact.

    Képernyőkép az összetevőn látható villám-ikonról.

  13. A folyamatos üzembe helyezési triggert engedélyezve értékre állítja.They set the continuous deployment trigger to Enabled.

    Képernyőfelvétel: a folyamatos üzembe helyezési trigger engedélyezve értékre van állítva.

  14. A rendszergazdák visszatérhetnek az 1. fázis feladathoz , 1 feladat, majd válassza a Azure app Service telepítése lehetőséget.The admins go back to the stage 1 job, 1 task and then select Deploy Azure App Service.

    Képernyőfelvétel: válassza a "Azure App Service központi telepítése" lehetőséget.

  15. A fájl vagy mappa kiválasztása lapon bontsa ki a drop mappát, válassza ki a Build alatt létrehozott SmartHotel.Registration.Wcf.zip fájlt, majd kattintson a Mentés gombra.In Select a file or folder, they expand the drop folder, select the SmartHotel.Registration.Wcf.zip file that was created during the build, and then select Save.

    Képernyőkép a "fájl vagy mappa kiválasztása" panelről a WCF-fájl kiválasztásához.

  16. Kiválasztják a folyamat > szakaszait, majd a + Hozzáadás lehetőséget választva hozzáadhat egy környezetet a következőhöz: SHWEB-EUS2 .They select Pipeline > Stages, and then select + Add to add an environment for SHWEB-EUS2. Kiválasztják az Azure App Service egy másik üzemelő példányát.They select another Azure App Service deployment.

    Képernyőfelvétel: "1 feladat, 1 feladat" hivatkozás a környezet hozzáadásához.

  17. Megismétlik a SmartHotel.Registration.Web.zip fájlt a megfelelő webalkalmazásba, majd a Mentés gombra kattintva teszik közzé a fájlt.They repeat the process to publish the SmartHotel.Registration.Web.zip file to the correct web app, and then select Save.

    Képernyőkép a "fájl vagy mappa kiválasztása" panelről a webfájl kiválasztásához.

    Megjelenik a kiadási folyamat, ahogy az itt látható:The release pipeline is displayed, as shown here:

    Képernyőkép a kiadási folyamat összegzéséről.

  18. Visszatérhetnek a buildre, kiválasztják az eseményindítókat, majd bejelölik a folyamatos integráció engedélyezése jelölőnégyzetet.They go back to Build, select Triggers, and then select the Enable continuous integration check box. Ez a művelet lehetővé teszi a folyamat számára, hogy amikor a módosítások véglegesítése megtörténik a kódban, a teljes Build és a kiadás bekövetkezik.This action enables the pipeline so that when changes are committed to the code, the full build and release occur.

    Képernyőfelvétel: "folyamatos integráció engedélyezése" jelölőnégyzet.

  19. A teljes folyamat futtatásához válassza a & üzenetsor mentése lehetőséget.They select Save & queue to run the full pipeline. Ekkor létrejön egy új Build, amely létrehozza az alkalmazás első kiadását a Azure App Service.A new build is triggered, which in turn creates the first release of the application to the Azure App Service.

    Képernyőkép a "& üzenetsor mentése" gombra kattintva.

  20. A Contoso rendszergazdái követhetik a buildelési és kiadási folyamat állapotát az Azure DevOpsból.Contoso admins can follow the build and release pipeline process from Azure DevOps. A létrehozás befejeződése után elindul a kiadás.After the build finishes, the release starts.

    Képernyőkép a build és a Release alkalmazások folyamatáról.

  21. A folyamat befejeződése után mindkét hely telepítve van, az alkalmazás pedig online állapotban van.After the pipeline finishes, both sites have been deployed, and the application is up and running online.

    Képernyőfelvétel: az alkalmazás működése folyamatban van.

    Az alkalmazás sikeresen át lett telepítve az Azure-ba.The application has been successfully migrated to Azure.

A feleslegessé vált elemek eltávolítása a migrálás utánClean up after migration

Az áttelepítés után a contoso a következő karbantartási lépéseket hajtja végre:After migration, Contoso completes these cleanup steps:

  • A helyszíni virtuális gépeket a vCenter-leltárból távolítják el.They remove the on-premises VMs from the vCenter inventory.
  • A virtuális gépeket a helyi biztonsági mentési feladatokból távolítják el.They remove the VMs from the local backup jobs.
  • Frissítik a belső dokumentációját, hogy megjelenjenek a SmartHotel360 alkalmazás új helyei.They update their internal documentation to show the new locations for the SmartHotel360 application. A dokumentációban látható, hogy az adatbázis Azure SQL Database fut, és az előtér két webes alkalmazásban fut.The documentation shows the database as running in Azure SQL Database and the front end as running in two web apps.
  • Áttekintik a leszerelt virtuális gépekkel kommunikáló erőforrásokat, és frissítik a vonatkozó beállításokat vagy dokumentációkat, hogy azok tükrözzék az új konfigurációt.They review any resources that interact with the decommissioned VMs, and they update any relevant settings or documentation to reflect the new configuration.

Az üzemelő példány áttekintéseReview the deployment

Az Azure-ba migrált erőforrásokkal a Contosonak teljesen működővé tenni kell, és segítenie kell az új infrastruktúrát.With the resources now migrated to Azure, Contoso needs to fully operationalize and help secure their new infrastructure.

BiztonságSecurity

  • A contoso segít biztosítani, hogy az új SmartHotel-Registration adatbázis biztonságban legyen.Contoso helps ensure that their new SmartHotel-Registration database is secure. További információk.Learn more.
  • Különösen a contoso frissíti a webalkalmazásokat az SSL használatára a tanúsítványokkal.In particular, Contoso updates the web apps to use SSL with certificates.

Biztonsági másolatokBackups

  • A contoso csapata áttekinti a Azure SQL Database biztonsági mentési követelményeit.The Contoso team reviews the backup requirements for the Azure SQL Database. További információk.Learn more.
  • Azt is megismerhetik SQL Database biztonsági mentések és visszaállítások kezelésével kapcsolatban.They also learn about managing SQL Database backups and restores. További információ az automatikus biztonsági mentésekről.Learn more about automatic backups.
  • Úgy vélik, hogy a feladatátvételi csoportokat az adatbázis regionális feladatátvételének biztosítására használják.They consider implementing failover groups to provide regional failover for the database. További információk.Learn more.
  • A rugalmasság érdekében érdemes a webalkalmazást a fő régióban ( East US 2 ) és a másodlagos régióban () üzembe helyezni Central US .For resilience, they consider deploying the web app in the main region (East US 2) and the secondary region (Central US). A csapat konfigurálhatja a Traffic Managert, hogy biztosítsa a feladatátvételt a regionális kimaradások során.The team could configure Traffic Manager to ensure failover during regional outages.

Licencelés és költségoptimalizálásLicensing and cost optimization

  • Az összes erőforrás üzembe helyezése után a contoso az infrastruktúra megtervezésealapján rendeli hozzá az Azure-címkéket.After all resources are deployed, Contoso assigns Azure tags based on their infrastructure planning.
  • A Contoso által használt PaaS-szolgáltatások költsége tartalmazza a licencelés összes költségét.All licensing is built into the cost of the PaaS services that Contoso is consuming. Ez a díj a Nagyvállalati Szerződésből lesz levonva.This cost is deducted from the Enterprise Agreement.
  • A contoso Azure Cost Management és számlázással gondoskodik arról, hogy az informatikai vezető által létrehozott költségvetési kereteken belül maradjon.Contoso will use Azure Cost Management and Billing to ensure that they stay within the budgets established by their IT leadership.

ÖsszegzésConclusion

Ebben a cikkben a contoso átszervezte a SmartHotel360 alkalmazást az Azure-ban az alkalmazás előtérbeli virtuális gép két Azure App Service webalkalmazásba való áttelepítésével.In this article, Contoso refactored the SmartHotel360 application in Azure by migrating the application front-end VM to two Azure App Service web apps. Az alkalmazás-adatbázis át lett telepítve a Azure SQL Databaseba.The application database was migrated to Azure SQL Database.