Kubernetesが注目され続ける5つの理由。 KubeCon + CloudNativeCon North America 2018

2018年12月17日

12月10日から13日まで、米ワシントン州シアトルでCloud Native Computing Foundation主催のイベント「KubeCon + CloudNativeCon North America 2018」が開催されました。

4日間で20のキーノートと200を超えるセッションが行われたこのイベントから、同イベントのホスト役でもあるGoogleのソフトウェアエンジニア Janet Kuo氏によって行われたキーノートの1つ、「Kubernetes: Living Up to the Hype」(Kubernetes:期待にこたえ続ける)の内容をダイジェストで紹介しましょう。

Kubernetesが期待にこたえ続ける5つの理由

Janet Kuo氏。

Kubernetesが期待にこたえ続ける5つの理由を、5位から紹介しましょう。

fig

5位 本番環境で10年以上コンテナを実行してきた経験を基に開発されている

GoogleはBorgを使って10年以上Google SearchやGmail、YouTubeといったサービスを稼働させてきました。

このBorgの経験から学んだことがKubernetesに込められています。

例えばスケジューリングやデプロイの最小単位であるPodは、それぞれ固有のIPアドレスを持っています。これにより運用管理の複雑さが取り除かれているのです。

というのも、これによりPodはそれ自身が仮想マシンやベアメタルサーバのように扱えるためです。これはまさに革新的なことでした。

4位 ユーザーフォーカス

Kubernetesの開発においては、ユーザーからのフィードバックを非常に重視しています。

例えば2016年当時、Kubernetesのクラスタを立ち上げるにはGitHubからスクリプトをダウンロードして実行する必要がありました。つまりスクリプトなしには起動できなかったのです。

そこで、私たちは45分以内にスクリプトを使わずにKubernetesのクラスタを立ち上げる「Kubernetes Bootstrapping Challenge」というコンテストをしました。しかし私も含めて誰も成功しませんでした。

fig

これがきっかでさまざまなツール、例えばシングルノードのクラスタを簡単に起動するMnikubeなどのツールが開発されるようになりました。

3位 宣言的なAPIと自動化

Kubernetesの基本的なコンセプトの1つに、APIが命令的(Imperative)ではなく宣言的(Declarative)であることがあります。

いわば命令的というのはマニュアル運転で、宣言的というのは自動運転のようなものです。

fig

命令的なAPIでは、目的を達成するためには手順を1つ1つ呼び出さなくてはなりません。一方、宣言的なAPIはなにを達成したいかをシステムに告げるだけで、あとはシステムがやってくれます。

分散システムにおいてはどのノードがいつ落ちるか分かりません。宣言的なモデルではKubernetesがクラスタの自己修復を実現してくれるため、ユーザーが一晩中起きていて落ちたノードの代わりのノードを立ち上げたり、負荷に対してノードを追加したり、といったことをしなくてもいいのです。

2位 Kubernetesはどこでも実行できる

Kuberenetesはインフラの抽象化レイヤを備えているため、さまざまな環境で動作します。

fig

そして1位ですが……おっと時間がきたので続きは来年に。

というのは冗談です(笑)

1位はもちろん、コミュニティです。

Kuberentesは非常に強力なコミュニティを持っています。オープンソースコミュニティにおいてもっとも活発なコミュニティの1つです。

コミュニティにはオープンソースのコントリビュータだけでなく、エンドユーザーもいます。Kubernetesは銀行や小売りを含め多くの企業や組織に使われています。さらにサービスプロバイダーもいて、Kubernetesの利用を拡大してくれます。

fig

今後さらに品質を重視していく

この成功をさらに続けていくために何をするのか? 品質の改善はいつまでも続きます。例えば、さらにスケーラブルでエンタープライズグレードのセキュリティの実現などです。

そしてユーザー体験を改善していきます。HTTPSでのエンドポイントに対応したデプロイをもっと簡単にする、といったことを改善していきます。

そして適合性(Conformance)の維持。サービスプロバイダは独自のカスタマイズをしたいという要望がありますが、一方でそれはユーザーに対してKubernetesの一貫性を欠くことになり、ロックインの要因になります。

そのためこうした分裂を防ぐための適合性が必要です。

私たちは今後もKubernetesが期待に応えていくため、コミュニティとともに協力して品質、ユーザー体験、適合性の向上を実現していくつもりです。


あわせて読みたい

Kubernetes コンテナ型仮想化




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本