Azure SQL 데이터베이스용 로컬 개발 환경은 무엇인가요?
적용 대상: Azure SQL Database
이 문서에서는 Azure SQL Database에 맞는 로컬 개발 환경에 대한 개요를 제공합니다.
개요
Azure SQL Database 로컬 개발 환경은 애플리케이션 개발자와 데이터베이스 전문가가 오프라인 작업 중에 데이터베이스에 대한 데이터베이스 스키마를 디자인, 빌드, 유효성 검사, 게시할 수 있도록 하는 도구와 서비스의 조합입니다.
다음 다이어그램은 개발 수명 주기의 내부 및 외부 루프 프로세스를 보여 줍니다. 개발자가 로컬 및 클라우드에서 Azure SQL Database와 상호 작용하는 방법을 강조 표시합니다.
내부 루프와 외부 루프를 모두 자세히 살펴보겠습니다.
내부 루프
내부 루프는 로컬 개발 주기를 나타냅니다. 개발자는 코드를 작성하고, 테스트하고, 로컬 컴퓨터에서 디버그합니다.
이 단계에서 개발자는 SQL Database의 로컬 인스턴스와 상호 작용합니다. 클라우드에 변경 내용을 배포할 필요 없이 즉시 피드백을 사용하여 코드를 신속하게 반복할 수 있습니다.
내부 루프의 목표는 프로덕션 설정을 밀접하게 모방하는 격리된 환경에서 신속한 개발 및 테스트를 가능하게 하는 것입니다.
외부 루프
외부 루프는 협업, 지속적인 통합 및 프로덕션에 배포를 포함하여 광범위한 개발 수명 주기를 포함합니다.
내부 루프에서 변경한 내용은 GitHub 리포지토리와 같은 공유 리포지토리로 푸시됩니다. 여기서 검토, 테스트 및 병합할 수 있습니다.
리포지토리에서 자동화된 워크플로(예: GitHub Actions 또는 GitHub Codespaces를 통해)는 데이터베이스 변경 내용을 포함하여 애플리케이션을 빌드하고 Azure 서비스에 배포합니다.
외부 루프에서 애플리케이션과 데이터베이스는 Azure에 배포되어 라이브 환경에서 액세스하고 사용할 수 있습니다.
도구 및 확장
로컬 개발 환경을 간소화하기 위해 여러 도구와 익스텐션을 사용할 수 있습니다. 다음 표에서는 이러한 옵션에 대한 개략적인 개요를 제공합니다. 각 옵션은 개발 수명 주기의 다양한 측면에 맞게 조정됩니다.
도구 또는 익스텐션 | 설명 | 호환 가능 |
---|---|---|
Azure SQL Database 개발자 컨테이너 템플릿 | 미리 구성된 개발 환경을 제공하여 수동 설정을 제거하고 일관성을 보장합니다. 여러 인기 있는 언어를 지원합니다. | Visual Studio Code GitHub Codespaces |
SQL Server 익스텐션 | 로컬 또는 Azure SQL Database에서 데이터베이스에 대한 연결, 쿼리 실행 및 스크립트 테스트를 사용하도록 설정합니다. | Visual Studio Code GitHub Codespaces |
SQL Database Projects 확장 | 기존 데이터베이스 스키마 캡처, 선언적 모델을 사용하여 새 개체 디자인, 버전 제어에 스키마 커밋 및 데이터베이스에 게시할 수 있습니다. | Visual Studio Code Azure Data Studio GitHub Codespaces |
Azure SQL Database 개발자 컨테이너 템플릿
개발자 컨테이너는 Azure SQL Database에 대해 간소화되고 미리 구성된 개발 환경을 제공하므로 수동 설정이 필요하지 않습니다. 이러한 컨테이너는 처음부터 필요한 모든 도구와 종속성을 바로 사용할 수 있도록 하여 생산성을 향상시킵니다.
개발자는 개발자 컨테이너를 활용하여 Azure SQL Database 설정을 모방하는 환경에서 코딩을 빠르게 시작하여 로컬 및 클라우드 개발 전반에서 일관성을 증진할 수 있습니다. 이 방법은 개발 프로세스를 가속화할 뿐만 아니라 오류를 줄이고 로컬 개발에서 프로덕션 배포로 원활하게 전환할 수 있도록 합니다.
참고 항목
개발자 컨테이너는 개발자 컨테이너 익스텐션을 사용하여 VS Code에서 로컬로 실행할 수 있고 GitHub Codespaces를 사용하여 클라우드에서 실행할 수 있습니다.
Azure SQL Database 개발자 컨테이너 템플릿에 대한 자세한 내용은 Azure SQL Database용 개발자 컨테이너 템플릿이란?을 참조하세요.