Visual Studio를 사용한 Azure 개발

클라우드 서비스를 사용하여 구현해야 하는 많은 문제를 처리하면 애플리케이션 개발이 더 쉬워질 수 있습니다. Azure 클라우드에서 호스팅되는 클라우드 서비스를 사용하면 Microsoft에서 관리하는 안정적이고 가용성이 높은 클라우드 환경을 사용하여 많은 앱과 서비스가 필요로 하는 인프라의 대부분을 처리하므로 애플리케이션 고유의 기능에 개발 노력을 집중할 수 있습니다.

이 문서에서는 웹 사이트를 시작하고 실행하거나, 스토리지, 데이터베이스, 비밀 관리와 같은 서비스에 연결하거나, 캐싱과 같은 가치를 더하는 서비스를 사용하는 등 Visual Studio가 Azure 개발에 어떤 도움을 줄 수 있는지 알아봅니다.

많은 Visual Studio 구독에는 Azure 개별 개발/테스트 크레딧이 포함되어 있습니다. Visual Studio 구독자라면 이 크레딧을 사용하여 다양한 Azure 서비스를 무료로 체험해 볼 수 있습니다. 구독자가 아니며 Azure 구독이 없는 경우 무료 계정을 만들 수 있습니다.

Azure에서 웹 앱을 호스팅하고 동적으로 확장하여 제한된 인프라에 과부하를 주는 대신 더 많은 수의 동시 사용자에게 서비스를 제공할 수 있습니다. Azure에서 호스팅하면 Azure 플랫폼이 제공하는 풍부한 서비스 에코시스템을 활용할 수 있습니다. App Service와 같은 다양한 서비스 또는 컨테이너화된 앱의 경우 Azure 컨테이너 앱을 사용하여 앱을 더 쉽게 관리할 수 있습니다.

온-프레미스 앱의 경우 Azure에 연결하여 블롭 저장소, Azure에서 호스팅되는 데이터베이스, 앱 인사이트를 통한 모니터링, 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 스토리지와 같은 Azure 서비스에 액세스할 수 있으며, C 및 C++를 사용하는 IoT 디바이스 개발자는 디바이스 및 서비스를 Azure에 연결할 수 있습니다. Visual C++로 클라우드 및 웹 프로그래밍를 참조하세요.

이전 릴리스부터 Visual Studio에서 지원되는 Azure 클라우드 서비스 사용자는 Azure 클라우드 서비스(확장 지원)를 사용하여 Visual Studio에서 이러한 서비스로 계속 작업할 수 있습니다.

Azure 서비스에 연결

애플리케이션에서 Azure 서비스를 사용하려면 일반적으로 패키지 참조, 코드 변경, 구성 변경 등 프로젝트를 여러 번 변경해야 할 뿐만 아니라 연결할 서비스를 지정하거나 아직 없는 경우 생성하기 위해 Azure에서 많은 변경이 필요합니다. Visual Studio는 사용자가 제공한 정보에 따라 프로젝트와 Azure에서 이러한 변경을 수행하여 이 프로세스를 더 쉽게 수행할 수 있도록 도와줍니다. 또한 Visual Studio는 모든 변경 사항의 목록을 제공하므로 이를 검토하고 변경 사항을 완전히 이해할 수 있습니다.

Visual Studio 연결된 서비스는 프로젝트(웹 및 온-프레미스)를 Azure 서비스에 연결하는 데 사용할 수 있는 단계별 마법사의 이름입니다. Visual Studio에서 연결하고 관리할 수 있는 Azure 서비스에 대한 자세한 내용은 Visual Studio 연결 서비스 정보에서 확인하세요.

연결된 서비스 마법사를 진행하면서 필요한 모든 Azure 작업을 Visual Studio IDE에서 바로 수행할 수 있습니다. Azure 포털을 사용하는 대신 Azure에서 리소스를 프로비전하고, 리소스 그룹을 만들고, Azure 리소스를 찾아보고, 애플리케이션 및 서비스를 배포할 수 있습니다. 프로젝트가 Azure 서비스에 연결되거나 배포되면 연결된 서비스 탭에 리소스에 대한 정보가 표시되고 배포에 대한 편리한 링크가 포함되어 있습니다. Visual Studio에서 Azure로 작업하기를 참조하세요.

Azure 클라우드에 애플리케이션 배포

Visual Studio를 사용하면 버튼 클릭 한 번으로 온디맨드 방식으로 애플리케이션을 Azure에 배포할 수 있습니다. 이러한 편의성은 CI/CD가 아직 구성되지 않았을 수 있는 개발 및 테스트 중에 매우 유용합니다. CI/CD(지속적 통합 및 지속적 배포(CI/CD))는 개발 팀이 애플리케이션 코드를 로컬에서 변경하면 배포된 서비스를 중단하지 않고 Azure에서 실행 중인 배포된 애플리케이션에 자동으로 통합되는 시스템입니다. Azure 파이프라인 또는 GitHub 동작을 사용하여 설정할 수 있습니다.

무엇을 배포하고 있나요?

배포 대상 설명서
Azure 앱 서비스(.NET Core) ASP.NET Core 웹앱 배포
Azure 앱 서비스(.NET Framework) ASP.NET 웹 앱 배포(.NET Framework)
Azure Container Apps Visual Studio를 사용하여 Azure Container Apps에 배포
Azure 기능 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에 연속 배포에서 확인하세요.

Visual Studio를 사용하여 Azure에서 디버그

애플리케이션이 Azure에서 실행되는 동안 Visual Studio 디버그를 사용하여 프로덕션 환경과 최대한 유사한 환경에서 문제를 식별하고 재현할 수 있습니다. Azure App Service에서 호스팅되는 웹 앱에 대한 자세한 내용은 Azure App Service에서 원격으로 ASP.NET Core 디버그를 참조하세요. Azure 함수에 대해서는 Visual Studio를 사용하여 Azure 함수 개발 - 원격 디버깅를 참조하세요.

가상 머신(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 데이터베이스부터 최대 요구 사항까지 확장할 수 있는 빅 데이터 솔루션까지 다양한 요구 사항에 적합한 다양한 데이터 서비스를 제공합니다.

Azure Storage에 연결

  • 블롭 저장 및 검색
  • 파일 관리
  • 대기열을 사용하여 메시징 구현하기
  • 구조화된 NoSQL 데이터 관리

Azure Storage에서 자세히 알아보고 Visual Studio를 사용하여 Azure Storage에 연결하는 방법을 알아보세요.

데이터베이스에 연결

Azure SQL DatabaseAzure Cosmos DB와 같은 다른 Azure 데이터베이스 제품에 연결하는 것은 로컬 SQL Server에 연결하는 것만큼 쉽습니다. 자세한 내용은 데이터베이스 및 데이터 공급자를 참조하세요.

웹 및 데이터 서비스에 연결

데이터 제공업체는 OData(Open Data Protocol) 및 gRPC와 같은 표준 프로토콜을 통해 서비스를 제공하고 있습니다. 이러한 서비스에 연결하거나 웹 서비스를 직접 만드는 경우 ASP.NET Web API, Azure 함수 또는 Azure API 관리를 선택하고 해당 연결을 추가할 수 있습니다. 지원되는 서비스 및 프로토콜 목록과 연결 방법은 앱을 gRPC, OpenAPI 및 WCF 엔드포인트에 연결하기를 참조하세요.

ASP .NET 웹 애플리케이션

Visual Studio를 사용한 Azure용 ASP.NET 웹 애플리케이션 개발 개요를 참조하세요.

기타 웹 애플리케이션 기술

JavaScript 및 Python을 사용하는 개발자는 Visual Studio 또는 Visual Studio Code를 사용하여 Azure 개발을 수행할 수 있습니다. 두 개발 환경 중 하나를 사용하여 Azure CLI를 설치하고 Azure CLI 설명서의 자습서를 따르고, 모든 Azure 서비스의 설명서에서 연결 코드를 수동으로 추가하는 데 도움이 되는 빠른 시작 및 자습서를 찾아보세요.

Node.js는 서버 측 JavaScript를 사용한 웹 애플리케이션 개발을 위한 또 다른 옵션을 제공합니다. 자세한 내용은 자바스크립트 개발자를 위한 Azure란 무엇인가 시작하기 Azure에서 Node.js 웹 앱 배포에서 알아보세요.

파이썬은 웹 프레임워크인 장고와 플라스크를 사용할 때 웹 애플리케이션을 개발하는 또 다른 방법으로 점점 인기를 얻고 있는 언어입니다. Azure에서 Python 시작하기를 참조하세요.

이 섹션에서는 어떤 Azure 서비스가 유용할지 알아볼 수 있습니다. Visual Studio를 개발 도구로 사용하여 각 서비스를 시작하는 방법을 보여주는 빠른 시작을 살펴보는 것부터 시작하세요. 이 링크는 Visual Studio 사용자를 위한 페이지(사용 가능한 경우)에서 시작하여 각 Azure 서비스에 대한 설명서로 이동합니다.

어떤 Azure 서비스가 가장 적합한지 잘 모르겠다면 Azure 앱 서비스를 참조하세요.

트리거는 특정 조건이 발생할 때 코드를 실행하도록 설정하는 이벤트입니다. 타이머에 따라 예약하거나 대기열의 메시지, 다른 Azure 서비스 내의 이벤트 또는 웹 후크에 응답하도록 설정할 수 있습니다. 트리거가 필요한 경우 Azure 함수를 사용해 보세요.

쉬운 컨테이너가 필요한 경우 Azure Container Apps를 사용해 보세요.

고급 컨테이너가 필요한 경우 Azure Kubernetes Service를 사용해 보세요.

API에 대한 추가 제어가 필요한 경우 Azure API 관리를 사용해 보세요.

여러 개의 긴 클라이언트 연결을 지원하려면 Azure SignalR Service를 사용해 보세요.

복잡한 분산 앱을 개발 중이고 여러 서비스 간에 오케스트레이션이 필요한 경우 .NET Aspire를 사용해 보세요.

다음 단계

Azure 서비스에서 관심을 가질 만한 Azure 서비스에 대해 자세히 알아보세요.

Azure 아키텍처 센터에서 Azure 개발을 위한 아키텍처 조언을 받으세요.

레거시 Azure 클라우드 서비스에 대한 작업은 Azure 클라우드 서비스 - 확장된 지원를 참조하세요