Google Cloudの開発責任者が語るKubernetesの成功の秘訣

2018年3月28日(水)
松下 康之 - Yasuyuki Matsushita
Open Source Leadership Summit開催。Kubernetesプロジェクト成功の秘訣をGoogle Cloudの開発責任者が解説する。

The Linux Foundationが開催した「Open Source Leadership Summit」にてGoogle CloudのDirector of EngineeringであるChen Goldberg氏がキーノートに登壇した。ここではこの日(2018年3月7日)にCloud Native Computing Foundation(以下、CNCF)のプレスリリースによって、Incubationモードからの卒業が発表されたKubernetesについてのセッションを紹介する。

LinkedInのprofileによれば、Goldberg氏は2016年からGoogle Cloudの開発チームのディレクターに就任している。前職は2007年から2011年がHPのイスラエルの拠点でエンジニアリングマネージャー、2011年から2016年がアメリカでHPのクラウドビジネスの責任者だそうで、そののちにGoogle Cloudの責任者に就いたという経歴を持っている。自己紹介で「KubernetesとIstioの開発を行っている」とコメントしたことから、KubernetesだけではなくIstioについても開発を推進している人物と見ていいだろう。

Google CloudのDirector of Engineering、Chen Goldberg氏

Google CloudのDirector of Engineering、Chen Goldberg氏

Goldberg氏の講演のテーマは、「オープンソースと非オープンソースの開発にどのように投資をバランスさせるか?」「オープンソースプロジェクトを成功させるためにKubernetesがやったことは何か?」などだ。これらのポイントについてのJim Zemlin氏の後を受けての講演となった。

参考:Open Source Leadership Summit開催。ディレクターのJim Zemlinがキーノートを講演

最初にKubernetesがCNCFのインキュベーションから次の段階に移行したことを説明すると、会場からは拍手が起きた。

KubernetesがCNCFのIncubationから卒業

KubernetesがCNCFのIncubationから卒業

オープンソースプロジェクトが企業で誕生した後、非営利団体を作ってその中でガバナンスを行うことは珍しくないが、CNCFは非常に厳密なガバナンスモデルを採用しており、Incubationから卒業するためにも明確なクライテリアが存在する。

参考:CNCFのGraduation Criteria

多くのオープンソースプロジェクトをホストするApache Software FoundationにもIncubationからTop-Level Projectに至るプロセスは定義されているが、CNCFにおいては「Linux FoundationのCore Infrastructure Initiative(CII)から認定されているかどうか?」「12ヶ月ごとにプロジェクトの状況を確認するステップでCNCFのTechnical Oversight Committeeによるチェックに通っているか?」などが特徴的である(CIIはオープンソースソフトウェアのセキュリティを確保するためのイニシアティブ)。

Goldberg氏は、Kubernetesがコンテナオーケストレーションのデファクトスタンダードであることの裏付けとして、すでに4000以上のプロジェクトがKubernetesを使っていること、5000人以上のコントリビューターがいること、GitHub上で3万スターを得ていることなどを紹介した。

多くの企業で使われているKubernetes

多くの企業で使われているKubernetes

そして「みんな、ポケモンGoやってる? やってますよね。私もやっていますけど、真剣にはやっていない。なぜならポケモンGoはGoogle Kubernetes Engine(GKE)で動いているから。あんまりやるとシステムに負荷を掛けちゃうでしょ?」と語り、「当初の予定よりも50倍もアクセスが来てシステムがちゃんと動くかどうか、いつも心配していた」と、会場からの笑いを誘った。ここではKubernetesのマネージドサービスであるGKEが、世界中のスマートフォンユーザーからの凄まじいアクセスをさばくインフラストラクチャーとして充分に機能していることを紹介した。

ポケモンGoのアクセスは想定の50倍になった

ポケモンGoのアクセスは想定の50倍になった

Goldberg氏はここから、「いかにオープンソースのプロジェクトとクローズドなプロジェクトのバランスを取るのか?」というポイントに話題を移した。

OSSと非OSSのバランスのとり方は?

OSSと非OSSのバランスのとり方は?

当然だが、Google Cloudのエンジニアリングチームの中で開発されているソフトウェアにはプロプライエタリでクローズドなソフトウェアとKubernetesのように対外的にオープンなソフトウェアが存在している。だがチームの責任者として、その2つを分けることはしていないとGoldberg氏は説明した。つまりKubernetesの開発とGoogle Cloud Platformの開発のために、資源を分けてはいないということだ。そしてそれは、結果的にGKEの開発を進める上で良い効果をもたらしていると強調した。

そしてKubernetesの開発において重要だったことは、「ソフトウェアの拡張について、いくつかのレイヤーに分けて整理を行うことだった」と解説した。

Kubernetesのレイヤーごとの拡張性の考え方

Kubernetesのレイヤーごとの拡張性の考え方

最上位に他のオープンソースソフトウェアから構成されるエコシステムが位置付けられ、その下にクライアントやライブラリーのレイヤー、オートメーションやポリシーによる制御レイヤー、その下にアプリケーションが実装されるレイヤー、そして中核にAPIなどが整理されていることがわかる。このようにレイヤーに分けることで、どこに何があるのか、どこで開発が停滞しているのかをすぐに理解することができるという。

そしてソフトウェアを開発するプロジェクトにおける重要なこととして、以下の3つのポイントを挙げ解説を行った。

Kubernetesの開発の3つの柱

Kubernetesの開発の3つの柱

1つ目は「Intentional Leadership」で、これは直訳すると「意図的なリーダーシップ」ということだ。組織をまたいでエンジニアが多数参加するオープンソースソフトウェアの開発においては、「誰がどういう権限を持っているのか」が、往々にして不明瞭になる。それを明確に定義することによって、最終的な決定権を誰が持っているのかを明確にするという意味だ。

2つ目は「Sustainable Success」ということで、プロジェクトが上手く組織が運営されることを運に任せるのではなく、誰が交替しても運営できるような統治システムを作るべきであるという提言だ。

そして3つ目の「Diversity」は、同じ会社のエンジニア、同じ地域や国籍だけで組織を構成するのではなく、多様性を持った人間が存在することでプロダクト開発がより強固なものになるという経験則である。

オープンソースソフトウェアを開発するプロジェクトをどうやって立ち上げ、持続させていけば良いのか? これに関しては日本の大手システムインテグレーターだけではなく、ベンチャーなどでも課題のひとつに挙げられることも多いが、Googleでさえ様々な試行錯誤を行っていることは記憶しておくべきだろう。

そして意外かもしれないが、このプレゼンテーションではGoogleのエンジニアの活動指針として有名な「80:20」の話が出てこなかったのは注目すべきだ。

他のセッションでは「20%の時間を自分の興味のあることに割り当てるというのは、エンジニアからしたら不自然」という発言もあった。興味深いことに、これはマイクロソフトのJavaScriptコントリビューターであるエンジニアのセッションで語られたもので、満員とは言い難いそのセッション会場からは、大きな歓声と拍手で迎えられた瞬間があったことは明記しておきたい。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

クラウドインタビュー
第6回

CNCFの責任者Dan Kohnが語る次のターゲットはサーバーレス、中国、そしてテレコム業界

2018/4/6
「Open Source Leadership Summit」に招待されていたCNCFのExuecutive DirectorであるDan Kohn氏にインタビューを行った。
クラウドイベント
第5回

クラウドネイティブの真髄であるサーバーレスがキーノートに登場

2018/4/5
Open Source Leadership Summitでサーバーレスのセッション行われた。まだ黎明期と言えるサーバーレスの要点とは?
AI・人工知能イベント
第4回

Microsoft AzureのCTO「人工知能の進化はOSSとクラウドのおかげ」と語る

2018/3/30
Open Source Leadership SummitでMicrosoft AzureのCTOがAIとビッグデータについて講演し、ビジネス層には否定的な見方も強いAIの応用について明るい未来を語った。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています