CNDO2021、CNCFの提供するクラウドネイティブランドスケープを解説するセッションを紹介
クラウドネイティブなコンピューティングシステムを推進するための非営利団体CNCF(Cloud Native Computing Foundation)は、ホストするプロジェクトを支援することで企業や官公庁、公共機関などにおけるシステムのクラウドネイティブ化を推進している。CNCFはその活動の一環として、企業がクラウドネイティブに向かう場合の指針をランドスケープとして公開している。クラウドネイティブランドスケープと呼ばれる対話型のWebサイトは、各プロジェクトの状況や同じような機能を果たすプロジェクトを検索する時に役に立つ。今回はそのランドスケープを解説するセッションを紹介する。
セッションを行ったのは、エーピーコミュニケーションズのインフラエンジニアである藤原善基氏だ。
「物語から入る」と謳っているように、最初はKubernetesのストーリーから始まる。Google社内のコンテナオーケストレーションシステムであるBorgがオープンソースを目指してGoで書き直され、Kubernetesとして公開されたという経緯を解説した。
筆者がIBMやRed Hatのエンジニアやエグゼクティブから聞いている話を追加の物語として補足する。すでに社内で多くのコンテナを使っていたGoogleは、docCloud(現Docker)が発表したDockerが急速に拡がっていった状況から、その先にコンテナをオーケストレーションするツールが必要だということを見通していた。当時、Mesosphereが開発していたMarathon、Dockerのコンテナオーケストレーションツールの実装であるSwarmなどがすでに姿を表しつつあった時分である。この状況下でデファクトスタンダードを取るために、社内のツールであったBorgをKubernetesとして公開したというのが背景だ。
またGoogleは、Dockerのオープンソースとしてのガバナンスを不十分とみなしていたことから、Kubernetesに関しては独自の組織を作り、そこで管理をしたいと考えていたようだ。一方、KubernetesをThe Linux Foundation配下の組織にホストされるべきだと強力にプッシュしたのが、IBMとRed Hatだったと記憶している。
Googleは後年、Kubernetesの方向性などに対して自社の意向が反映できない状況に対して不満を抱いていた。これはGoogleのエグゼクティブなどのインタビューからも知ることができる。その結果かどうかは不明だが、オープンな組織に寄贈することを予定していたサービスメッシュのプロジェクトであるIstioはCNCFにホストされずに、Googleが新たに立ち上げたOpen Usage Commonsという団体においてホストされることになった。Googleのこの判断は、IT業界やオープンソースコミュニティに大きな波紋を起こしたことは記憶に新しい。しかし当のOpen Usage Commonsが、CNCFと比べて明らかに不活性であることは公式サイトを見れば理解できるだろう。
藤原氏はクラウドネイティブの概要について解説し、さらにCNCFの組織についても解説を加えた。
ただより正確にはCNCFはLF配下の「コミュニティ」ではなく、非営利団体として正規職員34名を抱える組織であり、オープンソースソフトウェアを開発するコミュニティとは異なることだけは明記しておきたい。
CNCFのプラチナムメンバーになるためには年間37万ドルを最低でも3年間支払い続けるというコミットメントを求められ、ゴールドメンバーでも年間12万ドルをフィーとして支払う必要がある。CNCFは非営利団体として利益を配分することはないが、2021年5月の段階でAWS、Google、Microsoft、Intel、Red Hat、富士通、Huaweiなど21社のプラチナムメンバー、19社のゴールドメンバー、476社のシルバーメンバーを抱えており、IT業界最大の非営利団体と言って良いだろう。より正確な情報については、CNCFのページを見てほしい。
参考:Who we are | Cloud Native Computing Foundation
またLFは「複数のコミュニティを運営」と紹介されているが、コアとなるLinux以外にも車載システム向けのLinuxにフォーカスしたThe Automotive Grade Linux Foundationや、ブロックチェーンの実装であるHyperledgerなどもサブプロジェクトとしてホストしていることは知られてないかもしれない。興味のある読者は以下を参照されたい。
参考:https://www.linuxfoundation.org/projects
藤原氏はCNCFのTOC(Technical Oversight Committee)についても解説を行った。
このスライドでは指針の中から「No Kingmakers & One Size Does Not Fit All」がポイントとして強調されているが、「製品ではなくプロジェクトにフォーカスしていること」「プロジェクトは個々に独立したガバナンスを行うこと」「標準化の組織ではないこと」についても注目すべきだろう。
CNCFの中には機能的にオーバーラップするプロジェクトが存在することは、ランタイムなどを見ても明らかである。Kubernetesを除けば、同じ領域に複数のツールが存在することが悪いことではないことを表しており、「Comprehensive Toolchain」の意味はその競合を許す意図が込められていると言える。またプロジェクトのガバナンスについて、プロジェクトのメンバーに任せるという部分も、「支援はするが管理はしないと」いう意図を感じられる。他にも、TOCは活動の劣化したプロジェクトについて支援を止めるという判断をするグループでもあることは知られて良いだろう。
ここではトレイルマップを指して「Cloud Nativeなアプリをデプロイするためには多くのルートがある」と紹介されているが、実際に組織がクラウドネイティブなシステムを取り入れるためには、トレイルマップのステップに従うのが最適であろう。
その中でも最初の項目であるコンテナ化の次に継続的かつ自動的にアプリケーションを実装するCI/CD、その次にオーケストレーションのKubernetes、そしてそのアプリケーションのライフサイクルを管理するHelmまでが必須の項目として挙げられており、4番目以降はオプションであると明記されている部分に注目すべきだ。
参考:https://github.com/cncf/landscape/blob/master/README.md#trail-map
次にCNCFの動きとトレンドとして紹介したのは、TOCのメンバーの入れ替えについてだ。ここでは2年間の任期において投票で選出されることが紹介された。
またベンダーやデベロッパー側の意向が強く効きがちなオープンソースコミュニティにおいて、End User Communityをサブグループとして持ち、常にエンドユーザーの声を聞くことをモットーとしているCNCFらしく、エンドユーザーからのサーベイに基づいてどのプロジェクトがエンドユーザーに評価されているのか? を示すためのEnd User Technology Radarも紹介した。
ここではクレデンシャルを管理するためのSecret Managementにフォーカスを当てて紹介をしているが、他にもデータベース、継続的デリバリーなどについても結果が出ている。同時にそれらが30社に満たない企業からのデータであることも知っておくべきだろう。これが数百というレベルになった時にもっと実態にマッチした結果が出てくることを期待したい。
参考:CNCF End User Technology Radar
最後にTOCのチェアーであるLiz Rice氏が2021年に注目しているテクノロジーについて紹介して、セッションを終えた。このスライドでは5つのポイントがKubeConのコロケーションイベントと呼応していると解説している。実際にはベンダーが主導するイベントも多数開催されており、CNCFとそのメンバー企業にとっては、自社のサービスや開発をリードするプロジェクトへの注目を集めるための機会として利用されていることも併記しておきたい。
またCNCFはプロジェクトのホストだけではなく、イベントを通じた啓蒙、トレーニングコースの開発、Kubernetesなどをサービスとして提供する認定パートナー制度など、多方面に活動を拡げている。またイベントにおける規約や多様性についてもしっかりとした指針を設けており、スタッフやガバナンスをリードするリーダー層の男女比についても男性に偏らないようにすることなどについても気を配っている。
各プロジェクトの開発状況を一概するDevStatsや用語を統一するための試み、グロッサリーなども用意され、デベロッパー、オペレーター、エンドユーザー、ベンダーまで全方位に視野に入れて活動していることが良くわかる。
参考
DevStats
Cloud Native Glossary
また年次のレポートも公開されており、より詳細にCNCFの活動を知りたい人はぜひ熟読することをお勧めする。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- KubeCon 2018 EU開催 着実に拡大するKubernetesエコシステム
- GoogleがIstioを新組織に寄贈。トレードマークだけの管理に意味は?
- CNDT2021、日本オラクルのエンジニアによるクラウドネイティブを再確認するセッション
- LFがエントリーレベルの認定試験「認定Kubernetesクラウドネイティブアソシエイト(KCNA-JP)」日本語版を提供開始
- Linux Foudationの2020年上半期の動きを振り返る(2)
- CNCFが2021年のプロジェクトやユーザーに関する最新レポート「CNCF 2021 ANNUAL REPORT」を公開、よりクラウドネイティブの採用が増加
- CloudNative Days Spring 2021開催。CNCFのCTOが語るクラウドネイティブの近未来
- CNDT2020シリーズ:オススメのGitOpsツールをCAのインフラエンジニアが解説
- CNCFが2022年の活動と成果を振り返る「CNCF Annual Report 2022」を公開
- CNDO 2021、KubernetesのセキュリティをHPEのアーキテクトが解説