コンテナランタイム「containerd」が十分に成熟したとして、Cloud Native Computing Foundationの「卒業」プロジェクトに
Kubernetesなどの開発をホストしている団体「Cloud Native Computing Foundation」(CNCF)は、コンテナランタイムのcontainerdが「卒業」(Graduated)プロジェクトになったと発表しました。
CNCFはKubernetes、containerdをはじめ、Fluentd、gRPC、Helm、etcd、Prometheus、Envoy、CoreDNSなど多数のオープンソースプロジェクトをホストしています。
CNCFはこうしたプロジェクトを成熟度ごとに、実験的な位置付けとなる「Sandbox」、育成段階の位置付けとなる「Incubating」、そして十分に成熟した位置づけとなる「Graduated」に分類しています。
そしてそれぞれの段階にあるソフトウェアの導入はキャズム理論に従い、Snadbox段階のソフトウェアはいわゆる「イノベータ」と呼ばれる先進的なユーザーに、Incubating段階のソフトウェアはアーリーアダプターからアーリーマジョリティなユーザーに、そしてGraduated段階のソフトウェアはコンサバティブなユーザーに導入が勧められるものとなります。
containerdがCNCFの卒業(Graduated)プロジェクトになったことは、containerdが十分に成熟し、保守的なユーザーにとっても安心して導入できるソフトウェアになったとCNCFが位置づけたことを意味します。
事実上の標準コンテナランタイム
containerdは、もともとDockerのコンテナランタイムとしてDockerとともに開発されていたものです。これが2016年12月に単独のオープンソースプロジェクトとなり、アリババ、AWS、Google、IBM、マイクロソフトらが共同で開発を進めていくことになりました。
参考:Dockerエンジンのコアランタイムが「containerd」として分離、独立したオープンソースプロジェクトに。Docker、AWS、Google、IBM、マイクロソフトらが協力して開発推進へ
2017年3月にはプロジェクトがCloud Native Computing Foundationへ寄贈され、2017年12月に、バージョン1.0に到達しています。
コンテナランタイムの実装は、(レイヤがやや異なるかもしれませんが)例えばOpenStack Foundationがオープンソースで開発しているセキュアなコンテナランタイム「Kata Container」や、Googleがオープンソースで公開した「gVisor」など、さまざまな選択肢が登場しています。
その中でcontainerdはDockerのコンテナランタイムとして使われており、事実上の標準コンテナランタイムだといえます。また、コンテナランタイムの標準であるOCI(Open Container Initiative)へ準拠してもいるため、さまざまなプロジェクトでコンテナランタイムとして採用されつつあります。
例えば先日登場して話題となった軽量なKubernetesディストリビューションの「k3s」でも、コンテナランタイムとしてcontainerdが採用されていることが明らかになっています。
コンテナの普及とともに今後さまざまな場所でコンテナが実行されることになるはずです。containerdはそのためのランタイムとして今後も採用が広がっていくことでしょう。
あわせて読みたい
「Scrum Inc. Japan」が設立。「スクラム」の導入支援により、イノベーションを実現。KDDI、永和システムマネジメント、Scrum Inc.が合弁
≪前の記事
Docker RegistryをP2Pでスケーラブルに再構築した「Kraken」、Uberがオープンソースで公開