• 会員限定
  • 2017/12/14 掲載

Dockerの歴史から紐解く、コンテナ型仮想化の「今まで」と「これから」

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
1
会員になると、いいね!でマイページに保存できます。
この記事では、Docker登場から現在までを振り返り、その次の段階を展望します。
photo

 コンテナ型仮想化の技術や実装はDockerが登場する以前から存在していたとはいえ、IT業界で本格的にコンテナの活用が始まったと言えるのは、やはり2013年3月に当時のdotCloudからDockerが登場したことがきっかけでしょう。

 そうした始まったコンテナ時代の第一章は今年2017年、コンテナの標準仕様がOpen Container Initiativeによって策定完了し、コンテナオーケストレーションの事実上の標準がKubernetesに決まったことで、基盤技術の基本要素がおおむね固まり、第一章としての区切りがついたように見えます。

 そして今後は、この基盤技術を用いたコンテナによる分散アプリケーションのための様々なサービスや開発、テスト、デプロイ、本番環境に対応したツールやサービス実行環境などのソリューションが登場し、競う段階へ入っていくのではないでしょうか。

 この記事では、Docker登場から現在までを振り返り、その次の段階を展望します。

2013年、Docker登場

 Dockerが登場したのは2013年3月26日のことでした。

・Dockerリリース
 2010年に創業し2011年からPaaSを提供するクラウドベンダーだったdotCloudが3月、オープンソースのソフトウェアとして公開しました。


・dotCloudからDockerへ
 そのDockerは登場当初から急速に注目されるようになり、その結果dotCloud社は社名をDockerに変更し、Dockerを同社のビジネスとして立ち上げるという大胆な発表を行います。


photo
about Docker - Docker Inc.」から引用

・Docker 0.7
 2013年11月に登場したDocker 0.7で、Ubuntuなど一部のLinuxでしか利用できなかったDockerが、RHEL、SUSE、DebianなどすべてのLinuxディストリビューションに対応します。

2014年、Googleは毎週20億のコンテナを起動していた

 2014年は、コンテナがIT業界の大きなトレンドとして認識された年でした。

・Docker 0.9
 2014年3月にリリースされたDocker 0.9では、それまで依存していたLXCから独自に実装したlibcontainerへ切り替えることで安定性が向上。

 2014年4月には、Red HatがDocker専用の軽量OS「Red Hat Enterprise Linux Atomic Host」を発表。Dockerはニッチではなくメインストリームの技術であるという認識が広まり、日本でもDocker Meetupなどのイベントが開催されるようになりました。


・Googleはすべてをコンテナ化していた
 こうしてコンテナへの注目度が国内外で高まる中、Googleはすでに全部のソフトウェアをコンテナ化しており、毎週20億個ものコンテナを起動していると発表し、多くのエンジニアを驚かせました。

photo

・Docker 1.0リリース
 6月10日は早くもDocker 1.0が登場。同時にDockerイメージを管理するDocker Hubが発表されました。


・Google、Kubernetes発表
 その同じ6月10日、GoogleはKubernetesをオープンソースとして公開することを発表します。


・VMware、マイクロソフトが相次いでDockerと協業発表
 8月にはVMwareがDockerとの協業を発表。10月にはマイクロソフトもDockerと提携し、Windows ServerでDocker採用と発表

 そして同じ頃、DockerはdotCloudのビジネスをcontrolCloudに売却し、Dockerビジネスに専念することを表明。

・Docker Swarm
 12月にはDockerが独自のコンテナオーケストレーションツールのDocker Swarmを発表します。

2015年、コンテナ仕様は標準化へ

・Open Container Initiativeスタート
 コンテナ実装のあり方についてやり合っていたDockerとCoreOSが、6月にマイクロソフト、Google、Red Hat、VMware、Amazon Web Servicesらと共同でコンテナの標準化団体「Open Container Initiative」(発表時の名称はOpen Container Project」の発足を発表。それまでDockerやCoreOSなどそれぞれのベンダが独自に実装していたコンテナが、一気に標準化へ舵を切ります。


photo

・Cloud Native Computing Foundation設立
 7月、それまでGoogleが主導してオープンソースの実装を進めてきたKubernetesも、バージョン1.0に達すると同時に、ベンダから独立した団体である「Cloud Native Computing Foundation」を設立。開発主体がこの団体へ移動します。


 8月にはDockerと提携したマイクロソフトが、Dockerを搭載したWindows Server 2016 Technical Preview 3を公開。9月にはVmwareがvSphereにコンテナエンジンを統合した「vSphere Integrated Containers」を発表します。

2016年、Swarm対Kubernetes

・Docker for Mac/Windows登場
 3月にはVirtualBoxなどが不要でOSネイティブの仮想化を用いた「Docker for Mac/Windows」が登場

・DockerにSwarmバンドルを発表
 6月におこなわれたDockerCon 16では、Dockerにコンテナオーケストレーション機能のDocker Swarmを内蔵することを発表。このあたりから、SwarmとKubernetesを軸としたコンテナオーケストレーションツールの主導権争いが表面化してきます。


 8月には発表通り、Docker Swarmを内蔵した「Docker 1.12」が登場

・Kubernetesが独自コンテナランタイム開発を表明
 Kubernetes側は当然のことながら、こうしたDockerの動きを歓迎しませんでした。10月には、Kubernetesの開発陣が独自のコンテナランタイム「cri-o」を開発中であることを表明します。


・Dockerからcontainerdが分離
 これをDocker側が警戒したのかどうかは不明ですが、12月にはDockerエンジンのコアランタイムを「containerd」として分離、独立したオープンソースプロジェクトとなります

 また、11月には日本人としては初めてのDockerメンテナとして、NTTの須田氏が就任しました

2017年、Kubernetesが事実上の標準に

 そして今年、コンテナオーケストレーションツールをめぐる状況は大きく動きました。

・Kubernetes優勢の状況へ
 2月、CoreOSはKubernetesがコンテナオーケストレーションツールのデファクトになったとし、自社で開発していたオーケストレーションツール「fleet」の開発終了を発表します。


 この頃から、Kubernetesがコンテナオーケストレーションツールとして頭一つ抜け出した状況が見え始めます。

・Kubernetes 1.6登場
 3月に登場したKubernetes 1.6は、etcd3とgRPCを採用したことで大幅に性能向上。さらに名前空間の分離や物理ノードの考慮などの機能向上も果たしました

・Moby Project発表
 4月、DockerCon 2017でDockerはMoby Projectを発表します。Moby Projectはさまざまなコンテナ関連のソフトウェアをコンポーネント化することで、目的ごとに特化したコンテナシステムを作ることができるフレームワークです。


photo

 6月にはオラクルもKubernetesへの注力を発表

・コンテナ標準のOCI 1.0発表
 7月にはついにOpen Container Initiativeによるコンテナランタイムとコンテナイメージの標準化作業が完了し、「OCI 1.0」として発表されます

 7月、8月、9月と相次いでマイクロソフト、AWS、VMware、オラクルがKubernetesの開発をホストするCloud Native Computing Foundationへの加盟を発表。状況はKubernetesへ一気に傾き始めました。

・DockerがKubernetesの統合を発表
 そして10月に開催されたDockerCon Europe 2017で、DockerはついにKubernetesの統合とサポートを発表しました。コンテナオーケストレーションの事実上の標準がKubernetesになったと言えます。


photo

・主要クラウドもKubernetesマネージドサービス提供
 10月にはMicrosoft AzureがKubernetesのマネージドサービス「Azure Container Service」(AKS)を発表。Google Cloudはこれまで提供してきたKubernetesベースのGoogle Container Engineを「Google Kubernetes Engine」(略称GKEはそのまま)にサービス名を変更。そして11月にはAWSも「Amazon Elastic Kubernetes Service」(Amazon EKS)を発表しました

・Kubernetesのコンテナランタイム「cri-o 1.0」リリース
 Kubernetesが独自に開発を進めていたコンテナランタイムのcri-oも1.0に到達。コンテナランタイムとKubernetesのあいだのAPIも「CRI」(Kubernetes Container Runtime Interface)となりました。

 これによってコンテナランタイムとコンテナイメージの標準は「OCI」、コンテナランタイムとKubernetesとの間のAPIは「CRI」として標準化されたことになります。

【次ページ】 今後何が起きるのか? 2018年はコンテナによるソリューションのフェーズへ
関連タグ タグをフォローすると最新情報が表示されます
あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます