ASP.NET Core 및 Azure를 사용하여 최신 웹 애플리케이션 설계
이 문서를 읽기 전에 먼저 .NET
- 최신 웹앱 패턴에 대한 Microsoft의 권장 가이드입니다. 클라우드에서 웹앱을 현대화하는 방법에 대한 규범적 아키텍처, 코드 및 구성 지침을 제공합니다.
- GitHub 참조 구현: 모범 사례를 사용하는 프로덕션 수준의 웹앱을 제공합니다. Azure에서 Modern Web Apps를 빌드하기 위한 구체적인 예제를 포함합니다.
- 이 문서보다 최신 상태이며 적극적으로 업데이트됩니다.
EDITION v8.0 - ASP.NET Core 8.0으로 업데이트됨
책 업데이트와 커뮤니티 기여는 변경 로그을 참조하세요.
게시자:
Microsoft 개발자 부서, .NET 및 Visual Studio 제품 팀
Microsoft Corporation의 부서
One Microsoft Way
레드먼드, 워싱턴 98052-6399
Copyright © 2023 by Microsoft Corporation
모든 권한이 예약되어 있습니다. 이 책의 내용 중 어떤 부분도 출판사의 서면 허가 없이 어떤 형태로든 또는 어떤 방법으로든 재현하거나 전송할 수 없습니다.
이 책은 "as-is" 상태로 제공되며, 저자의 견해와 의견을 담고 있습니다. URL 및 기타 인터넷 웹 사이트 참조를 포함하여 이 책에 표현된 보기, 의견 및 정보는 예고 없이 변경될 수 있습니다.
여기에 설명된 몇 가지 예는 그림용으로만 제공되며 가상입니다. 실제 연관성 또는 연결은 의도된 것이 아니며 유추되어서도 안 됩니다.
Microsoft와 "상표" 웹 페이지의 https://www.microsoft.com 나열된 상표는 Microsoft 회사 그룹의 상표입니다.
Mac 및 macOS는 Apple Inc.의 상표입니다.
Docker whale 로고는 권한에 의해 사용되는 Docker, Inc.의 등록 상표입니다.
다른 모든 표시 및 로고는 해당 소유자의 속성입니다.
저자:
스티브 "아달리스" 스미스 - 소프트웨어 설계자 및 트레이너 - Ardalis.com
편집기:
마이라 웬젤
작업 링크
소개
.NET 8 및 ASP.NET Core는 기존 .NET 개발에 비해 몇 가지 이점을 제공합니다. 다음 중 일부 또는 전부가 애플리케이션의 성공에 중요한 경우 서버 애플리케이션에 .NET 8을 사용해야 합니다.
플랫폼 간 지원.
마이크로 서비스 사용.
Docker 컨테이너 사용.
고성능 및 확장성 요구 사항.
동일한 서버의 애플리케이션별 .NET 버전 병렬 버전 관리
기존의 .NET 4.x 앱은 이러한 많은 요구 사항을 지원할 수 있고 지원할 수 있지만 ASP.NET Core 및 .NET 8은 위의 시나리오에 대한 향상된 지원을 제공하도록 최적화되었습니다.
점점 더 많은 조직이 Microsoft Azure와 같은 서비스를 사용하여 클라우드에서 웹 애플리케이션을 호스트하도록 선택하고 있습니다. 애플리케이션 또는 조직에 다음이 중요한 경우 클라우드에서 애플리케이션을 호스팅하는 것이 좋습니다.
데이터 센터 비용(하드웨어, 소프트웨어, 공간, 유틸리티, 서버 관리 등)에 대한 투자 감소
유연한 가격 책정(유휴 용량이 아닌 사용량에 따라 지불).
극한의 안정성.
향상된 앱 이동성 앱을 배포하는 위치와 방법을 쉽게 변경할 수 있습니다.
유연한 용량; 실제 요구 사항에 따라 강화 또는 축소합니다.
Azure에서 호스팅되는 ASP.NET Core를 사용하여 웹 애플리케이션을 빌드하면 기존 대안보다 많은 경쟁 우위를 제공합니다. ASP.NET Core는 최신 웹 애플리케이션 개발 사례 및 클라우드 호스팅 시나리오에 최적화되어 있습니다. 이 가이드에서는 이러한 기능을 최대한 활용하도록 ASP.NET Core 애플리케이션을 설계하는 방법을 알아봅니다.
버전
이 가이드는 .NET 8.0 릴리스와 동시에 동일한 "웨이브"(즉, Azure 및 추가 타사 기술)와 관련된 많은 추가 업데이트와 함께 .NET 8.0 버전을 다루도록 수정되었습니다. 그래서 책 버전도 8.0버전으로 업데이트되었습니다.
목적
이 가이드에서는 ASP.NET Core 및 Azure를 사용하여 모놀리식 웹 애플리케이션을 빌드하는 방법에 대한 엔드투엔드 지침을 제공합니다. 이 컨텍스트에서 "모놀리식"은 이러한 애플리케이션이 상호 작용하는 서비스 및 애플리케이션의 컬렉션이 아니라 단일 단위로 배포된다는 사실을 나타냅니다. 일부 컨텍스트에서는 모놀리식
이 가이드는 ".NET 마이크로 서비스를 보완합니다. 컨테이너화된 .NET 애플리케이션아키텍처 ". 이 아키텍처는 엔터프라이즈 애플리케이션을 호스트하기 위한 Docker, 마이크로 서비스 및 컨테이너 배포에 더 중점을 둡니다.
.NET 마이크로 서비스. 컨테이너화된 .NET 애플리케이션에 대한 아키텍처
누가 이 가이드를 사용해야 하는가
이 가이드의 대상은 주로 클라우드에서 Microsoft 기술 및 서비스를 사용하여 최신 웹 애플리케이션을 빌드하는 데 관심이 있는 개발자, 개발 리더 및 설계자입니다.
보조 대상 그룹은 이미 익숙한 ASP.NET 또는 Azure에 익숙한 기술 의사 결정자이며 신규 또는 기존 프로젝트를 위해 ASP.NET Core로 업그레이드하는 것이 적합한지에 대한 정보를 찾고 있습니다.
이 가이드를 사용하는 방법
이 가이드는 최신 .NET 기술 및 Azure를 사용하여 웹 애플리케이션을 빌드하는 데 중점을 둔 비교적 작은 문서로 압축되었습니다. 따라서 이러한 애플리케이션 및 기술 고려 사항을 이해하는 기초를 제공하기 위해 전체적으로 읽을 수 있습니다. 이 가이드는 샘플 애플리케이션과 함께 시작점 또는 참조 역할을 할 수도 있습니다. 연결된 샘플 애플리케이션을 사용자 고유의 애플리케이션에 대한 템플릿으로 사용하거나 애플리케이션의 구성 요소 부분을 구성하는 방법을 확인합니다. 사용자 고유의 애플리케이션에 대해 이러한 선택 사항을 계량할 때 아키텍처 및 기술 옵션 및 의사 결정 고려 사항에 대한 가이드의 원칙과 적용 범위를 다시 참조하세요.
이러한 고려 사항과 기회를 공통적으로 이해할 수 있도록 이 가이드를 팀에 자유롭게 전달하세요. 모든 사용자가 일반적인 용어 집합 및 기본 원칙에서 작업하도록 하면 아키텍처 패턴 및 사례를 일관되게 적용하는 데 도움이 됩니다.
피드백 보내기
이 책 및 관련 샘플은 지속적으로 진화하고 있으므로 피드백을 환영합니다. 이 책을 개선할 수 있는 방법에 대한 의견이 있고 <learn.microsoft.com>이 책을 읽는 경우 페이지 아래쪽의 피드백 섹션을 사용하세요.
앞의 화면 캡처에서 강조 표시된 것처럼 피드백 섹션에서는 다음 사항에 대한 피드백을 제출할 수 있습니다.
- 이 제품: .NET 제품 피드백 양식을 사용합니다.
- 이 페이지: 페이지 세부 정보를 담아 GitHub 이슈 템플릿을 사용하여 작성
이 책을 PDF로 읽는 경우 새 .NET Docs: GitHub 이슈를 만들거나 .NET 아키텍처 eBooks: GitHub 이슈 템플릿을 사용하여 피드백을 제출할 수 있습니다.
참고 문헌
-
서버 앱용 .NET 및 .NET Framework 중에서 선택
https://learn.microsoft.com/dotnet/standard/choosing-core-framework-server
.NET