0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MicrosoftホステッドエージェントからManaged DevOps Pool(MDP)へ乗り換える

Posted at

MDP(Managed DevOps Pool)とは?

MDPはAzure DevOpsのエージェントプールの管理を簡単にするフルマネージドサービスです。
特徴として以下のような点が挙げられます。

  • 簡単なセットアップ
    Azure Portalでリソースを作成することができます。
  • 高いスケーラビリティ
    スケーリングポリシーやスタンバイポリシーを柔軟に設定することができ、開発時の時間短縮、コスト削減を図ることができます。
  • 仮想ネットワークとの統合
    ホステッドエージェントではこれまでできなかった仮想ネットワークとの接続ができます。これにより、他のAzureリソースとの接続が柔軟になります。
  • キャッシュ利用
    エージェントが立ち上がっている間はキャッシュの利用が可能です。これにより二回目以降のDevOpsパイプラインの動作が高速になります。

なぜMDPに乗り換えるのか

これまでホステッドエージェント一台を契約してAzure DevOpsを利用していました。
ところがエージェント一台では、順番待ちが発生することもあり開発効率が悪い状況でした。
そこでエージェントを追加しようという話になったのですが、ちょうどMDPがGAになったということで、こちらのほうがお安く済むかも?となり採用に至りました。

MDPを作成する

手順は以下のような流れでした。

  1. リソースグループを作成(既存のものでもOK)
  2. Dev Centerを作成(既存の物でもOK)
  3. 仮想ネットワークを作成(既存のものでもOK)
  4. MDPを作成する
    公式ドキュメント通りにやりました。MSにしては丁寧な説明があり、特に迷うことはありませんでした。
  5. DevOpsパイプライン(yaml)を修正する

見落としがちなところ

仮想ネットワークの設定

MDPに対してサブネットの委任をする必要があります。
image.png
Azure Portal上ではサブネットの設定欄に当該項目があるので、「Microsoft.DevOpsInfrastructure/pools」を選択します。

既存パイプラインの修正

既存のパイプラインにてMDPを使用する際はvmイメージの指定方法に注意して下さい。
MDPではvmイメージの指定をしない場合、その時立ち上がっているエージェントのイメージでパイプラインが稼働します。
使用したいイメージ(OS)が決まっている場合は明示的に書く必要があります。

# ホステッドエージェントの場合
pool:
    vmImage: 'windows-latest'

# MDPの場合
pool:
    name: 'MDP-001' # MDPのリソース名です
    demands:
      - ImageOverride -equals windows-2022 #イメージ名はエイリアスの使用ができます

VMイメージのエイリアスはAzure PortalのMDPの画面から設定できます。

コスト予想

ホステッドエージェントを二台契約したときと、MDPで並列ジョブを4つ購入した時の机上コストを以下に掲載します。MDPのVM料金は従量課金制です。サイズはD2ads-v5で、月に100時間の稼働をしたと仮定しています。

エージェント 並列ジョブ数 並列ジョブ料金(円) VM料金(円) 合計
ホステッド 2 12,604 0 12,604
MDP 4 7,090 3560 10,650

MDPはスタンバイ中も課金が発生しますが、スタンバイ時間を開発が盛んな曜日や時間帯に絞ることで大幅に料金を節約できそうです。
もともとエージェントを1台追加する予定でしたが、並列ジョブを4にしてもエージェント2台よりも安くなりそうなので期待大です。
(ジョブを並列で動かすことにお金がかかる仕組みなんとかならんかなぁ……二重課税みたい……)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?