애플리케이션을 Azure App Service 및 SQL Database로 마이그레이션

이 문서에서는 가상 회사 Contoso가 Azure로의 마이그레이션의 일부로서 VMware VM에서 실행되는 2계층 Windows .NET 애플리케이션을 리팩터링하는 방법을 보여 줍니다. Contoso 팀은 애플리케이션 프런트 엔드 VM(가상 머신)을 Azure App Service 웹앱으로, 애플리케이션 데이터베이스를 Azure SQL Database로 마이그레이션합니다.

이 예제에서 사용하는 SmartHotel360 애플리케이션은 오픈 소스 소프트웨어로 제공됩니다. 이 앱을 자체 테스트 목적으로만 사용하려는 경우 GitHub에서 다운로드할 수 있습니다.

비즈니스 영향 요소

Contoso IT 리더십 팀은 비즈니스 파트너와 긴밀히 협력하여 이 마이그레이션을 통해 달성하고자 하는 것을 이해했습니다.

  • 비즈니스 성장 해결. Contoso는 성장하고 있으며 여기에는 온-프레미스 시스템과 인프라에 대한 압박이 있습니다.
  • 효율성 증대. Contoso는 불필요한 절차를 제거하고 개발자와 사용자를 위한 프로세스를 간소화해야 합니다. 비즈니스에서는 IT가 빠르고 시간이나 비용을 낭비하지 않도록 해야 하므로 고객 요구 사항을 더 빠르게 제공할 수 있습니다.
  • 민첩성 향상. Contoso IT는 글로벌 경제에서 성공을 거두려면 비즈니스 요구 사항에 보다 신속하게 대응해야 합니다. 마켓플레이스의 변화에 더 빠르게 대응할 수 있어야 합니다. IT는 방해를 받거나 비즈니스에 방해가 되어서도 안 됩니다.
  • 확장하세요. 비즈니스가 성공적으로 성장함에 따라 Contoso IT는 동일한 속도로 성장할 수 있는 시스템을 제공해야 합니다.
  • 비용을 절감합니다. Contoso는 라이선스 비용을 최소화하려고 합니다.

마이그레이션 목표

최상의 마이그레이션 방법을 결정하기 위해 Contoso 클라우드 팀은 다음 목표를 고정했습니다.

요구 사항 세부 정보
애플리케이션 Azure의 애플리케이션은 현재 온-프레미스만큼 중요합니다.

VMware에서 현재와 동일한 성능 기능이 있어야 합니다.

팀은 애플리케이션에 투자하고 싶지 않습니다. 지금은 관리자가 애플리케이션을 클라우드로 안전하게 이동하기만 하면 됩니다.

팀은 애플리케이션이 현재 실행되는 Windows Server 2008 R2 지원을 중지하려고 합니다.

또한 팀은 SQL Server 2008 R2에서 최신 PaaS(서비스 제공 플랫폼) 데이터베이스로 전환하여 관리 필요성을 최소화하고자 합니다.

Contoso는 가능한 경우 SQL Server 라이선스 및 Software Assurance에 대한 투자를 활용하려고 합니다.

또한 Contoso는 웹 계층에서 단일 실패 지점을 완화하려고 합니다.
제한 사항 애플리케이션은 ASP.NET 애플리케이션과 동일한 VM에서 실행되는 WCF(Windows Communication Foundation) 서비스로 구성됩니다. Azure App Service를 사용하여 두 웹앱에 이러한 구성 요소를 분산하려고 합니다.
Azure Contoso는 애플리케이션을 Azure로 이동하려고 하지만 VM에서 실행하려는 것은 아닙니다. Contoso는 웹 및 데이터 계층 모두에 Azure PaaS 서비스를 사용하려고 합니다.
DevOps Contoso는 빌드 및 릴리스 파이프라인에 Azure DevOps 사용하는 DevOps 모델로 이동하려고 합니다.

솔루션 디자인

Contoso는 목표와 요구 사항을 고정한 후 배포 솔루션을 디자인하고 검토합니다. 또한 마이그레이션에 사용할 Azure 서비스를 포함하여 마이그레이션 프로세스를 식별합니다.

현재 애플리케이션

  • SmartHotel360 온-프레미스 애플리케이션은 WEBVMSQLVM 두 VM에 걸쳐 계층화됩니다.
  • VM은 VMware ESXi 호스트 contosohost1.contoso.com 버전 6.5에 있습니다.
  • VMware 환경은 VM에서 실행되는 vCenter Server 6.5(vcenter.contoso.com)에서 관리됩니다.
  • Contoso에는 온-프레미스 do기본 컨트롤러(contoso-datacenter)가 있는 온-프레미스 데이터 센터(contosodc1)가 있습니다.
  • 마이그레이션이 완료되면 Contoso 데이터 센터의 온-프레미스 VM은 서비스 해제됩니다.

제안된 솔루션

  • 애플리케이션의 데이터베이스 계층에서 Contoso는 기능 비교: Azure SQL Database 및 Azure SQL Managed Instance를 참조하여 Azure SQL Database를 SQL Server와 비교했습니다. Contoso는 다음과 같은 몇 가지 이유로 Azure SQL Database를 사용하기로 결정했습니다.
    • Azure SQL Database는 관리되는 관계형 데이터베이스 서비스입니다. 거의 0에 가까운 관리로 여러 서비스 수준에서 예측 가능한 성능을 제공합니다. 이점으로 가동 중지 시간 없는 동적 확장성, 기본 제공 지능형 최적화 및 글로벌 확장성 및 가용성을 포함합니다.
    • Contoso는 가벼운 Data Migration Assistant를 사용하여 Azure SQL Database로의 온-프레미스 데이터베이스 마이그레이션을 평가할 수 있습니다.
    • Contoso는 Azure Database Migration Service를 사용하여 온-프레미스 데이터베이스를 Azure SQL Database에 마이그레이션할 수 있습니다.
    • Software Assurance를 사용하여 Contoso는 SQL Server Azure 하이브리드 혜택을 통해 SQL Database의 데이터베이스에 대한 기존 라이선스를 할인된 가격으로 교환할 수 있습니다. 이 방법으로 비용을 최대 30% 절감할 수 있습니다.
    • SQL Database는 Always Encrypted, 동적 데이터 마스킹, 행 수준 보안 및 SQL 위협 감지와 같은 보안 기능을 제공합니다.
  • 애플리케이션 웹 계층의 경우 Contoso는 Azure App Service를 사용하기로 결정했습니다. PaaS 서비스를 사용하면 몇 가지 구성 변경만으로 애플리케이션을 배포할 수 있습니다. Contoso는 Visual Studio를 사용하여 변경하고 웹 사이트용과 WCF 서비스용 웹앱 2개를 배포합니다.
  • Contoso는 DevOps 파이프라인에 대한 요구 사항을 충족하기 위해 Git 리포지토리를 사용하여 소스 코드 관리에 Azure DevOps를 사용합니다. 자동화된 빌드 및 릴리스를 사용하여 코드를 빌드하고 Azure App Service에 배포합니다.

솔루션 검토

Contoso는 다음 표와 같이 장단점 목록을 함께 배치하여 제안된 디자인을 평가합니다.

고려 사항 세부 정보
장점 SmartHotel360 애플리케이션 코드는 Azure로 마이그레이션하기 위해 변경할 필요가 없습니다.

Contoso는 SQL Server 및 Windows Server 모두에 Azure 하이브리드 혜택을 사용하여 Software Assurance에 대한 투자를 활용할 수 있습니다.

마이그레이션 후 Windows Server 2008 R2는 지원되지 않아도 됩니다. 자세한 내용은 Microsoft 수 명 주기 정책을 참조하세요.

Contoso는 여러 인스턴스를 사용하여 애플리케이션의 웹 계층을 구성할 수 있으므로 웹 계층은 더 이상 단일 실패 지점이 아닙니다.

데이터베이스는 더 이상 노후화된 SQL Server 2008 R2에 의존하지 않습니다.

SQL Database는 기술 요구 사항을 지원합니다. Contoso는 Data Migration Assistant를 사용하여 온-프레미스 데이터베이스를 평가하였으며 호환된다는 것을 발견했습니다.

Azure SQL Database에는 Contoso에서 설정할 필요가 없는 내결함성이 기본 제공되었습니다. 따라서 데이터 계층은 더 이상 단일 장애 조치(failover) 지점이 아닙니다.

Contoso가 Azure Database Migration Service를 사용하여 데이터베이스를 마이그레이션하는 경우 데이터베이스를 대규모로 마이그레이션할 수 있는 인프라가 준비됩니다.
단점 Azure App Service는 각 웹앱에 대해 하나의 애플리케이션 배포만 지원합니다. 즉, 두 개의 웹앱이 하나는 웹 사이트에 또 하나는 WCF 서비스에 프로비전되어야 합니다.

제안된 아키텍처

Diagram of the proposed architecture.

마이그레이션 프로세스

  1. Contoso는 Azure SQL Database를 프로비전한 다음, Azure Database Migration Service를 사용하여 SmartHotel360 데이터베이스를 마이그레이션합니다.

  2. Contoso는 웹앱을 프로비전 및 구성하고 SmartHotel360 애플리케이션을 배포합니다.

    Diagram of the migration process.

Azure 서비스

서비스 설명 비용
Azure App Service Migration Assistant 코드 변경을 최소화하거나 전혀 하지 않고 .NET 웹 애플리케이션을 온-프레미스에서 클라우드로 원활하게 마이그레이션할 수 있는 무료 간단한 경로입니다. 무료로 다운로드할 수 있는 도구입니다.
데이터 Migration Assistant Contoso는 Data Migration Assistant를 사용하여 Azure의 데이터베이스 기능에 영향을 줄 수 있는 호환성 문제를 평가하고 검색합니다. Data Migration Assistant는 SQL 원본과 대상 간의 기능 패리티를 평가하고 성능 및 안정성 향상을 권장합니다. 무료로 다운로드할 수 있는 도구입니다.
Azure Database Migration Service Azure Database Migration Service를 사용하면 가동 중지 시간을 최소화하면서 여러 데이터베이스 원본에서 Azure 데이터 플랫폼으로 원활하게 마이그레이션할 수 있습니다. 지원되는 지역 및Database Migration Service 가격 책정에 대해 알아봅니다.
Azure SQL Database 완전히 관리되는 지능형 관계형 클라우드 데이터베이스 서비스입니다. 비용은 기능, 처리량 및 크기를 기반으로 합니다. 자세히 알아보기.
Azure App Service 완전 관리형 플랫폼을 사용하는 강력한 클라우드 애플리케이션을 만드는 데 도움이 됩니다. 가격 책정은 크기, 위치 및 사용 기간을 기준으로 합니다. 자세히 알아보기.
Azure Pipelines 애플리케이션 개발을 위한 CI/CD(연속 통합 및 지속적인 배포) 파이프라인을 제공합니다. 파이프라인은 애플리케이션 코드를 관리하기 위한 Git 리포지토리, 패키지 및 기타 빌드 아티팩트를 생성하기 위한 빌드 시스템 및 개발, 테스트 및 프로덕션 환경에 변경 내용을 배포하는 릴리스 관리 시스템으로 시작합니다.

필수 조건

이 시나리오를 실행하려면 Contoso가 다음 필수 구성 요소를 충족해야 합니다.

요구 사항 세부 정보
Azure 구독 Contoso는 이 문서 시리즈의 앞부분에서 구독을 만들었습니다. Azure 구독이 없는 경우 무료 계정을 만드세요.

체험 계정을 만들면 구독 관리자로서 모든 작업을 수행할 수 있습니다.

기존 구독을 사용하고 관리자가 아닌 경우 관리자와 협력하여 소유자 또는 참가자 권한을 할당해야 합니다.
Azure 인프라 Contoso는 마이그레이션을 위해 Azure 인프라에 설명된 대로 Azure 인프라를 설정합니다.

시나리오 단계

Contoso에서 마이그레이션을 실행하는 방법은 다음과 같습니다.

  • 1단계: 웹앱 평가 및 마이그레이션. Contoso는 Azure App Service Migration Assistant 도구를 사용하여 마이그레이션 전 호환성 검사를 실행하고 웹앱을 Azure App Service로 마이그레이션합니다.
  • 2단계: Azure SQL Database에서 데이터베이스 프로비전. Contoso는 Azure SQL Database 인스턴스를 프로비전합니다. 애플리케이션 웹 사이트가 Azure로 마이그레이션되면 WCF 서비스 웹앱이 이 인스턴스를 가리킵니다.
  • 3단계: 데이터베이스 평가. Contoso는 Data Migration Assistant 사용하여 마이그레이션할 데이터베이스를 평가한 다음, Azure Database Migration Service를 통해 마이그레이션합니다.
  • 4단계: Azure DevOps 설정 Contoso는 새 Azure DevOps 프로젝트를 만들고 Git 리포지토리를 가져옵니다.
  • 5단계: 연결 문자열 구성. Contoso는 웹 계층 웹앱, WCF 서비스 웹앱 및 SQL 인스턴스가 통신할 수 있도록 연결 문자열 구성합니다.
  • 6단계: Azure DevOps에서 빌드 및 릴리스 파이프라인 설정. 마지막 단계로 Contoso는 Azure DevOps에서 빌드 및 릴리스 파이프라인을 설정하여 애플리케이션을 만든 다음 두 개의 별도 웹앱에 배포합니다.

1단계: 웹앱 평가 및 마이그레이션

Contoso 관리자는 Azure App Service Migration Assistant 도구를 사용하여 웹앱을 평가하고 마이그레이션합니다. 프로세스 중에 ASP.NET 애플리케이션을 Azure로 마이그레이션 학습 경로를 가이드로 사용합니다. 관리자는 다음을 수행합니다.

  • Azure App Service 마이그레이션 평가 도구를 사용하여 웹앱 간의 종속성을 평가하고 온-프레미스 웹앱과 Azure App Service에서 지원되는 항목 간에 비호환성이 있는지 확인합니다.

  • Azure App Service Migration Assistant를 다운로드하고 해당 Azure 계정에 로그인합니다.

  • 구독, 리소스 그룹 및 웹 사이트의 도메인 이름을 선택합니다.

2단계: Azure SQL Database에서 데이터베이스 프로비전

  1. Contoso 관리자는 Azure SQL Database 인스턴스를 만들기로 결정합니다.

    Screenshot showing the SQL Database link.

  2. 온-프레미스 VM에서 실행되는 데이터베이스와 일치하도록 데이터베이스 SmartHotel.Registration의 이름을 지정합니다. ContosoRG 리소스 그룹에 데이터베이스를 배치합니다. Azure의 프로덕션 리소스에 사용하는 리소스 그룹입니다.

    Screenshot showing SQL Database instance details.

  3. 주 지역에서 새 SQL Server 인스턴스 sql-smarthotel-eus2를 설정합니다.

    Screenshot of the new SQL Server instance.

  4. 해당 서버 및 데이터베이스 요구 사항과 일치하도록 가격 책정 계층을 설정합니다. 또한 SQL Server 라이선스가 이미 있으므로 Azure 하이브리드 혜택 비용을 절감하도록 선택합니다.

  5. 크기 조정을 위해 vCore 기반 구매를 사용하고 예상 요구 사항에 대한 제한을 설정합니다.

    Screenshot of the vCore sizing requirements.

  6. 데이터베이스 인스턴스를 만듭니다.

    Screenshot of creating a SQL Database instance.

  7. 데이터베이스를 열고 마이그레이션을 위해 Data Migration Assistant를 사용할 때 필요한 세부 정보를 확인합니다.

    Screenshot of the database instance text file.

더 많은 도움이 필요하세요?

3단계: 데이터베이스 평가

Contoso 관리자는 Data Migration Assistant를 사용하여 데이터베이스를 평가한 다음, 단계별 마이그레이션 자습서를 참조하여 Azure Database Migration Service를 사용하여 마이그레이션합니다. 온라인, 오프라인 및 하이브리드(미리 보기) 마이그레이션을 수행할 수 있습니다.

간단히 말해서 관리자는 다음을 수행합니다.

  • Data Migration Assistant를 사용하여 데이터베이스 마이그레이션 문제를 검색하고 해결합니다.
  • 가상 네트워크에 연결된 프리미엄 SKU를 사용하여 Azure Database Migration Service 인스턴스를 만듭니다.
  • 인스턴스가 가상 네트워크를 통해 원격 SQL Server에 액세스할 수 있는지 확인합니다. 이렇게 하면 들어오는 모든 포트가 Azure에서 가상 네트워크 수준의 SQL Server, 네트워크 VPN 및 SQL Server를 호스트하는 컴퓨터로 허용됩니다.
  • 인스턴스를 구성합니다.
    • 마이그레이션 프로젝트를 만듭니다.
    • 원본(온-프레미스 데이터베이스)를 추가합니다.
    • 대상을 선택합니다.
    • 마이그레이션할 데이터베이스를 선택합니다.
    • 고급 설정 구성.
    • 복제를 시작합니다.
    • 오류를 해결합니다.
    • 최종 컷오버를 수행합니다.

4단계: Azure DevOps 설정

Contoso는 애플리케이션에 대한 DevOps 인프라 및 파이프라인을 빌드해야 합니다. 이를 위해 Contoso 관리자는 새 DevOps 프로젝트를 만들고, 코드를 가져온 다음, 빌드 및 릴리스 파이프라인을 설정합니다.

  1. Contoso의 Azure DevOps 계정에서 새 프로젝트(ContosoSmartHotelRefactor)를 만든 다음, 버전 제어를 위해 Git를 선택합니다.

    Screenshot of creating a new project in Azure DevOps.

  2. 현재 애플리케이션 코드를 보유하고 있는 Git 리포지토리를 가져옵니다. 공용 GitHub 리포지토리에서 다운로드합니다.

    Screenshot of the Import a Git repository pane.

  3. Visual Studio를 리포지토리에 연결한 다음 팀 탐색기를 사용하여 코드를 개발자 컴퓨터에 복제합니다.

    Screenshot of the Connect to a Project pane.

  4. 애플리케이션에 대한 솔루션 파일을 엽니다. 웹앱과 WCF 서비스에는 파일 내 별도의 프로젝트가 있습니다.

    Screenshot of Solution Explorer, listing the web app and WCF service projects.

5단계: 연결 문자열 구성

Contoso 관리자는 웹앱과 데이터베이스가 서로 통신할 수 있는지 확인합니다. 이렇게 하려면 코드 및 웹앱에서 연결 문자열을 구성합니다.

  1. WCF 서비스의 SHWCF-EUS2 웹앱에서 설정>애플리케이션 설정 아래 DefaultConnection이라는 새 연결 문자열을 추가합니다.

  2. SmartHotel-Registration 데이터베이스에서 연결 문자열을 끌어온 다음 올바른 자격 증명으로 업데이트합니다.

    Screenshot of the connection string settings pane.

  3. Visual Studio에서 관리자는 솔루션 파일에서 SmartHotel.Registration.wcf 프로젝트를 엽니다. 프로젝트에서 web.config 파일의 connectionStrings 섹션을 연결 문자열로 업데이트합니다.

    Screenshot of the connectionStrings section of the web.config file in the SmartHotel.Registration.wcf project.

  4. SmartHotel.Registration.Web에 대한 web.config 파일의 client 섹션을 WCF 서비스의 새 위치를 가리키도록 변경합니다. 서비스 엔드포인트를 호스트하는 WCF 웹앱의 URL입니다.

    Screenshot of the client section of the web.config file in the SmartHotel.Registration.wcf project.

  5. 이제 코드가 변경되면 관리자는 Visual Studio에서 팀 탐색기를 사용하여 커밋하고 동기화합니다.

6단계: Azure DevOps에서 빌드 및 릴리스 파이프라인 설정

이제 Contoso 관리자는 빌드 및 릴리스 프로세스를 수행하도록 Azure DevOps 구성합니다.

  1. Azure DevOps에서 새 파이프라인 빌드 및 릴리스>를 선택합니다.

    Screenshot of the New pipeline link in Azure DevOps.

  2. Azure Repos Git을 선택하고 리포지토리 드롭다운 목록에서 관련 리포지토리를 선택합니다.

    Screenshot of the Azure Repos Git button and the selected repository.

  3. 템플릿 선택에서 빌드에 대한 ASP.NET 템플릿을 선택합니다.

    Screenshot of the Select a template pane for selecting the ASP.NET template.

  4. 빌드의 이름을 ContosoSmartHotelRefactor-ASP.NET-CI 사용한 다음 첫 번째 빌드를 시작하는 저장 및 큐를 선택합니다.

    Screenshot of the Save & Queue button for the build.

  5. 프로세스를 감시할 빌드 번호를 선택합니다. 완료되면 관리자는 프로세스 피드백을 볼 수 있으며 Artifacts를 선택하여 빌드 결과를 검토합니다.

    Screenshot of the build page and the Artifacts link for reviewing the build results.

    Artifacts 탐색기 창이 열리고 드롭 폴더에 빌드 결과가 표시됩니다.

    • 두 .zip 파일은 애플리케이션을 포함하는 패키지입니다.
    • 이러한 .zip 파일은 Azure App Service에 배포하기 위해 릴리스 파이프라인에 사용됩니다.

    Screenshot of the Artifacts explorer pane.

  6. 릴리스>+새 파이프라인을 선택합니다.

    New pipeline

  7. Azure 앱 서비스에 대한 배포 템플릿을 선택합니다.

    Screenshot of the Azure App Service deployment template.

  8. 릴리스 파이프라인 ContosoSmartHotel360Refactor의 이름을 지정하고 스테이지 이름 상자에서 WCF 웹앱의 이름으로 SHWCF-EUS2를 지정합니다.

    Screenshot of the stage name of the WCF web app.

  9. 단계에서는 WCF 서비스의 배포를 구성하기 위해 작업 1개, 작업 1개 중에서 선택합니다.

    Screenshot of the 1 job, 1 task option.

  10. 구독이 선택되고 권한이 부여되었는지 확인한 다음 , 앱 서비스 이름을 선택합니다.

    Screenshot of selecting the app service name.

  11. 파이프라인 >Artifacts에서 + 아티팩트 추가를 선택한 다음 ContosoSmarthotel360Refactor 파이프라인을 사용하여 빌드하도록 선택합니다.

    Screenshot of the Build button on the Add an artifact pane.

  12. 지속적인 배포 트리거를 사용하도록 설정하려면 관리자가 아티팩트에서 번개 아이콘을 선택합니다.

    Screenshot of the lightning bolt icon on the artifact.

  13. 지속적인 배포 트리거를 사용으로 설정합니다.

    Screenshot showing the continuous deployment trigger set to Enabled.

  14. 관리자는 1단계 작업, 작업 1로 돌아가서 Azure App Service 배포를 선택합니다.

    Screenshot of the option to select Deploy Azure App Service.

  15. 파일 또는 폴더 선택에서 드롭 폴더를 확장하고 빌드 중에 만든 SmartHotel.Registration.Wcf.zip 파일을 선택한 다음 저장을 선택합니다.

    Screenshot of the Select a file or folder pane for selecting the WCF file.

  16. 파이프라인>스테이지를 선택한 다음 SHWEB-EUS2에 대한 환경을 추가하도록 + 추가를 선택합니다. 그리고 다른 Azure App Service 배포를 선택합니다.

    Screenshot of the 1 job, 1 task link for adding an environment.

  17. 프로세스를 반복하여 SmartHotel.Registration.Web.zip 파일을 올바른 웹앱에 게시한 다음 저장을 선택합니다.

    Screenshot of the Select a file or folder pane for selecting the Web file.

    릴리스 파이프라인은 다음과 같이 표시됩니다.

    Screenshot of the release pipeline summary.

  18. 빌드로 돌아가서 트리거를 선택한 다음 지속 통합 사용 확인란을 선택합니다. 이 작업을 사용하면 변경 내용이 코드에 커밋될 때 전체 빌드 및 릴리스가 수행되도록 파이프라인을 사용할 수 있습니다.

    Screenshot highlighting the Enable continuous integration checkbox.

  19. 저장 및 큐를 선택하여 전체 파이프라인을 실행합니다. 새 빌드가 트리거되고, 그러면 Azure App Service에 대한 애플리케이션의 첫 번째 릴리스가 만들어집니다.

    Screenshot of the Save & Queue button.

  20. Contoso 관리자는 Azure DevOps에서 빌드 및 릴리스 파이프라인 프로세스를 따를 수 있습니다. 빌드가 완료되면 릴리스가 시작됩니다.

    Screenshot of the progress of build and release.

  21. 파이프라인이 완료되면 두 사이트가 모두 배포되고 애플리케이션이 온라인 상태로 실행됩니다.

    Screenshot showing that the application is up and running.

    애플리케이션이 Azure로 성공적으로 마이그레이션되었습니다.

마이그레이션 후 정리

마이그레이션 후 Contoso는 다음 정리 단계를 완료합니다.

  • vCenter 인벤토리에서 온-프레미스 VM을 제거합니다.
  • 로컬 백업 작업에서 VM을 제거합니다.
  • SmartHotel360 애플리케이션의 새 위치를 표시하도록 내부 설명서를 업데이트합니다. 이 설명서에서는 데이터베이스가 Azure SQL Database에서 실행 중이며 프런트 엔드는 두 개의 웹앱에서 실행되는 것으로 표시됩니다.
  • 서비스가 해제된 VM과 상호 작용하는 모든 리소스를 검토하고 새 구성을 반영하도록 관련 설정 또는 설명서를 업데이트합니다.

배포 검토

이제 리소스가 Azure로 마이그레이션되었으므로 Contoso는 완전히 작동하고 새 인프라를 보호해야 합니다.

보안

  • Contoso는 새 SmartHotel-Registration 데이터베이스가 안전한지 확인하는 데 도움이 됩니다. 자세히 알아보기.
  • 특히 Contoso는 인증서와 함께 SSL을 사용하도록 웹앱을 업데이트합니다.

백업

  • Contoso 팀은 Azure SQL Database에 대한 백업 요구 사항을 검토합니다. 자세히 알아보기.
  • 또한 SQL Database 백업 및 복원 관리에 대해서도 알아봅니다. 자동 작업에 대해 자세히 알아봅니다.
  • 데이터베이스에 대한 지역별 장애 조치(failover)를 제공하기 위해 장애 조치(failover) 그룹을 구현하는 것이 좋습니다. 자세히 알아보기.
  • 복원력을 위해 주 지역(East US 2) 및 보조 지역(Central US)에 웹앱을 배포하는 것이 좋습니다. 팀은 지역 가동 중단 중에 장애 조치(failover)를 보장하기 위해 Traffic Manager를 구성할 수 있습니다.

라이선스 및 비용 최적화

  • 모든 리소스가 배포된 후 Contoso는 인프라 계획에 따라 Azure 태그를 할당합니다.
  • 모든 라이선스는 Contoso가 사용하는 PaaS 서비스의 비용으로 빌드됩니다. 이 비용은 기업계약에서 공제됩니다.
  • Contoso는 Azure Cost Management + Billing을 사용하여 IT 리더가 설정한 예산 내에서 유지되도록 합니다.

결론

이 문서에서 Contoso는 애플리케이션 프런트 엔드 VM을 두 개의 Azure App Service 웹앱으로 마이그레이션하여 Azure에서 SmartHotel360 애플리케이션을 리팩터링했습니다. 애플리케이션 데이터베이스가 Azure SQL Database로 마이그레이션되었습니다.