Visual Studio를 사용한 Azure 개발
클라우드 서비스를 사용하여 구현해야 하는 많은 문제를 처리하는 경우 애플리케이션 개발이 더 쉬울 수 있습니다. Azure 클라우드에서 호스트되는 클라우드 서비스를 사용하는 경우 Microsoft에서 관리하는 안정적이고 고가용성 클라우드 환경을 사용하여 많은 앱 및 서비스에 필요한 인프라를 대부분 처리하므로 애플리케이션에 고유한 항목에 개발 노력을 집중할 수 있습니다.
이 문서에서는 웹 사이트를 가동 및 실행하든, 스토리지, 데이터베이스, 비밀 관리와 같은 서비스에 연결하든, 캐싱과 같은 가치를 추가하는 서비스를 사용하든 Visual Studio가 Azure 개발에 도움이 되는 방법에 대해 알아봅니다.
많은 Visual Studio 구독에는 Azure 개별 개발/테스트 크레딧포함됩니다. Visual Studio 구독자인 경우 이러한 크레딧을 사용하여 다양한 Azure 서비스를 비용 없이 사용해 볼 수 있습니다. 구독자가 아니고 Azure 구독이 없는 경우 무료 계정을 만들 수있습니다.
제한된 인프라를 오버로드하는 대신 Azure에서 웹앱을 호스트하고 동적으로 확장하여 더 많은 수의 동시 사용자를 제공할 수 있습니다. Azure에서 호스팅하면 Azure 플랫폼에서 제공하는 다양한 서비스 에코시스템을 활용할 수 있습니다. App Service와 같은 다양한 서비스 또는 컨테이너화된 앱인 Azure Container Apps를 사용하여 앱을 보다 쉽게 관리할 수 있습니다.
온-프레미스 앱의 경우 Azure에 연결하여 Blob 스토리지, Azure에서 호스트되는 데이터베이스, App Insights를 통한 모니터링, ID 관리 등과 같은 특정 Azure 서비스의 이점을 얻을 수 있습니다.
Visual Studio에는 Azure 서비스에 연결하거나 Azure에 배포되고 Azure 클라우드에서 호스트되는 애플리케이션을 훨씬 쉽게 개발할 수 있는 많은 기능이 있습니다. Visual Studio는 초기 개발 단계에서 서비스에 쉽게 연결할 수 있도록 하는 메커니즘을 제공하고, 애플리케이션을 Azure에 쉽게 게시하거나 배포할 수 있도록 하고, 로컬 컴퓨터의 Visual Studio 디버거를 사용하여 Azure 애플리케이션에 연결할 수 있으므로 클라우드 애플리케이션에 대한 디버깅 환경은 로컬 디버깅만큼 쉽습니다.
지원되는 기술 및 언어
Visual Studio를 사용하면 Azure 클라우드에서 실행되는 앱을 개발하고 온-프레미스, 데스크톱 및 모바일 앱에서 Azure 서비스에 연결할 수 있습니다. Visual Studio는 Windows 개발자가 .NET 및 ASP.NET 애플리케이션을 Azure 서비스에 연결할 수 있는 가장 완전한 기능의 완벽한 환경입니다. Visual Studio는 Azure CLI를 사용하여 Azure에 배포할 수 있는 웹 사이트 및 웹 애플리케이션을 만드는 데 사용할 수 있는 Node.js 및 Python과 같은 다른 기술 스택의 개발도 지원합니다.
C++ 개발자는 C++ 클라이언트 라이브러리를 사용하여 Azure Storage와 같은 Azure 서비스에 액세스할 수 있으며, C 및 C++를 사용하는 IoT 디바이스 개발자는 디바이스와 서비스를 Azure에 연결할 수 있습니다. Visual C++ 클라우드 및 웹 프로그래밍을 참조하세요.
이전의 여러 릴리스에서 Visual Studio에서 지원되는 Azure Cloud Services 사용자는 Azure Cloud Services(추가 지원) 사용하여 Visual Studio에서 이러한 서비스를 계속 사용할 수 있습니다.
Azure 서비스에 연결
애플리케이션에서 Azure 서비스를 사용하려면 일반적으로 패키지 참조, 코드 변경 및 구성 변경과 같은 프로젝트에 대한 여러 변경 내용과 연결할 서비스를 지정하거나 아직 없는 경우 만들려는 Azure의 많은 변경 내용이 필요합니다. Visual Studio는 사용자가 제공한 정보에 따라 프로젝트 및 Azure에서 이러한 변경을 수행하여 이 프로세스를 더 쉽게 만들 수 있도록 지원합니다. 또한 Visual Studio는 모든 변경 내용 목록을 제공하므로 변경 내용을 검사하고 변경 내용을 완전히 이해할 수 있습니다.
Visual Studio 연결된 서비스 프로젝트(웹 및 온-프레미스)를 Azure 서비스에 연결하는 데 사용할 수 있는 단계별 마법사의 이름입니다. Visual Studio 연결된 서비스 대한Visual Studio에서 연결하고 관리할 수 있는 Azure 서비스에 대해 자세히 알아보세요.
연결된 서비스 마법사를 진행하는 동안 Visual Studio IDE에서 필요한 모든 Azure 작업을 바로 수행할 수 있습니다. Azure Portal사용하는 대신 Azure에서 리소스를 프로비전하고, 리소스 그룹을 만들고, Azure 리소스를 찾아보고 보고, 애플리케이션 및 서비스를 배포할 수 있습니다. 프로젝트가 Azure 서비스에 연결되거나 배포되면 연결된 서비스 탭에 리소스에 대한 정보가 표시되고 배포에 대한 편리한 링크가 포함됩니다. Visual Studio Azure로작업을 참조하세요.
Azure 클라우드에 애플리케이션 배포
Visual Studio를 사용하면 단추를 클릭하여 요청 시 Azure에 애플리케이션을 배포할 수 있습니다. 이러한 편의성은 CI/CD가 아직 구성되지 않은 개발 및 테스트 중에 유용합니다. CI/CD(CI/CD(지속적인 통합 및 지속적인 업데이트)는 개발 팀이 애플리케이션 코드에 대한 로컬 변경 내용을 배포된 서비스를 중단하지 않고 Azure에서 실행되는 배포된 애플리케이션에 자동으로 통합되는 시스템입니다. Azure Pipelines 사용하거나 GitHub Actions 이를 설정할 수 있습니다.
무엇을 배포하고 있나요?
배포 대상 | 문서 |
---|---|
Azure App Service(.NET Core) | ASP.NET Core 웹앱 배포 |
Azure App Service(.NET Framework) | ASP.NET 웹앱(.NET Framework) 배포 |
Azure Container Apps (Azure 컨테이너 애플리케이션) | Visual Studio 사용하여 Azure Container Apps에 배포 |
Azure Functions | Visual Studio 사용하여 Azure에서 첫 번째 C# 함수 만들기 |
Azure Container Registry | Visual Studio 사용하여 컨테이너 레지스트리에 ASP.NET 컨테이너 배포 |
GitHub 리포지토리에 대한 CI/CD를 처음으로 구성하는 데 도움이 필요한 경우 Visual Studio에서 GitHub Action 시작 워크플로를 시작하는 데 도움이 될 수 있습니다. 에서 자세히 알아보기. Visual Studio이 만든 GitHub Actions 워크플로를 사용하여 Azure에 애플리케이션을 배포하세요. Azure에 배포하기 위한 CI/CD 설정에 대해 자세히 알아보십시오. Azure App Service로의 연속 배포.
.NET 포부
.NET Aspire 관찰 가능한 클라우드 기반 앱의 서비스 및 구성 요소를 오케스트레이션하기 위한 인프라를 제공합니다. 관찰 가능한 앱은 실행하는 동안 실시간으로 철저히 모니터링되도록 설정된 앱입니다. .NET Aspire는 여러 서비스, 데이터베이스 및 기타 종속성을 구성하고 조정하는 수단으로 개발 중에 특히 관련이 있습니다.
Visual Studio 17.9 이상에서는 ASP.NET 및 웹 개발 및 Azure 개발 워크로드가 설치되어 있으며 .NET Aspire SDK 포함하며 .NET Aspire에 프로젝트 템플릿을 제공합니다.
ASP.NET Core 프로젝트에는 프로젝트 생성 시 Aspire 오케스트레이션에 등록하는 옵션이 포함되어 있으며, 솔루션 탐색기의 콘텍스트 메뉴 항목 >NET Aspire Orchestrator 지원을(를) 사용하여 프로젝트를 Aspire 오케스트레이션에 등록할 수 있습니다. 이러한 작업은 이미 없는 한 솔루션에 Aspire 오케스트레이션 프로젝트(AppHost 및 ServiceDefaults)를 추가합니다. Visual Studio 17.13 이상에서는 이 기능이 Azure Functions 프로젝트에도 지원됩니다. 자세한 내용은 .NET Aspire 도구 참조하세요.
Visual Studio를 사용하여 Azure에서 디버그
Azure에서 실행되는 동안 Visual Studio 디버그를 사용하여 프로덕션 환경에 최대한 가까운 환경에서 문제를 식별하고 재현할 수 있습니다. Azure App Service에 호스팅된 웹앱의 경우 Azure App Service에서 ASP.NET Core 원격 디버그을 참조하세요. Azure Functions의 경우 Visual Studio - 원격 디버깅 사용하여 Azure Functions 개발참조하세요.
VM(가상 머신)을 사용하여 ASP.NET Core 웹앱을 호스트하는 경우, Visual Studio에서 Azure VM을 사용하여 IIS(인터넷 정보 서비스)에서 ASP.NET Core를 원격 디버깅하는 방법에 대한 내용을 참조하십시오.
통합 Azure 기능 사용
Azure 클라우드에서 실행하는 경우 앱은 고가용성을 위한 Azure 표준, 확장 및 기능 확장, 모니터링 , 부하 테스트및 기타 이점을 활용할 수 있습니다. Visual Studio는 원격 디버깅, 로그 보기 등과 같은 Azure 기능과 통합됩니다.
로컬 에뮬레이션 지원을 사용하여 비용 절감
개발 단계에서는 편의성과 비용 절감을 위해 Azure 서비스의 로컬 에뮬레이터를 실험하고 개발하고 나중에 Azure에 배포할 수 있습니다. 로컬 및 연결된 구성자세히 알아보세요.
Docker 지원
Docker를 사용하여 앱과 서비스를 컨테이너화할 수도 있습니다. Docker 컨테이너를 사용하면 실행 중인 애플리케이션에 일관되고 재현 가능한 운영 체제 및 환경을 제공합니다. Visual Studio는 컨테이너를디버깅할 때와 동일한 친숙한 환경을 제공하고, 로컬로 컨테이너의 수명 주기를 모니터링하고 관리할있으며, 컨테이너 레지스트리 컨테이너를배포할 수 있습니다.
앱을 컨테이너화한 후에는 Azure App Service 또는 Azure Container Apps 같은 서비스를 사용하여 Azure에 컨테이너를 쉽게 배포할 수 있습니다.
Azure Storage 및 데이터베이스 서비스에 앱 연결
클라우드의 다양한 데이터 개체에 대해 고가용성, 대규모 확장성, 내구성 및 보안 스토리지인 Azure Storage를 사용하면 파일 및 데이터 관리가 훨씬 쉬워질 수 있습니다. Azure Storage를 사용하여 모든 항목을 저장하고 웹 사이트, 데스크톱 앱 또는 모바일 앱에서 사용할 수 있도록 할 수 있습니다.
또한 Azure는 온-프레미스 SQL Server에서 가장 큰 요구 사항으로 확장할 수 있는 빅 데이터 솔루션으로 쉽게 전환할 수 있는 클라우드 호스팅 SQL Database에서 다양한 요구 사항에 적합한 다양한 데이터 서비스를 제공합니다.
Azure Storage에 연결
- Blob 저장 및 검색
- 파일 관리
- 큐를 사용하여 메시징 구현
- 구조적 NoSQL 데이터 관리
Azure Storage 에 대해 자세히 알아보고, Visual Studio를 사용하여 Azure Storage에 연결하는 방법을 배우세요.
데이터베이스에 연결
Azure SQL Database 및 azure Cosmos DB 같은 다른 Azure 데이터베이스 제품에 연결하는 것은 로컬 SQL Server연결하는 것만큼 쉽습니다. 자세한 내용은 데이터베이스 및 데이터 공급자참조하세요.
웹 및 데이터 서비스에 연결
데이터 공급자는 OData(Open Data Protocol) 및 gRPC와 같은 표준 프로토콜을 통해 서비스를 사용할 수 있도록 하고 있습니다. 이러한 서비스에 연결하거나 웹 서비스를 직접 만드는 경우 ASP.NET Web API, Azure Functions 또는 Azure API Management를 선택하고 해당 연결을 추가할 수 있습니다. 지원되는 서비스 및 프로토콜 목록과 연결 방법에 대한 자세한 내용은 gRPC, OpenAPI, 및 WCF 엔드포인트에 앱을 연결하기를 참조하세요.
웹 애플리케이션 ASP.NET
Visual Studio에서 Azure용 ASP.NET 웹 애플리케이션을 개발하기 위한 개요 참조하세요.
기타 웹 애플리케이션 기술
JavaScript 및 Python을 사용하는 개발자는 Azure 개발을 위해 Visual Studio 또는 Visual Studio Code 사용할 수 있습니다. 두 개발 환경 중 하나를 사용하여 Azure CLI 설치하고 Azure CLI 설명서의 자습서를 따르고, 연결 코드를 수동으로 추가하는 데 도움이 되는 모든 Azure 서비스에 대한 설명서의 빠른 시작 및 자습서를 찾을 수 있습니다.
Node.js 서버 쪽 JavaScript를 사용하여 웹 애플리케이션을 개발하기 위한 또 다른 옵션을 제공합니다. JavaScript 개발자용 Azure란? Azure Node.js 웹앱 배포를 시작하세요.
Python은 점점 더 많이 사용되는 언어로, 웹 프레임워크 Django 및 Flask를 사용할 때 웹 애플리케이션을 개발하는 또 다른 방법입니다. Azure에서 Python 시작하기 을(를) 참조하세요.
권장되는 Azure 서비스
이 섹션은 Azure 서비스가 유용할 수 있는 방법을 알아보는 데 도움이 될 수 있습니다. 먼저 Visual Studio를 개발 도구로 사용하여 각 서비스를 시작하는 방법을 보여 주는 빠른 시작을 진행합니다. 이러한 링크는 Visual Studio 사용자(사용 가능한 경우)를 위한 페이지에서 시작하여 각 Azure 서비스에 대한 설명서로 이동합니다.
Azure 서비스가 요구 사항에 가장 적합한지 잘 모르는 경우, Azure App Service을 시도해 보세요.
트리거 특정 조건이 발생할 때 코드를 실행하도록 설정한 이벤트입니다. 타이머에 따라 예약하거나, 큐의 메시지, 다른 Azure 서비스 내의 이벤트, 또는 웹 후크에 응답하도록 설정할 수 있습니다. 트리거가 필요한 경우 Azure Functions.
쉬운 컨테이너가 필요한 경우 Azure Container Apps을 사용해 보세요.
고급 컨테이너가 필요한 경우 Azure Kubernetes Service사용해 보세요.
API에 대한 추가적인 제어 기능을 원하신다면, Azure API Management 을 사용해 보세요..
여러 개의 긴 클라이언트 연결을 지원하려면 Azure SignalR Service을(를) 사용해 보세요.
복잡한 분산 앱을 개발하고 여러 서비스 간에 오케스트레이션이 필요한 경우 .NET Aspire을 시도하세요.
다음 단계
Azure 서비스 관심이 있을 수 있는 Azure 서비스에 대해 자세히 알아봅니다.
관련 콘텐츠
Azure 개발을 위한 아키텍처 조언을 Azure 아키텍처 센터 에서 가져옵니다.
레거시 Azure Cloud Services에 대한 작업은 Azure Cloud Services - 확장 지원참조하세요.