2017年後半から現在までをDockerコンテナ時代の第二章と位置付けるとするならば、コンテナ型仮想化を基盤としたさまざまな技術が同時に発展しはじめた時代といえます。
それらをPubilckeyなりに整理すると、次の3つに大別できます。
本記事では、第二章における3つのトレンドとしてそれぞれを紹介していきましょう。
コンテナランタイムとコンテナイメージの標準が「OCI」として、コンテナランタイムとKubernetesとの間のAPIが「CRI」として標準化されたことは、さまざまなコンテナランタイム登場の下地となりました。
2017年7月、Open Container Initiativeによるコンテナランタイムとコンテナイメージの標準化作業が完了し、「OCI 1.0」として発表されます。
3カ月後の2017年10月、Kubernetesが独自に開発を進めていたコンテナランタイムのcri-oも1.0に到達。コンテナランタイムとKubernetesのあいだのAPIも「CRI」(Kubernetes Container Runtime Interface)となりました。
そしてDockerから分離し独立したプロジェクトになっていたコンテナランタイムのcontainerdは、この数カ月後にバージョン1.0に到達しました。
事実上の標準コンテナランタイムであるcontainerdが独立、成熟する一方、OCIやCRIに対応した新たなコンテナランタイムもさまざまなベンダーから登場し始めます。
前述のように2017年10月にはKubernetesの開発チームから独自のコンテナランタイム「cri-o」が登場しましたが、その3カ月前の2017年7月にはオラクルが、Rust言語で実装したより高速に起動するコンテナランタイムの「Railcar」をオープンソースで公開しています。
2017年12月にはOpenStack Foundationが仮想マシンをベースとしたよりセキュアなコンテナであるKata Containersの開発を発表。
翌年、2018年5月7日にはGoogleがコンテナのセキュリティを大幅に高めたgVisorを発表。大きな話題となりました。
5月15日にはgVisorがAppEngineに採用されたことも発表し、本番環境で実用できることが示されました。
そのすぐ後の5月24日、Kata Containersもバージョン1.0に到達します。
さらに半年後の2018年11月27日、AWSがFirecrackerを公開。仮想マシンと同等のセキュリティと150ミリ秒以下の高速起動を実現すると紹介され、AWS Lambdaに使われていることも明らかにされました。
Kata Containersが仮想マシンを軽量化するというアプローチの一方、gVisorはコンテナをよりセキュアに実装するアプローチなど、Publickeyでは紹介できていないコンテナランタイムも含めてさまざまな特徴を持つコンテナの選択肢が広がっています。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR