コンテナプラットフォームに注力するWindows Server、「Nano Server」をコンテナ用OS最適化でサイズ半減へ。Windows Server上でLinuxコンテナも実行可能に
Windows Server 2016には、フル機能のWindows Server 2016のほかに、GUI関連の機能を省くなどで軽量化した「Server Core」と、さらに必要最小限の機能だけを残すことで最小化した「Nano Server」の3種類があります。
参考:マイクロソフト、Windows Serverをコンテナ向けに徹底軽量化した「Nano Server」を発表。サイズを10分の1以下に
マイクロソフトは9月に予定されている次のWindows Serverのアップデートで、もともと軽量だったNano Serverを今まで以上にコンテナに最適化するためにインフラ関連の機能を削除し、サイズを50%以上縮小する計画を明らかにしました。
This next release will focus on making Nano Server the very best container image possible. From these changes, customers will now see the Nano Server images shrink in size by more than 50 percent, further decreasing startup times and improving container density.
次のリリースでフォーカスするのは、Nano Serverを可能な限りコンテナに最適なものにすることだ。この変更で、Nano Serverのイメージは50%以上縮小されるだろう。これにより起動時間は速くなり、コンテナの密度を改善できる。 (Delivering continuous innovation with Windows Serverから)
その背景として、顧客にとってコンテナを利用することが最優先になっており、そのためにはよりコンテナの実行系を小さくすることが求められているからだと説明されています。
Windows Server上でLinuxコンテナを実行可能に
Windows Serverのコンテナ機能の1つである「Hyper-V Isolation」でLinuxコンテナがサポートされることもあらためて表明されました。
これは4月に行われたDockerのイベント「DockerCon 2017」で発表されていたものです。
参考:マイクロソフト、Windows Serverのコンテナ機能でLinuxコンテナのサポートを発表。主要なLinux OSとLinuxKitに対応。DockerCon 2017
Windows Server上でコンテナを実行するには、ホストとなるWindows Serverとカーネルを共有する(すなわち通常のLinuxコンテナとほぼ同じアーキテクチャの)「Windows Server Container」と呼ばれる機能と、ハイパーバイザであるHyper-Vの技術を用いて、コンテナでありながらホストOSから高度に分離されてカーネルも共有しない「Hyper-V Isolation」と呼ばれる機能の2つがあります。
今回の発表は、後者のHyper-V Isolation内でLinuxカーネルを実行することで、Windows Serverが提供するコンテナ上でLinuxコンテナの実行を実現するというもの。
これまでもWindows Server上でHyper-Vによる仮想マシンを立ち上げ、そのなかでLinuxを起動すればWindows Server上でLinuxコンテナを起動することは可能でしたが、Hyper-V IsolationというWindows Serverネイティブのコンテナ機能のなかでLinuxコンテナが実行できることで、オーバーヘッドが小さく、よりWindowsと統合された環境でLinuxコンテナが利用できるようになることが期待されます。
Windows Subsystem for Linux搭載でLinux互換も
さらにマイクロソフトは5月に開催されたイベント「Build 2017」で、Windows ServerにもWindows 10で導入された「Bash on Windows」を搭載することを明らかにしています。
今回の発表ではそのことにもあらためて触れられおり、9月に予定されているWindows Serverのアップデートで搭載が始まるようです。
Bash on Windowsとは、Windows OSの内部に「Windows Subsystem for Linux」とよばれる機能を内蔵することで、WindowsにLinux互換機能を持たせるというもの。
Windows ServerにもこのWindows Subsystem for Linuxが搭載されることになるため、Windows ServerもLinux互換機能を備えるようになります。すると、Windows ServerでBashはもちろん、MySQLやNode.js、Ruby、PythonといったLinuxアプリケーションがLinuxバイナリそのままで実行可能になるはずです。
参考:マイクロソフトは「Windows Subsystem for Linux」を強化し、Windowsを「WindowsとLinuxのどちらのバイナリも開発、実行できるプラットフォーム」にするつもりだ
マイクロソフトはWindows Serverを、WindowsコンテナはもちろんLinuxコンテナにも対応した、優れたコンテナ環境を実行するOSへ深化させようと注力させているようです。と同時に、積極的にLinux環境をWindows Serverへ取り入れることで、LinuxデベロッパーもWindows環境へ取り込むことを目論んでいるのでしょう。
あわせて読みたい
SUSE CaaS Platformが正式リリース。Kubernetes、SLE MicroOS、Saltを統合したコンテナプラットフォーム
≪前の記事
Windows Server、今後は年2回の新機能アップデート、Windows 10と同様3月と9月に。ただし数年ごとのメジャーバージョンアップも継続