Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

Azureの新サービス「Dev Box」ってなに?

こんにちは、エンジニアの稲岡です。

先日のMicrosoft Buildがあり、BOOK OF NEWSを眺めていたところ、いくつか気になるものがありました。今回はその中1つDev Box*1について調べたことをブログにしようと思います。

news.microsoft.com

Dev Boxとは

公式の文章を読んでみます。

Microsoft Dev Box Preview を使用すると、ハイパフォーマンス、構成済み、すぐにコーディング可能なクラウドベースのワークステーション (開発ボックスと呼ばれる) にセルフサービスでアクセスできます。 プロジェクトに固有のツール、ソース コード、事前構築済みのバイナリを使用して開発ボックスを設定できるので、開発者は作業をすぐに開始できます。 開発者の場合は、日々のワークフローで開発ボックスを使用できます。

文章を読むだけではイメージが難しいですが、ひとことで言うとDev Boxは開発用の仮想マシンです。ですが、ただの仮想マシンでは無く、開発に必要な物があらかじめ用意されています。

例えば、Dev Boxを立ち上げると組織のアカウントでログインすることができ、Dev Box内のVisual Studioを起動してプロジェクトをクローンするとすぐに開発に取り組むことができます。

Dev Boxは、2023年6月現在ではまだプレビューですが、7月に一般公開される予定です。

learn.microsoft.com

試してみる

Dev Boxのクイックスタートは、2つあります。

  • Dev Boxを構成する
    • 管理者として、Azure portal から必要な Microsoft Dev Box リソースを構成します。
  • Dev Boxを作成する
    • 開発者として、開発者ポータルからDev Boxを作成します。
    • ブラウザーまたはリモート デスクトップ アプリでDev Boxに接続します。

それでは、実際にDev Boxを試してみましょう。

Dev Boxを構成する(管理者)

Dev Boxはすぐに使える訳では無く、以下のような構成を作成する必要があります。

Dev Boxの仕組み

https://learn.microsoft.com/ja-jp/azure/dev-box/overview-what-is-microsoft-dev-box

クイックスタート: Microsoft Dev Box を構成する

それでは、公式のクイックスタートの通りにDev Boxを構成してみます。

learn.microsoft.com

開発ボックスを構成する手順は以下の流れになります。

クイックスタートの流れ

  • デベロッパーセンター*2を作成する
  • ネットワーク接続*3を構成する
    • 仮想ネットワークとサブネットの作成
    • ネットワーク接続を作成する(Azure AD参加)
    • ネットワーク接続をデベロッパーセンターにアタッチする
  • 開発ボックス定義*4を作成する
    • SKU
      • Image: Visual Studio 2022 Enterprise on Windows 11 Enterprise + Microsoft 365 Apps 22H2
      • Image version: Latest
      • Compute: 8 vCPU, 32 GB RAM
      • Storage: 256 GB SSD
  • プロジェクト*5を作成する
    • 開発ボックスプール*6を作成する
  • 開発ボックスプロジェクトのアクセス権を付与する

クイックスタートが完了すると、以下の画像のように4つのリソースが作成されているのが確認できます。

Dev Boxを構成するリソース一覧

このフェーズが完了すると、プロジェクトにアサインされた開発者は、開発者ポータルを使用して開発ボックスを作成および管理できます。

Dev Boxを作成する(開発者)

構成の設定が終わったら実際にDev Boxを作成していきます。

learn.microsoft.com

クイックスタート: 開発ボックスを作成する

1. 開発ボックスを作成する

  • Microsoft developer portalにサインインします。
  • [+ 新しい開発ボックス]を選択します。
  • [開発ボックスの追加]に、名前、プロジェクト、開発ボックスプールを入力します。
  • [作成]を選択して開発ボックスを作成します。(作成には30分くらいかかります)

Dev Boxの作成

開発ボックスは、作成プロセスが完了すると自動的に開始され、実行されます。 開発ボックスには、実行中には常にコストが発生します。

2. 開発ボックスに接続する

開発者ポータルにサインインし、[ブラウザーで開く] を選択します。

Dev Boxの起動

ブラウザで新しいタブが開き、ログインを求められるので組織のアカウントでログインをすると、以下の画像のように開発ボックスを使用できるリモート デスクトップ セッションが表示されます。

以下の画像は、Visual Studioを起動し組織のアカウントでログインした後の状態です。この後は、プロジェクトをクローンするだけで開発に取り掛かることができるのでとても便利ですね!

開発ボックスに接続

料金について

料金については以下のようになっています。今回のクイックスタートで作成したDev Boxだと1時間で約200円かかります。Dev Boxはスペックの高いマシンを使うのでお値段が高めですね...

また、プレビュー期間中の限られた期間、Dev Box 8 vCPU、32 GiB メモリー SKU の最初の 15 時間と、Dev Box ストレージ SSD 512 GiB SKU の最初の 365 時間は、毎月無料です。気になる方はお早めにお試しください!

Dev Boxの料金
azure.microsoft.com

まとめ

Dev Box を構成する作業は工数が多いので、途中何をやっているか迷子になることがありました。ですが、一度設定してしまえば、ボタン一つでDev Boxを作成し、すぐに開発に取り掛かれるので環境構築に何日も時間をかけることが無くなりますね!

また、以下の動画の後半では、「すべての開発者がDev Boxを使用し、物理的なワークステーションを購入する必要が無くなる」というビジョンを語っており、環境構築に悩まなくても良い未来がくるのも近いと思いました!

関連記事

devblogs.microsoft.com

techcommunity.microsoft.com

*1:Dev Boxと開発ボックスは同義。

*2:デベロッパーセンターは、Dev Boxを企業の組織単位で整理するための論理コンテナです。作成できる数に制限はありませんが、ほとんどの組織で必要な数は1つだけです。

*3:ネットワーク接続は、Dev Boxが Azure AD に参加する方法を定義します。これにより、デベロッパーセンターと組織の仮想ネットワーク間がリンクされます。

*4:開発ボックス定義では、Dev BoxのSKU構成を定義します。Azure Marketplace からイメージを選択、もしくは独自のカスタムイメージを作成することもできます。

*5:Dev Box プロジェクトは、開発チームのアクセス ポイントです。 開発者をプロジェクトに追加し、開発ボックス プールへのアクセス権を付与します。

*6:開発ボックスプールは、開発ボックス定義をプロジェクトで利用するための設定です。プール内Dev Boxの自動停止スケジュールを構成できます。