일반 지침

이 콘텐츠는 eBook, 컨테이너화된 .NET 애플리케이션을 위한 .NET 마이크로 서비스 아키텍처에서 발췌한 것이며, .NET 문서에서 제공되거나 오프라인 상태에서도 읽을 수 있는 PDF(무료 다운로드 가능)로 제공됩니다.

.NET Microservices Architecture for Containerized .NET Applications eBook cover thumbnail.

이 섹션에서는 .NET Framework 또는 .NET 8을 선택하는 경우를 간략히 설명합니다. 이 선택에 대한 더 자세한 내용은 다음 섹션에서 설명합니다.

다음과 같은 상황에서는 컨테이너화된 Docker 서버 애플리케이션에 대해 .NET 8을 Linux 또는 Windows 컨테이너에 사용합니다.

  • 플랫폼 간 요구 사항이 있습니다. 예를 들어 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를 사용하면 배포 문제 최소화를 통해 배포 환경을 개선할 수 있습니다. 이러한 “이동 전환”(lift and shift) 시나리오는 원래 ASP.NET WebForms, MVC 웹앱 또는 WCF(Windows Communication Foundation) 서비스 같은 기존 .NET Framework로 개발된 레거시 애플리케이션을 컨테이너화하는 데 중요합니다.

추가 리소스