この発表で注目すべきなのは、DockerのREST APIをターゲットにすることで、PowerShellがあらゆるプラットフォーム上でDockerコンテナを扱えるという点である。WindowsにインストールしたPowerShellモジュールで、Windows ServerやLinux上のコンテナをリモートから管理できるのだ。これはMicrosoftにとって、Windows Management Interface以外のAPIに対応した管理ツールをリリースするという、重大な方針転換を意味している。
そしてこの方針転換は、PowerShellとPowerShellモジュールの今後の方向性に関する、興味深い事実を示唆している。PowerShellのUNIX対応は以前から要望されており、特定のUNIX機能をリモート管理するMicrosoft公式のコマンドレットや、サードパーティー製コマンドレットが存在していた。PowerShellのUNIX版が登場するか否かについては、さまざまな憶測が流れていたが、DevOpsプラットフォーム用APIとSSH接続機能を提供するUNIXツールが出揃うにつれ、Microsoft製ツールのUNIX対応を求める声は、次第に小さくなっていった。
WindowsのSSHサポートが見込まれる今、PowerShellのDocker対応の延長線上に、PowerShellのUNIX対応が控えている可能性は十分にある。これが実現すれば、シェルスクリプトをPowerShellでラッピングしてSSH経由で実行するか、REST API経由でアプリケーションやサービスを直接ターゲットに指定する形で、Windows上で特定のUNIXコマンドをPowerShellスクリプトのターゲットとして指定できるようになる。
Windowsは、BashとPowerShellという2つの広く普及したリモート管理プラットフォームを手に入れた。サーバGUIに終止符を打つときが来たのだ。
サーバGUIの終焉は、サーバ管理にGUIが使用されなくなるという意味ではない。GUIの実行環境は、デスクトップ、ノートPC、モバイル端末に移行するだろう。
近い将来に実現されるこうしたテクノロジの一部は、Microsoftの管理ツール「System Center」ですでに採用されている。System Centerの「Virtual Machine Manager」を使用すれば、簡単なマウス操作だけで仮想インフラストラクチャを構築し、仮想ネットワーク上で実行される一連の仮想サーバを構成できる。
この管理GUIの裏では、マウスで簡単に操作できる管理サービスをPowerShellやBashのスクリプトに変換するために、極めて特殊なツール群が実行されている。仮想マシンを構築するためのマウス操作が、プロセスの自動化に必要なスクリプトのオーサリング作業に変換されるのだ。スクリプトの作成が完了したら、後はそのスクリプトをエディタにコピーするだけで、明示的なマシン名が変数に変換され、反復利用可能な汎用コマンドレットが作成される。
これと同様のコンセプトが、より複雑かつ本格的な形でAzureにも採用されており、Azureリソースマネージャのテンプレートを使用すると、インフラストラクチャ全体を記述して展開できる。一方、「Visual Studio」に搭載されているツールを使用すると、サーバやネットワークを展開するテンプレートに加えて、データベースやストレージなど、Azureのプラットフォーム機能を構成して接続するテンプレートも簡単に作成できる。