次の方法で共有


Azure Deployment Environments とは

Azure Deployment Environments を使用すると、開発チームはプロジェクト ベースのテンプレートを利用して、一貫性とベスト プラクティスを確立しつつ、セキュリティを最高にして、アプリ インフラストラクチャをすばやく簡単に起動できます。 セキュリティで保護された環境にオンデマンドでアクセスし、準拠しているコスト効率の高い方法でソフトウェア開発ライフサイクルのステージを時間短縮します。

デプロイ環境は、環境定義と呼ばれるテンプレートで定義された Azure のインフラストラクチャ リソースのコレクションです。 開発者は、アクセス権を持つサブスクリプションのテンプレートで定義されたインフラストラクチャをデプロイし、このインフラストラクチャにアプリケーションをビルドできます。 たとえば、Web アプリ、データベース、ストレージ アカウントなどを含む、デプロイ環境を定義できます。 Web 開発者は、基盤となるインフラストラクチャについて心配することなく、Web アプリのコーディングを開始できます。

プラットフォーム エンジニアは、環境定義を作成し管理できます。 開発者が使用できる環境定義を指定するために、プラットフォーム エンジニアは環境定義をプロジェクトに関連付け、開発者にアクセス許可を割り当てることができます。

Azure Deployment Environments により、プラットフォーム エンジニアはさまざまな種類の環境にポリシーと設定からなる適切なセットを提供し、開発者が作成できるリソース構成を制御し、プロジェクト全体で環境を追跡するというタスクを容易に行えます。 さらに、サンドボックス、テスト、ステージング、運用などの環境の種類に応じて、Azure のガバナンスを適用できます。

次の図は、Azure Deployment Environments の機能の概要を示しています。 プラットフォーム エンジニアは、インフラストラクチャ テンプレートを定義し、サブスクリプション、ID、アクセス許可を構成します。 開発者はテンプレートに基づいて環境を構築し、インフラストラクチャにアプリケーションをビルドしデプロイします。 環境では、オンデマンド環境、テスト用のサンドボックス環境、継続的インテグレーションと継続的デプロイのための CI/CD パイプラインなど、さまざまなシナリオをサポートできます。

Azure Deployment Environments のシナリオのフローを示す図。

詳細については、Azure Deployment Environments の主要な概念に関するページを参照してください。

使用シナリオ

Azure Deployment Environments の一般的なシナリオには次のようなものがあります。

CI/CD パイプラインの一部としての環境

環境を作成し、これを企業全体にわたって管理するには、多大な労力が必要になることがあります。 Azure Deployment Environments を使用すると、開発者はさまざまな種類の製品ライフサイクル環境 (開発、テスト、ステージング、運用前、運用など) を継続的インテグレーションと継続的デリバリー (CI/CD) パイプラインに組み込むことができます。

このシナリオでは:

  • 開発チームは、環境を CI/CD パイプラインに接続して、DevOps シナリオを有効にすることができます。
  • 中央開発 IT チームは、コストとセキュリティ アラートの追跡と、複数のプロジェクトやデベロッパー センターにわたる環境の管理を一元的に行えます。

調査用のサンドボックス環境

開発者はさまざまなテクノロジやインフラストラクチャの設計について頻繁に調査を行います。 既定では、Azure Deployment Environments で作成されるすべての環境は、それぞれのリソース グループ内に置かれます。 プロジェクト メンバーは既定で、これらのリソースに対する共同作成者のアクセス権を取得します。

このシナリオでは:

  • 開発者は、自分の開発環境やテスト環境に必要なため、Azure リソースの追加と変更を行えます。
  • 中央開発 IT チームは、調査のために使用されるすべての環境のコストを簡単に追跡できます。

オンデマンド テストの環境

開発者は、コードをチェックインしてパイプラインを実行する前に新機能をテストするため、正式な開発環境またはテスト環境を倣したアドホック テスト環境を作成できます。

このシナリオでは:

  • 開発者は、再利用可能なテンプレートを使用して新しいアドホック環境を迅速に作成して、最新バージョンのアプリケーションをテストできます。

トレーニング、ハンズオン ラボ、およびハッカソン

Azure Deployment Environments のプロジェクトは、ワークショップ、ハンズオン ラボ、トレーニング、ハッカソンなどの一時的なアクティビティ用のコンテナーとして機能します。 各ユーザーにカスタム テンプレートを提供するためにプロジェクトを作成できます。

このシナリオにおいて、Azure Deployment Environments には次の利点があります。

  • 各ユーザーはトレーニングのために、分離された同じ環境を作成できます。
  • トレーニングが終了したら、プロジェクトとすべての関連リソースを簡単に削除できます。

メリット

Azure Deployment Environments を使用することで、クラウド内の環境の作成、構成、管理において次のベネフィットが提供されます。

  • 標準化とコラボレーション: チームまたは組織内のソース管理で IaC テンプレートをキャプチャして共有し、オンデマンド環境を簡単に作成できるようにします。 ソース管理リポジトリからのテンプレートの内部ソーシングによりコラボレーションを促進します。

  • コンプライアンスとガバナンス: プラットフォーム エンジニアリング チームは、環境の定義をキュレーションしてエンタープライズ セキュリティ ポリシーを適用し、プロジェクトを環境の種類に応じて Azure サブスクリプション、ID、アクセス許可にマップできます。

  • プロジェクトベースの構成: 整理されていないテンプレートのリストや従来の IaC 設定を使わずに、開発チームが作業しているアプリケーションの種類によって、環境定義を作成します。

  • 心配無用のセルフサービス: 事前構成済みのテンプレートのセットを使用して、開発チームがアプリ インフラストラクチャ (PaaS やサーバーレスなど) のリソースをすばやく簡単に作成できるようにします。 予算内に収めるために、これらのリソースのコストを追跡することもできます。

  • 既存のツールチェーンとの統合: API を使用して、好みの CI ツール、統合開発環境 (IDE)、または自動リリース パイプラインから環境を直接プロビジョニングできます。 包括的なコマンド ライン ツールを使用することもできます。

Microsoft Dev Box と共有されるコンポーネント

Microsoft Dev Box と Azure Deployment Environments は、特定のアーキテクチャ コンポーネントを共有する補完的なサービスです。 Dev Box では、作業に必要なツールが構成された、Dev Box と呼ばれるクラウドベースの開発ワークステーションが開発者に提供されます。 デベロッパー センターとプロジェクトは両方のサービスに共通しており、企業内のリソースを整理するのに役立ちます。

デプロイ環境を構成するとき、Dev Box リソースやコンポーネントが表示される場合があります。 Dev Box 機能に関する情報メッセージが表示される場合もあります。 Dev Box 機能を構成していない場合、このメッセージを無視しても問題ありません。