ASP.NET 앱 마이그레이션이란?

완료됨

ASP.NET 애플리케이션 및 지원 데이터 플랫폼을 온라인 환경으로 현대화하는 경우 다음과 같은 여러 가지 질문이 제기될 수 있습니다.

  • 어떤 문제가 해결되나요?

  • 애플리케이션의 아키텍처를 변경해야 하나요?

  • 마이그레이션 및 호스트 비용은 얼마나 되나요?

  • 애플리케이션의 가동 중지 시간은 얼마나 되나요?

클라우드 호스팅 솔루션으로의 마이그레이션을 고려하는 시점에 도달한 경우 클라우드 호스팅 옵션의 여러 측면을 활용하려는 것일 수 있습니다. 많은 조직은 클라우드 호스팅 솔루션이 제공하는 성능상 이점, 확장성, 비용 절감을 활용하려고 합니다.

마이그레이션 프로세스를 시작하기 전에 기존 환경을 평가하여 보안, 비용 및 전환 가동 중지 시간과 같은 요인에 대한 요구 사항 및 고려 사항을 더 잘 이해해야 합니다. Microsoft에서는 마이그레이션 프로세스를 시작하기 전에 마이그레이션을 평가하는 데 도움이 되는 다양한 도구를 제공합니다.

Azure 호스팅 옵션

Microsoft는 현재 세 가지 기본 호스팅 서비스 옵션을 제공합니다. IaaS(Infrastructure as a Service), PaaS(Platform as a Service) 또는 SaaS(Software as a Service) 중에서 선택할 수 있습니다. 옵션은 하드웨어 및 소프트웨어와 관련된 책임에 따라 구분됩니다. 여기 나온 호스팅 서비스 그래픽에는 핵심 사항이 강조 표시되어 있습니다.

Diagram of hosting responsibilities for an on-premises model as compared to IaaS, PaaS, and SaaS.

온-프레미스

짐작할 수 있듯이 온-프레미스 모델에서는 모든 관리 책임이 조직에 있습니다. 모든 하드웨어 및 소프트웨어를 획득하고 설치할 책임이 있습니다. 서버 및 호스트된 애플리케이션에 대한 네트워킹 및 보안을 설정하고 제어합니다. 또한 업데이트, 패치 및 라이선스도 담당합니다.

IaaS

IaaS 모델을 사용하면 일부 책임을 호스팅 공급자에게 돌리도록 선택할 수 있습니다. 애플리케이션, 런타임, 보안 및 데이터베이스 시스템의 데이터를 관리할 책임은 여전히 고객에게 있습니다. 이 모델에서는 IT 인프라를 대여받게 됩니다. 이 모델은 OS(운영 체제), 소프트웨어, 데이터가 포함된 VM(가상 머신)을 사용합니다. 운영 체제, 애플리케이션, 데이터를 제공하고 유지 관리할 책임은 여전히 고객에게 있습니다. 운영 체제의 패치와 업데이트도 설치해야 합니다.

VM은 컴퓨터 시스템의 하드웨어 및 OS 환경의 에뮬레이션입니다. 예를 들어 하드웨어 구성과 설치할 OS를 지정하여 Azure에서 VM을 만들 수 있습니다. 구성이 완료되고 VM이 배포 및 시작된 후에는 해당 VM에 로그인하여 물리적 컴퓨터와 동일한 방식으로 상호 작용할 수 있습니다. 소프트웨어를 설치하고 필요에 따라 OS 측면을 구성할 수 있습니다. VM을 사용하면 호환성 요구 사항이나 기타 이유에 부합하는 다양한 운영 체제와 버전을 호스트할 수 있습니다. Azure는 Windows 및 Linux 운영 체제를 호스트하는 VM을 지원합니다.

애플리케이션이 PaaS 서비스에서 제공하지 않는 소유 소프트웨어를 사용하는 경우 이 모델을 선택해야 할 수 있습니다. IaaS를 사용하면 애플리케이션용 소프트웨어 구성이 있는 온-프레미스 VM을 사용할 수 있습니다. 가상 머신의 스냅샷 가져와서 "다시 호스트"하거나 클라우드로 이동할 수 있습니다.

다양한 이유로 IaaS를 선택해야 할 수 있습니다. 보다 일반적인 이유 중 세 가지는 다음과 같습니다.

  • 보안: 회사에서 데이터와 관련된 특정 보안 관행과 정책을 준수해야 할 수 있습니다.
  • 제어: 회사가 소프트웨어 및 OS 구성 환경을 더 세부적으로 제어하려고 할 수 있습니다.
  • 정책: 회사에 호스팅 옵션을 제한하는 다른 정책이 있거나 공급업체 또는 기타 기술 “종속(lock-in)”에 따른 반대가 있을 수 있습니다. VM을 사용하면 VM 디스크(.vhd 파일)를 다른 클라우드 공급자로 이동하거나 필요할 경우 온-프레미스로 다시 보낼 수 있습니다.

PaaS

IaaS 옵션이 흔히 애플리케이션을 클라우드 호스팅 환경으로 이동하는 가장 빠르고 쉬운 방법이지만 PaaS는 더 많은 이점을 제공합니다. PaaS를 사용하면 시스템 소프트웨어, OS, 하드웨어 등을 유지 관리할 책임이 호스팅 공급자에게 있습니다. 애플리케이션에 대한 책임이 있습니다. PaaS는 애플리케이션을 지원하는 데이터를 위한 데이터베이스 서버를 제공합니다.

이 모듈의 시나리오에서 애플리케이션은 ASP.NET 앱이며 온-프레미스 SQL Server 데이터베이스에 있는 데이터입니다. 이 데이터를 SQL Azure 데이터베이스 인스턴스로 마이그레이션합니다. 호스팅 공급자는 SQL Azure 데이터베이스와 그 보안을 관리합니다.

이 모듈에서는 ASP.NET 앱 및 SQL Server 데이터베이스를 IaaS 솔루션으로 마이그레이션하는 과정의 다양한 측면을 평가합니다. 여기에는 ASP.NET 애플리케이션을 위한 Azure App Service 사용 및 현재 온-프레미스 SQL Server 데이터를 호스팅하기 위한 Azure SQL Database에 대한 고려 사항이 포함됩니다. 그러려면 앱의 리팩터링이나 다시 빌드가 필요할 수 있습니다.

SaaS

SaaS 옵션은 이 모듈의 시나리오와 관련이 없습니다. Office 365 또는 Microsoft Dynamics 365와 같은 SaaS 솔루션을 생각해 보세요. 이 경우 기본적으로 소프트웨어를 “대여받는” 것입니다. SaaS를 사용하는 경우 기존 애플리케이션을 교체합니다. 애플리케이션이 사용자 지정 앱인 경우 SaaS를 선택할 이유가 거의 없습니다.