Azure SQL Database용 개발자 컨테이너 템플릿이란?
적용 대상: Azure SQL Database
개발자 컨테이너는 Azure SQL Database에 대한 로컬 개발을 향상시키기 위한 포괄적인 솔루션을 제공합니다. 개발자 컨테이너 템플릿은 개발자에게 원활하고 효율적인 개발 환경을 제공하여 쉽고 자신 있게 Azure SQL Database용 애플리케이션을 빌드할 수 있도록 합니다.
개발자 컨테이너는 로컬이든 클라우드이든 모든 개발 환경에서 활용할 수 있으며, 팀과 워크플로 간에 일관성을 증진할 수 있습니다.
Azure SQL Database용 개발자 컨테이너 템플릿은 수동 설정이 필요하지 않은 미리 구성된 환경을 제공하여 개발 프로세스를 간소화합니다. 개발자는 인기 있는 프로그래밍 언어를 사용하여 필요한 모든 도구와 종속성을 사용하여 즉시 코딩을 시작할 수 있습니다. 이러한 템플릿은 Visual Studio Code 및 GitHub Codespaces와 호환되므로 로컬 개발에서 클라우드 환경으로 원활하게 전환할 수 있습니다.
로컬 개발 환경은 Azure SQL Database를 모방하므로 데이터를 관리하고 애플리케이션을 효율적으로 테스트할 수 있습니다. 준비가 되면 GitHub Actions는 배포 프로세스를 자동화하여 애플리케이션을 Azure Static Web Apps 또는 Azure Web App Service와 Azure SQL Database로 원활하게 전환합니다. 이 간소화된 워크플로는 생산성을 향상시키고, 설치 시간을 단축하며, 로컬 환경과 프로덕션 환경 간의 일관성을 보장하여 고품질 애플리케이션을 더 빠르게 제공할 수 있도록 지원합니다.
팁
GitHub 작업 및 Azure DevOps 작업은 CI(연속 통합) 빌드에서 리포지토리의 개발자 컨테이너를 실행하기 위해 devcontainers/ci에서 사용할 수 있습니다. 이렇게 하면 로컬 개발에 사용하는 것과 동일한 설정을 다시 사용하여 CI에서 코드를 빌드하고 테스트할 수 있습니다.
다음 비디오에서는 Azure SQL Database용 최신 Dev Container 템플릿에 대한 단독 개요를 제공하여 로컬 개발 환경을 향상시키는 이점과 기능을 보여 줍니다.
개발자 컨테이너 작동 방법
개발자 컨테이너는 사용되는 위치에 관계없이 일관된 개발 환경을 제공하도록 설계된 미리 구성된 컨테이너화된 환경입니다. 개발자 컨테이너 사양(devcontainer.json
)을 활용하여 개발 환경에 필요한 도구, 설정 및 구성을 정의합니다.
핵심 구성 요소
- Docker: 격리된 환경을 만드는 기본 컨테이너 기술을 제공합니다.
- VS Code: 개발자 컨테이너와 상호 작용하는 IDE(통합 개발 환경) 역할을 합니다.
- GitHub Codespaces: 개발자 컨테이너를 클라우드로 확장하여 브라우저를 사용하여 모든 디바이스에서 개발을 지원합니다.
빠른 시작 단계
- 초기화: 개발자는 필요한 모든 구성을 포함하는 개발자 컨테이너 템플릿으로 시작합니다.
- 환경 설정: 컨테이너는 Docker를 사용하여 빌드되며
devcontainer.json
사양에 따라 환경을 설정합니다. - 코딩 및 테스트: 개발자는 이 일관된 환경 내에서 코드를 작성하고 테스트하여 최종 프로덕션 설정과의 호환성을 보장합니다.
- 배포: 개발 및 테스트가 완료되면 GitHub Actions와 같은 CI/CD 파이프라인을 사용하여 애플리케이션을 원활하게 배포할 수 있습니다.
Azure SQL Database와 개발자 컨테이너
개발자 컨테이너는 일반적인 문제를 해결하고 전체 워크플로를 개선하여 Azure SQL Database 개발에 유용합니다. 개발자는 Azure SQL Database에 대한 효율적인 로컬 개발 환경을 설정하는 데 상당한 어려움을 겪습니다.
- 호환성 부족: 로컬 개발 및 프로덕션 환경 간의 불일치입니다.
- 설치 복잡성: 시간이 많이 걸리는 수동 설치 및 구성입니다.
- 클라우드 리소스에 대한 종속성: 클라우드 비용 증가 및 인터넷 연결에 대한 의존도 증가.
- 제한된 통합: 기존 Azure 개발 도구와의 통합 부족.
Azure SQL Database용 특수 개발자 컨테이너 템플릿을 사용하면 이러한 격차를 해소하여 개발 환경을 향상시키고 Azure 에코시스템 내에서 워크플로를 간소화할 수 있습니다.
Azure SQL Database용 개발자 컨테이너의 장점
개발자 컨테이너는 개발 수명 주기를 간소화하여 개발자가 환경 설정의 번거로움 없이 코딩 및 테스트에 집중할 수 있도록 합니다. 이러한 효율성으로 인해 더 빠른 반복, 고품질 애플리케이션 및 Azure SQL Database 기반 애플리케이션의 출시 시간이 단축되어 비즈니스에 경쟁력이 부여됩니다.
개발자 컨테이너를 사용한 로컬 개발은 Azure 환경에서 개발 및 테스트와 관련된 클라우드 비용을 줄입니다. 리소스를 최적화하면 비용 효율성과 확장성이 향상됩니다. 개발자는 불필요한 비용 없이 프로덕션 배포를 위해 Azure SQL Database의 확장성과 안정성을 사용하여 로컬 개발에서 Azure 환경으로 원활하게 전환할 수 있습니다.
개발자 컨테이너는 최신 애플리케이션 아키텍처 및 프레임워크에 맞게 클라우드 네이티브 개발 시나리오를 지원합니다. 이렇게 하면 Azure SQL Database와의 호환성이 보장되고 Azure 환경에 원활하게 배포할 수 있습니다. 클라우드 네이티브 추세를 수용함으로써 Azure SQL Database를 최신 클라우드 네이티브 애플리케이션을 위한 선택 플랫폼으로 배치하여 장기적인 채택 및 수익 성장을 촉진합니다.
개발자 컨테이너가 Azure SQL Database 프로젝트에 미치는 영향을 충분히 평가하려면 개발 프로세스를 향상시키고 간소화하는 다음 주요 기능을 고려하세요.
Visual Studio Code 확장
ms-mssql.mssql
: SQL Database 연결 및 쿼리를 위한 SQL Server 익스텐션입니다.ms-mssql.sql-database-projects
: 간소화된 스키마 변경 및 배포를 허용하는 SQL Database 프로젝트 관리를 위한 익스텐션입니다.github.copilot
: 생산성 향상을 위한 AI 기반 코드 완성.ms-azuretools.vscode-docker
: Visual Studio Code에서 직접 컨테이너를 관리하기 위한 Docker 익스텐션입니다.github.codespaces
: GitHub Codespaces로 작업용 익스텐션.ms-azuretools.vscode-docker
: 컨테이너를 관리하기 위한 Docker 익스텐션입니다.
팁
선택한 템플릿에 따라 더 많은 익스텐션을 사용할 수 있습니다.
미리 구성된 환경
아래 도구 및 유틸리티는 모두 개발자 컨테이너에 미리 로드됩니다. 아무것도 다운로드하거나 설치할 필요가 없습니다.
- .NET / .NET Aspire / Node / Python: 환경에는 개발 준비가된 기본 프로그래밍 언어 / 프레임 워크가 미리 설치되고 구성됩니다.
- Azure CLI: Azure 리소스 및 배포를 관리하기 위한 도구입니다.
- Azure 개발자 CLI: Azure 리소스를 관리하고 개발하기 위한 통합 스크립팅 환경을 제공하는 명령줄 인터페이스입니다.
- Docker CLI: 다른 컨테이너 내에서 Docker 컨테이너를 빌드하고 관리할 수 있습니다.
- Azure SQL Database:
library
데이터베이스를 만들고 유효성을 검사하고 사용할 준비가 되었습니다. 이 데이터베이스는 Azure SQL Database와 완전히 호환됩니다. - SQLCMD: 데이터베이스와 상호 작용하고 쿼리를 실행하는 데 사용할 수 있는 명령줄 유틸리티입니다.
- SqlPackage: 스키마 업데이트 및 데이터 마이그레이션을 포함하여 데이터베이스 변경 내용을 배포하기 위한 명령줄 유틸리티입니다.
Important
컨테이너는 이제 에지 컴퓨팅 시나리오를 위해 디자인되고 기본 제공 AI와 함께 SQL Server 기능의 하위 집합을 제공하는 mcr.microsoft.com/azure-sql-edge
이미지를 사용하지만, 이 개발자 컨테이너 내의 모든 데이터베이스 개발은 SQL Database 프로젝트를 사용하여 Azure SQL Database에 대해 여전히 유효성을 검사할 수 있습니다. SQL Database 프로젝트는 Azure SQL Database로 설정된 대상 플랫폼으로 미리 구성됩니다.
Visual Studio Code 작업
일반적인 작업을 간소화하기 위한 Visual Studio Code의 미리 정의된 작업 집합입니다.
- 1. 데이터베이스 스키마 및 데이터 확인: SQL 파일을 열고 실행하여 데이터베이스 스키마의 유효성을 검사합니다.
- 2. SQL Database 프로젝트 빌드:
dotnet build
를 사용하여 SQL Database 프로젝트를 빌드합니다. - 3. SQL Database 프로젝트 게시: 데이터베이스 컨테이너에 SQL Database 프로젝트를 게시합니다.
팁
선택한 템플릿에 따라 사용 가능한 특정 작업이 있습니다.
사용 가능한 템플릿
Azure SQL Database용 개발자 컨테이너 템플릿은 다음 프로그래밍 언어/프레임워크에 사용할 수 있습니다.
프로그래밍 언어 / 프레임워크 | 설명 |
---|---|
.NET | .NET 및 Azure SQL을 위한 개발 환경으로, 간소화된 로컬 개발 및 테스트를 지원합니다. |
.NET Aspire | .NET Aspire 및 Azure SQL을 위한 개발 환경으로, 간소화된 로컬 개발 및 테스트를 지원합니다. |
Node.js | Node.js(JavaScript) 및 Azure SQL을 위한 개발 환경으로, 간소화된 로컬 개발 및 테스트를 지원합니다. |
Python | Python 및 Azure SQL을 위한 개발 환경으로, 간소화된 로컬 개발 및 테스트를 지원합니다. |
팁
각 템플릿에는 미리 구성된 Azure SQL Database가 함께 제공되므로 바로 개발을 쉽게 시작할 수 있습니다.