Azure SQL データベースの開発コンテナー テンプレートとは?

適用対象:Azure SQL データベース

開発コンテナーは、Azure SQL データベースのローカル開発を強化するための包括的なソリューションを提供します。 開発コンテナテンプレートは、開発者にシームレスで効率的な開発環境を提供し、簡単かつ自信を持って Azure SQL データベース用のアプリケーションを構築できるようにします。

開発コンテナーは、ローカルかクラウドかに関係なく、任意の開発環境で利用ができ、チームやワークフロー間で一貫性を促進できます。

開発コンテナーのローカル開発エクスペリエンスを装備した Azure SQL データベースを示す図。

Azure SQL データベース用の開発コンテナテンプレートは、手動セットアップを必要とせずに構成済みの環境を提供することで、開発プロセスを簡略化します。 開発者は、一般的なプログラミング言語を使用して、必要なすべてのツールと依存関係を設定して、すぐにコーディングを開始できます。 これらのテンプレートは、Visual Studio Code および GitHub Codespaces と互換性があり、ローカル開発からクラウド環境へのシームレスな移行が可能になります。

ローカル開発環境は Azure SQL データベースを模倣しているため、データを管理して、アプリケーションを効率的にテストすることができます。 準備ができたら、GitHub Actions を展開 プロセスを自動化し、アプリケーションを Azure Static Web Apps または Azure Web App Service および Azure SQL データベースにシームレスに移行します。 この合理化されたワークフローで、生産性が向上し、セットアップ時間が短縮され、ローカル環境と運用環境間の一貫性が確保され、高品質のアプリケーションをより迅速に提供できます。

ヒント

GitHub アクションと Azure DevOps タスクは、devcontainers/ci で利用でき、継続的インテグレーション (CI) ビルドでリポジトリの開発コンテナーを実行できます。 これによって、ローカル開発に使用するのと同じセットアップを再利用して、CI でコードをビルドしてテストすることもできます。

開発コンテナーのしくみ

開発コンテナーとは、使用場所に関係なく一貫した開発エクスペリエンスを提供するように設計された、事前構成されたコンテナー化された環境です。 開発コンテナー仕様 (devcontainer.json) を利用して、開発環境に必要なツール、設定、構成を定義します。

主なコンポーネント

  • Docker: 分離された環境を作成の基になるコンテナー テクノロジを提供します。
  • VS Code: 開発コンテナーとの対話する統合開発環境 (IDE) として機能します。
  • GitHub Codespaces: 開発コンテナーをクラウドに拡張し、ブラウザーを使用して任意のデバイスからの開発が可能となります。

開始手順

  • 初期化: 開発者は、必要なすべての構成などの開発コンテナー テンプレートから始めます。
  • 環境のセットアップ: コンテナーは Docker を利用して構築され、 devcontainer.json の仕様に基づいて環境を設定します。
  • コーディングとテスト: 開発者は、この一貫性のある環境内でコードを記述してテストして、最終的な運用環境のセットアップとの互換性を確保します。
  • 配置: 開発とテストが完了すると、GitHub Actions などの CI/CD パイプラインを使用してアプリケーションをシームレスにデプロイできます。

Azure SQL データベース と開発コンテナ

開発コンテナは、一般的な課題に対処し、全体的なワークフローを強化することで、Azure SQL データベースの開発に役立ちます。 開発者が Azure SQL データベースの効率的なローカル開発環境を設定する際に大きな課題に直面する場合:

  • 互換性の欠如: ローカル開発環境および運用環境の間の不一致。
  • セットアップの複雑さ: 時間のかかる手動インストールおよび構成。
  • クラウド リソースへの依存関係: クラウド コストの増加およびインターネット接続への依存。
  • 限定的な統合: 既存の Azure 開発ツールとの統合の不足。

Azure SQL データベース用の特殊な開発コンテナテンプレートは、このギャップを埋め、開発エクスペリエンスを向上させ、Azure エコシステム内のワークフローを合理化するのに役立ちます。

Azure SQL データベース 用 Dev コンテナーの利点

開発コンテナーは開発ライフサイクルを合理化し、開発者は環境のセットアップの手間をかけないでコーディングとテストに集中できます。 この効率により、イテレーションの高速化、高品質のアプリケーション、および Azure SQL データベース上に構築されたアプリケーションの市場投入までの時間が短縮され、企業に競争力が与えられます。

開発コンテナーを利用したローカル開発では、Azure 環境での開発とテストに関連するクラウド コストが削減されます。 このリソースの最適化で、コスト効率とスケーラビリティが向上します。 開発者は、不要なコストを発生させることなく、Azure SQL データベース のスケーラビリティと信頼性を使用して、ローカル開発から Azure 環境にシームレスに移行できます。

開発コンテナーは、最新のアプリケーション アーキテクチャとフレームワークに合わせて、クラウドネイティブの開発シナリオのサポートをします。 これにより、Azure SQL データベースとの互換性が確保され、Azure 環境へのシームレスな展開が容易になります。 クラウドネイティブの傾向を取り入れることで、Azure SQL データベース は、最新のクラウドネイティブ アプリケーションに最適なプラットフォームとして位置付け、長期的な導入と収益の成長を促進します。

開発コンテナーが Azure SQL データベース プロジェクトに与える影響を十分に理解するには、開発プロセスを強化して簡素化する次の主な機能を検討してください。

Visual Studio Code 拡張機能

  • ms-mssql.mssql: SQL データベースに接続してクエリの実行をするための 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 Developer CLI: Azure リソースを管理および開発する統一されたスクリプト エクスペリエンスを提供するコマンド ライン インターフェイス。
  • Docker CLI: 別のコンテナー内から Docker コンテナーの構築や管理ができます。
  • Azure SQL データベース: library データベースが作成され、検証され、使用できる状態になりました。 このデータベースは、Azure SQL データベース との完全な互換性を提供します。
  • SQLCMD: データベースの操作、クエリの実行などに使用できるコマンド ライン ユーティリティです。
  • SqlPackage: スキーマの更新やデータ移行など、データベースの変更をデ配置するためのコマンド ライン ユーティリティ。

重要

コンテナは現在、エッジコンピューティングシナリオ向けに設計され、SQL Serverの機能サブセットと組み込みAIを提供する mcr.microsoft.com/azure-sql-edge 画像を使用していますが、この開発コンテナ内のすべてのデータベース開発は、SQL Database プロジェクト使用してAzure SQL データベースに対して引き続き検証することができます。 SQL Database プロジェクトは、ターゲット プラットフォームを Azure SQL データベースとして設定して事前構成されています。

Visual Studio Code タスク

一般的なアクションを簡略化する Visual Studio Code の定義済みタスクのセット:

  • 1. データベース スキーマとデータの確認: SQL ファイルを開いて実行し、データベース スキーマの検証をします。
  • 2. SQL Database プロジェクトのビルド: dotnet buildを利用して SQL Database プロジェクトをビルドします。
  • 3. SQL Database プロジェクトの発行: SQL Database プロジェクトをデータベース コンテナーに公開します。

ヒント

選択したテンプレートに応じて、特定のタスクを利用できます。

使用できるテンプレート

Azure SQL データベース用の開発コンテナテンプレートは、次のプログラミング言語/フレームワークで使用できます。

プログラミング言語/フレームワーク 説明
.NET .NET と Azure SQL の開発環境。ローカルでの開発とテストの合理化ができます。
.NET Aspire .NET Aspire と Azure SQL の開発環境。ローカルでの開発とテストの合理化ができます。
Node.js Node.js (JavaScript) と Azure SQL 用の開発環境。ローカルでの開発とテストの合理化ができます。
Python Python と Azure SQL の開発環境。ローカルでの開発とテストの合理化が可能です。

ヒント

各テンプレートには事前に構成された Azure SQL データベースが付属しているため、開発をすぐに開始できます。