Azure DevTest サブスクリプションの管理

Azure Dev/Test サブスクリプションを管理することが重要です。 コストの管理、運用のステージの監視、デプロイするリソースと構成したプロセスは、サブスクリプション管理の最優先事項です。

Azure のクラウド環境により、コストとワークロードを柔軟に管理できます。 オンプレミスの管理ボックスを使用すると、コストに対する機能を管理できます。

サブスクリプション レベルとリソース グループ レベルのサービスはゼロ コストです。リソース自体のみにコストがかかります。

A diagram of Azure Organizations and Governance

運用コストの観点から管理する場合は、使用した分だけお支払いいただきます。 デプロイ中のコストの管理に役立つ Azure Dev/Test サブスクリプションには、いくつかのツールが用意されています。

別のレンズを使用した監視

Azure Monitor は、アプリケーションとサービスの可用性およびパフォーマンスを最大化するのに役立ちます。 クラウドとオンプレミスの環境からデータを収集、分析、および操作するための包括的なソリューションを提供します。 アプリケーションがどのように実行されているかを理解します。 Azure Monitor は、アプリケーションとそれらが依存するリソースに影響する問題を事前に特定します。

Azure 内では、監視を使用して市場投入までの時間を短縮し、運用サービスのパフォーマンス データを確認します。 メトリック、ログ、およびトレースを集計および分析できます。 監視により、アラートを発生させ、通知を送信したり、自動ソリューションを呼び出したりすることもできます。

Azure Monitor では、Dev/Test のメリットを活かして、アプリの市場投入までの時間を最適化し、それらのアプリケーションを提供することができます。

監視を使用すると、新しいアプリケーションや既存のアプリケーションを使用して、Dev/Test のメリットを最大限に活用できます。

  • Net New Green Field Applications を使用した実稼働前 - 新しいアプリでは、運用環境で使用する実稼働前環境でログ分析またはスマート アラートを使用してカスタム メトリックを作成し、有効にします。 監視を早期に使用して、実稼働サービスのパフォーマンス データを事前に調整する
  • 既存のアプリケーションを使用した実稼働後 – 新機能をデプロイする場合や、既存のアプリに API を使用して新しい機能を追加する場合は、この機能を実稼働前環境に展開し、監視を調整することで、適切なデータフィードを早期に確保することができます。 新しい機能の実稼働前環境で追跡を使用すると、可視性が明確になり、運用後の監視システム全体にこの監視を組み合わせることができます。 最新のパフォーマンス データを既存のログと統合して監視を確実に使用する
  • 運用中の監視をミラーリングする非運用デプロイのさまざまな段階を監視します。 コストを管理し、運用前と運用後に支出を分析します。

Cost Management

Microsoft Cost Management を使用すると、ビジネス ワークロードの技術的なパフォーマンスを大幅に向上させることができます。 また、コストを削減し、組織の資産を管理するために必要なオーバーヘッドを軽減することもできます。

監視を使用すると、サービスをデプロイする前に、実稼働前環境のコスト分析ツールを使用して、現在の実稼働前計算の分析を実行し、生産コストを予測し、コストを削減できる可能性があります。

パフォーマンス管理

監視とコスト管理だけでなく、予想されるワークロードに対して実稼働前環境で確認するため、パフォーマンス テストを行う必要もあります。

実稼働前環境では、負荷に基づいて拡張するようにスケーリングを設定できます。 負荷がかかっている Dev/Test 環境でアプリケーションをテストすると、コスト分析と監視の数値が向上します。 より大きいスケールと小さいスケールのどちらで始める必要があるかについて、より良いアイデアが得られます。

読み込みと強要分析により、運用前に別のデータが提供されるため、市場投入までの時間を最適化し、アプリケーションの配信を継続できます。

アプリケーションまたはサービスで負荷と送信テストを実行する場合、スケールアップまたはスケールアウトの方法はワークロードによって異なります。 Azure でのアプリのスケーリングの詳細については、次のページを参照してください。

ページ ビュー、アプリケーションの要求、例外など、詳細な情報を収集するには、Application Insights を使ったアプリケーションの監視を有効します。

Azure Automation

Azure Automation は、Azure 環境と Azure 以外の環境にまたがる一貫した管理をサポートするクラウド ベースの自動化および構成サービスを提供します。 このツールを使用すると、ワークロードとリソースのデプロイ、操作、および使用停止を制御できます。 Azure Automation は常にオンです。 既存のリソースで動作します。 Azure Automation を使用すると、必要に応じてリソースまたはサブスクリプションを作成できます。 支払いは使用した分だけで済みます。

例: Dev/Test の運用デプロイに従っている場合は、一部のリソースとステージを常時稼働させる必要があります。 それ以外の場合は、1 年に数回更新および実行するだけで済みます。

このシナリオでは Azure Automation が重要になります。 新しいアプリ開発を開始し、最初のプル要求 (PR) を送信するときに、automation ジョブを開始することができます。 このジョブは、Azure Resource Manager (ARM) テンプレートを使用してインフラストラクチャをコードとして展開し、実稼働前に Azure Dev/Test サブスクリプションのすべてのリソースを作成します。

Azure Resource Manager

Azure ソリューション用にインフラストラクチャをコードとして実装するには、Azure Resource Manager (ARM) テンプレートを使用します。 このテンプレートは、プロジェクトのインフラストラクチャと構成を定義します。 デプロイを自動化できます。

運用前環境を更新してコストを追跡するのと同じように、構成を何回でもデプロイできます。 Azure Automation を使用すると、必要に応じて ARM テンプレートを実行および削除できます。

サービスまたはリソースを 1 年に 2 回更新する必要がある場合は、DevOps ツールを使用して ARM テンプレートをデプロイします。 Automation ジョブでリソースをオフにし、必要に応じて再デプロイします。