こういった紆余(うよ)曲折の末に、Dockerが登場した。Dockerは現在最も注目を集めているコンテナ化技術だ。Linuxの場合、Dockerはコンテナ化のエンジン部分としてLXCを使用するようになっている。
Dockerでは、複雑なアプリケーションを「パッケージ化」し、パブリックリポジトリへとアップロードしておけば、スマートフォンやタブレットにアプリケーションストアからアプリケーションをダウンロードするのと同じ感覚で、Dockerホスト(「Docker Engine」とコンテナ化プラットフォームが稼働しているOS)の稼働するパブリッククラウドやプライベートクラウドにダウンロードできる。Dockerはこの点で、上述した他のコンテナ化技術とはひと味違っている。
また、VMでのホスト間のマイグレーションのように、コンテナでも簡単に(そしてより迅速に)ホスト間のマイグレーションが可能となっている。
さらに、「Docker Swarm」を採用すれば、ネイティブなクラスタリング機能が手に入るため、複数のDockerホストをグループ化することも可能になる。
現在のDockerは主に、Linuxをベースにしたコンテナパッケージ化技術となっている。しかし、この状況は急速に変わりつつある。Microsoftは、Azureでのコンテナ化におけるパッケージ標準としてDockerを採用し、Dockerと手を組んだ。これによりLinuxのDockerアプリケーションは、Microsoftのパブリッククラウド上で何の問題もなく実行できるようになっている。
またMicrosoftは、Windows用のネイティブなDocker Engineと、ネイティブな「Docker Client」の開発を表明しているほか、「Windows Server Containers」という正式名称が付けられたWindows版のDocker互換のネイティブなコンテナフォーマットも開発する計画だ。

提供:Microsoft
Windows Server Containersは「ベアメタル」サーバ上や、Hyper-Vをサポートした「Windows Server」のVM内で稼働するようになる。
会社の運営に責任を持つ立場の人間として、この動きはどのような意味を持っているのだろうか?つまるところ、われわれのVMに対する依存度が低下するなか、コンテナによる仮想化ホストあたりの環境密度の向上が期待できるため、クラウドコンピューティングのコストが全体的に低下するはずだ。そして、特にハイパースケールクラウドの世界では、クラウドストレージで起こったような価格競争が起こるだろう。
Dockerおよび関連するコンテナ技術は成熟を続けている。このため、業務アプリケーションのアーキテクチャの見直しや刷新を検討し、パブリッククラウドやプライベートクラウドでのコンテナの採用に備えておいてほしい。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。