Cloud Native Computing Foundation(CNCF)は、Kubernetes上でサーバレス基盤を構築するためのソフトウェア「Knative」(ケイネイティブ)が、CNCFのインキュベーションプロジェクトとして承認されたことを発表しました。
Googleが昨年12月にKnativeをCNCFに寄贈すると発表しており、それが認められた形です。
なぜ消極的だったGoogleがKnativeをCNCFに寄贈したか?
Knativeは、2018年にGoogleがオープンソースとして発表し、同社が主導して開発を進めてきたソフトウェアです。
Kubernetesの上でイベントをトリガーにしてコンテナを実行し、負荷に応じてコンテナの実行数をゼロから任意の数にまで自由に増減させる、いわゆるサーバレスコンピューティングの基盤を構築できます。
KnativeはGoogle Cloudのサーバレスコンピューティングサービスの1つであるCloud Runの基盤ソフトウェアとしても使われています。
GoogleはKnativeの開発を主導してきましたが、CNCFへの寄贈についてはずっと消極的な姿勢を見せてきました。これはKnativeがGoogle Cloudのサービス基盤を構成するソフトウェアであるため、開発の主導権を自社で持ち続けたいからではないかと見られていました。
一方でKubernetes上でサーバレス基盤を構築するソフトウェアはKnative以外にも選択肢がありました。マイクロソフトとRed Hatが中心となって開発してきた「KEDA」です。
KEDAは2020年という早い段階でCNCFに寄贈され開発が進められてきました。
そして2021年にはマイクロソフトがMicrosoft Azureのコンテナ用サーバレス基盤としてKEDAを採用します。
そして現状を見渡すと、おそらくGoogleがKnativeを発表したときに望んだであろうと思われるほどには、Knativeの採用は広がっていません。主要なサービスやソフトウェアで採用しているのはGoogleとIBMくらいでしょう。そして残念ながらIBMはほとんどこの分野で存在感がありません。
こうしたなかでGoogle CloudではAnthosを中心とするKubernetes環境上でサーバレス基盤をより多くのユーザーに使ってもらうようにするには、Knativeをできるだけ事実上の標準の地位へと向かわせる必要があると考えた可能性があります。
少なくともKnativeより選考してCNCFに採用されたKEDAが、CNCFの威光によって事実上の標準と見なされるようになることだけは抑止したいはずです。
今回GoogleがKnativeをCNCFに寄贈し、インキュベーションプロジェクトになった背景には、こうした状況があるのではないかと考えられます。