Azure Deployment Environment を使用すると、セキュリティを最大化しながら一貫性とベスト プラクティスを確立するプロジェクト ベースのテンプレートを使用して、開発チームがアプリ インフラストラクチャを迅速かつ簡単に起動できます。 セキュリティで保護された環境へのこのオンデマンド アクセスにより、準拠したコスト効率の高い方法でソフトウェア開発ライフサイクルのステージが高速化されます。 この記事では、開発環境の概要について説明します
デプロイ環境は、環境定義と呼ばれるテンプレートで定義された Azure インフラストラクチャ リソースのコレクションです。 開発者は、テンプレートで定義されたインフラストラクチャを、アクセス権を持つサブスクリプションにデプロイし、インフラストラクチャ上にアプリケーションを構築できます。 たとえば、Web アプリ、データベース、ストレージ アカウントを含むデプロイ環境を定義できます。 Web 開発者は、基になるインフラストラクチャについて心配することなく、Web アプリのコーディングを開始できます。
プラットフォーム エンジニアは、環境定義を作成および管理できます。 開発者が使用できる環境定義を指定するために、プラットフォーム エンジニアは環境定義をプロジェクトに関連付け、開発者にアクセス許可を割り当てることができます。
デプロイ環境は、プラットフォーム エンジニアがさまざまな種類の環境に適切な一連のポリシーと設定を適用し、開発者が作成できるリソース構成を制御し、プロジェクト間で環境を追跡するのに役立ちます。 サンドボックス、テスト、ステージング、運用など、環境の種類に基づいて Azure ガバナンスを適用できます。
次の図は、展開環境の機能の概要を示しています。 プラットフォーム エンジニアは、インフラストラクチャ テンプレートを定義し、サブスクリプション、ID、およびアクセス許可を構成します。 開発者はテンプレートに基づいて環境を作成し、インフラストラクチャにアプリケーションをビルドしてデプロイします。 環境では、オンデマンド環境、テスト用のサンドボックス環境、継続的インテグレーションと継続的デプロイのための CI/CD パイプラインなど、さまざまなシナリオをサポートできます。
詳細については、「 Azure デプロイ環境の主要な概念」を参照してください。
Usage scenarios
展開環境の一般的なシナリオについては、次のセクションで説明します。
CI/CD パイプラインの一部としての環境
環境を作成し、これを企業全体にわたって管理するには、多大な労力が必要になることがあります。 デプロイ環境を使用すると、開発者はさまざまな種類の製品ライフサイクル環境 (開発、テスト、ステージング、運用前、運用など) を CI/CD パイプラインに組み込むことができます。
このシナリオでは:
- 開発チームは、環境を CI/CD パイプラインに接続して、DevOps シナリオを有効にすることができます。
- 中央の開発 IT チームは、コストを一元的に追跡し、セキュリティ アラートを追跡し、プロジェクトやデベロッパー センター全体の環境を管理できます。
調査のためのサンドボックス環境
開発者は、多くの場合、さまざまなテクノロジやインフラストラクチャ設計を調査します。 既定では、デプロイ環境で作成されたすべての環境は、独自のリソース グループに含まれます。 プロジェクト メンバーは、既定でこれらのリソースへの共同作成者アクセス権を取得します。
このシナリオでは:
- 開発者は、開発環境またはテスト環境に必要に応じて、Azure リソースを追加および変更できます。
- 中央の開発 IT チームは、調査に使用されるすべての環境のコストを簡単に追跡できます。
オンデマンドテスト環境
開発者は、コードをチェックインしてパイプラインを実行する前に、正式な開発環境やテスト環境を模倣して新しい機能をテストするアドホック環境を作成できます。
このシナリオでは:
- 開発者は、再利用可能なテンプレートを使用してアプリケーションの最新バージョンをテストし、新しいアドホック環境をすばやく作成できます。
トレーニング、ハンズオン ラボ、ハッカソン
Deployment Environment のプロジェクトは、ワークショップ、ハンズオン ラボ、トレーニング、ハッカソンなどの一時的なアクティビティのコンテナーとして機能します。 各ユーザーにカスタム テンプレートを提供するプロジェクトを作成できます。
このシナリオでは:
- 各ユーザーは、トレーニング用に同一の分離された環境を作成できます。
- トレーニングが完了したら、プロジェクトとすべての関連リソースを簡単に削除できます。
Benefits
デプロイ環境には、クラウドでの環境の作成、構成、管理に次の利点があります。
標準化とコラボレーション。 チームまたは組織内のソース管理で IaC テンプレートをキャプチャして共有し、オンデマンド環境を簡単に作成します。 ソース管理リポジトリからのテンプレートの内部ソーシングを通じてコラボレーションを促進します。
コンプライアンスとガバナンス。 プラットフォーム エンジニアリング チームは、環境定義をキュレーションしてエンタープライズ セキュリティ ポリシーを適用し、環境の種類別にプロジェクトを Azure サブスクリプション、ID、アクセス許可にマップできます。
組織化されていないテンプレートの一覧や従来の IaC セットアップを使用するのではなく、開発チームが取り組んでいるアプリケーションの種類別に環境定義を整理します。 Organize environment definitions by the type of application that development teams are working on, rather than using an unorganized list of templates or a traditional IaC setup.
一連の事前構成済みテンプレートを使用して、開発チームがアプリ インフラストラクチャ (PaaS、サーバーレスなど) リソースをすばやく簡単に作成できるようにします。 これらのリソースのコストを追跡して、予算内に収めることもできます。 You can also track costs on these resources to stay within your budget.
既存のツールチェーンとの統合。 API を使用して、任意の CI ツール、統合開発環境 (IDE)、または自動リリース パイプラインから直接環境をプロビジョニングします。 包括的なコマンド ライン ツールを使用することもできます。
Microsoft Dev Box と共有されるコンポーネント
Dev Box とデプロイ環境は、特定のアーキテクチャ コンポーネントを共有する補完的なサービスです。 Dev Box は、開発者が作業に必要なツールを使用して構成された、開発ボックスと呼ばれるクラウドベースの開発ワークステーションを開発者に提供します。 デベロッパー センターとプロジェクトは両方のサービスに共通しており、企業内のリソースを整理するのに役立ちます。
デプロイ環境を構成するときに、Dev Box のリソースとコンポーネントが表示される場合があります。 Dev Box の機能に関する情報メッセージが表示される場合もあります。 Dev Box の機能を構成していない場合は、これらのメッセージを無視できます。