Microsotは、開発者会議「Microsoft Build 2022」の中で、アプリケーションの開発環境をまるごとクラウド化し、Windows・MacOS・Android・iOS・ウェブブラウザなどからアクセスできるようにした新サービス「Microsoft Dev Box」を発表した。
Microsoft : Introducing Microsoft Dev Box
- Microsoftは開発者向けの仮想環境構築サービス「Microsoft Dev Box」を発表した。
- Dev Boxは、あらかじめ必要な開発環境やソースコード、ライブラリなどをまとめて仮想マシンとして用意できる。
- これによって開発者は、ワークステーションの設定やメンテナンスを気にすることなく、必要なツールやリソースに簡単にアクセスできるようになり、コーディングに集中する事が出来る様になる。
開発者版「Windows 365」とも言える「Microsoft Dev Box」
Microsoftによると、アプリケーションのビルドやデプロイなど一連のツールを用いた開発環境の構築はどんどん複雑になっており、開発チームのメンバーは開発環境の構築に大きな手間や時間を割いていると指摘。
「Microsoft Dev Box」は、新しい開発者用ワークステーションを迅速に立ち上げ、必要なツールや依存関係をすべてインストールし、いわば箱から出してすぐに使えるようにした状態で提供してくれる。開発者が自分たちにしか書けないコードに集中できるよう支援し、ワークステーションの設定やメンテナンスを気にすることなく、必要なツールやリソースに簡単にアクセスできるようにしてくれるのだ。
Microsoft Dev Boxを利用することで、開発チームは、アプリケーションの構築と実行に必要なすべてのツールと依存関係を含むDev Boxイメージを作成、管理することができます。開発チームは、アプリケーションのソースコードとナイトリービルドのバイナリを含めることができ、開発者は長時間の再ビルドを待つことなく、すぐにコードの実行と理解を開始することができます。
MicrosoftプリンシパルグループPM Anthony Cangialosi氏
「Dev Box」を使用すると、開発チームは、アプリケーションの構築と実行に必要なすべてのツールと依存関係を含む Dev Boxイメージを作成し、維持することができるという。このDev Boxイメージには、アプリケーションのソースコードとナイトリービルドのバイナリを含めることができ、開発者は長いリビルドを待つことなく、すぐにコーディングに取りかかることが出来るようになる。
Microsoftは、開発者がDev Boxを作成・削除し、さらに複数のマシンでタスクを並列化できるような開発者ポータルを用意している。開発者は、レガシーアプリや古いバージョンのアプリのためにDev Boxを維持し、顧客環境を再現することができるため、レガシーアプリケーションに携わる開発者は、古いバージョンのアプリケーションのDev Boxを維持することで、特定の環境に依存したアプリケーションのメンテナンス用環境保存にも役立つ。
また、Dev BoxはWindowsnoのVMだが、Linuxに展開されるWebアプリケーションなどのためのWindows Subsystem for Linuxや、モバイル開発用のWindows Subsystem for Androidをサポートすることが可能だ。これによって、クロスプラットフォームアプリを構築することも可能だ。
Microsoft Dev Box は、開発者がプロジェクト、タスク、さらには役割に応じた適切なツールとリソースを常に使用できるようにしている。Dev Box を構築する際、開発チームはさまざまな SKU から選択して、各プロジェクトに適したコンピュートレベルを定義し、老朽化した物理ハードウェアを即座にスケールアップすることができる。ローカルマシンの性能に依存せず柔軟な構成が可能だ。
「Azure Active Directory」との統合により、新しいチームメンバーをAzure Active Directoryグループに割り当て、プロジェクトに必要なDev Boxへのアクセス権を付与することで、迅速にチームに参加させることも可能だ。
新サービスは、マイクロソフトのクラウドPCサービス「Windows 365」も構築している既存技術「Azure Virtual Desktop」をベースにしている。Dev Boxは、Microsoft IntuneとMicrosoft Endpoint Managerを使用して、クラウドPCと同様に管理し、パッチを適用することができる。また、セキュリティに関しても、条件付きアクセス制御により、接続デバイスの要件を設定したり、多要素認証を要求したりすることができる。
そして、グローバルでの開発を支援するため、開発者のローカルリージョンに Dev Boxを配置し、Azure Global Networkを介して接続することで、開発チームは、遠隔地のチームメンバーが世界のどこにいても、高速で安定したアクセスを確保することができるという。外部チームにアウトソーシングする場合、開発チームはロールベースのアクセス許可を設定することで、ネットワークセキュリティを強化することも可能だ。
コストを抑制するために、スタート/ストップ・スケジュールを使用して、1日の始まりにDev Boxを起動し、開発者が帰宅するときに自動的にハイバネーションにすることも出来るという。開発者は、必要なときにいつでもDev Boxを起動して、作業を中断したところから再開することができる。また、チームはすべてのコストを一箇所で確認できるため、プロジェクトやチーム全体のコストを把握することができるのだ。
Dev Boxは記事執筆時点では、まだプライベートプレビュー版となっているが、今後数カ月でパブリックプレビュー版がリリースされる予定だ。