팁 (조언)
이 콘텐츠는 .NET Docs 또는 오프라인으로 읽을 수 있는 다운로드 가능한 무료 PDF로 제공되는 컨테이너화된 .NET 애플리케이션용 .NET 마이크로 서비스 아키텍처인 eBook에서 발췌한 내용입니다.
이 섹션에서는 .NET 8 또는 .NET Framework를 선택하는 경우에 대한 요약을 제공합니다. 다음 섹션에서 이러한 선택에 대한 자세한 내용을 제공합니다.
다음과 같은 경우 컨테이너화된 Docker 서버 애플리케이션에 대해 Linux 또는 Windows 컨테이너와 함께 .NET 8을 사용합니다.
플랫폼 간 요구 사항이 있습니다. 예를 들어 Linux 및 Windows 컨테이너를 모두 사용하려고 합니다.
애플리케이션 아키텍처는 마이크로 서비스를 기반으로 합니다.
비용을 낮추기 위해 컨테이너를 빠르게 시작하고 더 나은 밀도를 달성하거나 하드웨어 단위당 더 많은 컨테이너를 달성하기 위해 컨테이너당 작은 공간을 필요로 합니다.
즉, 컨테이너화된 새 .NET 애플리케이션을 만들 때 .NET 8을 기본 선택 항목으로 고려해야 합니다. 그것은 많은 이점을 가지고 있으며, 작업의 컨테이너 철학과 스타일에 가장 적합합니다.
.NET 8을 사용할 경우의 추가 이점은 동일한 컴퓨터 내의 애플리케이션에 대해 병렬 .NET 버전을 실행할 수 있다는 것입니다. 컨테이너는 앱에 필요한 .NET 버전을 격리하므로 컨테이너를 사용하지 않는 서버 또는 VM의 경우 이 이점이 더 중요합니다. (기본 OS와 호환되는 한)
다음과 같은 경우 컨테이너화된 Docker 서버 애플리케이션에 .NET Framework를 사용합니다.
애플리케이션은 현재 .NET Framework를 사용하며 Windows에 대한 강력한 종속성을 가지고 있습니다.
.NET 8에서 지원되지 않는 Windows API를 사용해야 합니다.
.NET 8에 사용할 수 없는 타사 .NET 라이브러리 또는 NuGet 패키지를 사용해야 합니다.
Docker에서 .NET Framework를 사용하면 배포 문제를 최소화하여 배포 환경을 개선할 수 있습니다. 이 "리프트 앤 시프트" 시나리오 는 ASP.NET WebForms, MVC 웹앱 또는 WCF(Windows Communication Foundation) 서비스와 같이 원래 기존 .NET Framework를 사용하여 개발된 레거시 애플리케이션을 컨테이너화하는 데 중요합니다.
추가 리소스
전자책: Azure 및 Windows 컨테이너를 사용하여 기존 .NET Framework 애플리케이션 현대화
https://aka.ms/liftandshiftwithcontainersebook샘플 앱: Windows 컨테이너를 사용하여 레거시 ASP.NET 웹앱 현대화
https://aka.ms/eshopmodernizing
.NET