コストとパフォーマンスを管理する
マネージド DevOps プールには、プールのパフォーマンスを構成するためのさまざまなオプションが用意されています。 この記事では、プールのパフォーマンスとコストを増減することで、プールのパフォーマンスをワークロードの需要に合わせるオプションについて説明します。
エージェントのパフォーマンスを構成する
Managed DevOps プールを構成する場合、プールのパフォーマンスとコストを構成するためのさまざまなオプションがあります。 次のセクションでは、プールのパフォーマンスを構成するために実行できるいくつかの選択肢について説明します。
ディスクの種類
Managed DevOps プールを作成するときは、既定の Standard OS ディスクの種類ではなく、Standard SSD または Premium SSD を選択できます。 OS ディスクの種類によって、OS ドライブに使用されるディスクの種類が決まります。 エージェントの作業ディレクトリは、既定では一時ドライブまたは D:\ であるため、コストの高い OS ディスクの種類ではメリットが得られない場合があります。 さまざまな OS ディスクの種類でワークロードのパフォーマンスをベンチマークし、関連するコストを理解し、OS ディスクの種類を適切に選択します。
ワークロードのスループットが Standard レベルのレベルを超える場合は、パフォーマンスの高いディスクの種類にアップグレードすることで、ワークロードのパフォーマンスが向上する可能性があります。 ディスクの種類とパフォーマンスの詳細については、「 Azure マネージド ディスクの種類を参照してください。
OS ディスクの種類を変更したり、より大きな SKU に移動してディスク領域を増やしたりする代わりに、プールのデータ ディスクを構成検討してください。 ワークロードの要件を満たすサイズとディスクの種類を構成し、このドライブをエージェント作業ディレクトリとして使用するようにプールを構成して、既定の OS ディスクの種類とコストの低い VM サイズを使用しながら記憶域を増やすことができます。
適切なエージェントのサイズと種類を選択する
Managed DevOps プールのエージェント サイズは、マネージド DevOps プール エージェントのホストに使用する Azure 仮想マシンのサイズ を指定します。 プールの agent サイズ を変更して、CPU コアの数を増やし、メモリを増やし、ディスク領域を増やすことができます。 より強力な VM サイズを使用すると、Azure の課金も増えるので、より強力な VM サイズを使用するとワークロードのパフォーマンスが向上すると判断した場合にのみ、このオプションを選択します。
VM CPU アーキテクチャ
多くの場合、AMD 搭載の VM サイズは、Intel 搭載の VM サイズと比べて最大 40% 低コストで、パフォーマンスは同じか向上します。 AMD 搭載の VM サイズを使用すると、Azure の支出を削減できます。
VM サイズ
適切な Azure VM サイズを使用していることを確認します。 現在、8 コアの Azure VM サイズを使用している場合は、ワークロードで 8 つのコアをすべて使用できることを確認してください。 さまざまな VM サイズでワークロードを実行し、ワークロードのパフォーマンスを確認できます。 ワークロードのパフォーマンスを同じままにしながら、VM サイズをダウングレードして COGS を削減できます。
VM の種類
さまざまな Azure VM シリーズは、パフォーマンスを向上させるために、特定の特性を持つワークロード向けに設計されています。 ワークロードに最も適したシリーズを選択できるように、さまざまな Azure SKU シリーズについて理解します。 例: アプリケーションでメモリと同じコアを使用しない場合は、 Memory 最適化 サイズ ファミリから VM サイズを選択できます。
さまざまな Azure VM の種類 を確認して、その利点を理解します。 たとえば、ワークロードで必要なコア数が多く、メモリが少ない場合は、 Compute 最適化 サイズを使用できます。 ワークロードで必要なディスク領域が増え、コア/メモリが同じである場合は、SKU サイズを上げるのではなく、コンピューティング率が高い Azure VM の種類を選択するか、 接続されたデータ ディスクを使用できます。
VM の種類の生成
Azure VM の種類の最新世代は、以前のバージョンよりもパフォーマンスが高い場合があります。 たとえば、D2dsV4 と D2dsV5 の価格は同じで、仕様は同じですが、V5 は V4 よりも高速である可能性があります。
プール リージョンの併配置
プールの Azure リージョンを、CI/CD ワークロードの依存関係が存在するリージョンに併置してみてください。 この近接性により、ネットワーク待機時間が短縮され、ワークロードのパフォーマンスが比較的高くなります。 Azure DevOps 組織のリージョンを確認しマネージド DevOps プールを同じリージョンに配置できます。
スタンバイ エージェントを使用した事前プロビジョニング
既定では、パイプラインをキューに登録するたびに、エージェントが最初から作成されます。 パイプラインが待機に時間を費やさないように、スタンバイ エージェントを有効にすることを選択できます。 スタンバイ エージェントを手動モードで有効にしている場合は、スタンバイ エージェントの過去の使用率を確認し、スタンバイ エージェントの数を減らすかどうかを決定できます。 また、ワークフローがタイム クリティカルではなく、エージェントがオンデマンドで作成されるまで 5 ~ 10 分待つ場合は、事前プロビジョニングを完全にオフにすることもできます。
スタンバイ エージェントを使用せずにエージェントのパフォーマンスを向上させるオプションの 1 つは、短い猶予期間でステートフル エージェントを使用することです。 猶予期間を持つステートフル エージェントがジョブを完了すると、猶予期間に指定された期間はオンラインのままになり、ジョブを待機します。 ワークロードが急増する場合は、ジョブが安定しているときにエージェントをオンラインに保ち、低速な期間にエージェントをゼロから開始する猶予期間を構成できます。
詳細については、「 Standby エージェント および Stateful プールを参照してください。