KubeConで失敗を紹介したMonzo Bankのキーノート

2018年5月29日(火)
松下 康之 - Yasuyuki Matsushita
KubeCon+CloudNativeCon 1日目の午後は、失敗を紹介する事例、End User Awardなど多彩な内容となった。

ネットバンクでの「失敗」の事例

KubeCon+CloudNativeCon@コペンハーゲンでは、KubernetesとCNCFがホストするプロジェクトが一斉に紹介されたが、会期初日の午後にはちょっと毛色の変わったユースケースとしてイギリスのモバイルに特化したインターネットバンクであるMonzo BankのHead of Engineering、Oliver Beattie氏が登壇した。午前中のキーノートが主にCNCFプロジェクトの概況紹介とCisco、VMwareなどのベンダーサイドの話が中心だったのに比較して、より生々しい話からスタートした。

Monzo Bankのカード

Monzo Bankのカード

実際のセッションは、以下の動画を参照されたい。Monzo Bankの事例。

このセッションは、Kubernetes上に構築されたアプリケーションが約1時間以上も止まってしまうという不具合の状況を解説するもので、etcdのバージョンアップからサービスメッシュのLinkerdのバージョンアップなどを経て、いくつかのバグと仕様変更のチェック漏れなどが重なって最終的にコアのアプリケーションが稼働しなくなるという事態を説明した。

不具合に関連したコンポーネント。ヒューマンエラーも

不具合に関連したコンポーネント。ヒューマンエラーも

根本的な原因は、gRPCのバグがetcdに影響を与えたこと、KubernetesとLinkerdのインコンパチビリティ、そしてヒューマンエラーであるという。特にエラーを確認して、複数のソフトウェアのバージョンをロールバック、さらに停止とリスタートを繰り返して、原因を探ることが後回しになってしまったことを説明。この辺りの状況は、運用を行っているエンジニアであれば思い当たる節があるのではないだろうか。

Monitoringの重要性を訴求

Monitoringの重要性を訴求

Beattie氏は、「システム全体の可視化をもっと進めることでエラーの原因追求が容易になる」ことを示唆し、モニタリングと可視化の必要性を強調した。

Visual Studio Codeでコンテナのアプリケーションをデバッグ

この流れでMicrosoftのRalph Squillace氏は、Visual Studio CodeからGoで書かれたアプリケーションをビルドしてデバッグするデモを実施した。Visual Studio Codeを離れることなく、コンテナのアプリケーションがデバッグできることと、Visual Studio Codeも含めて完全にオープンソースソフトウェアであることを訴求して、オープンソースソフトウェアを愛するようになったMicrosoftの姿勢を十分に主張した。

Ralph Squillace氏のデモ

Google CloudはgVisorとStackdriverを紹介

次に登壇したのはGoogle CloudのCraig Box氏。Box氏はSecurityとObservability(可観測性)としてのgVisorのデモ、そしてStackdriver Kubernetes Monitoringのデモを実施した。まず、gVisorをSecureなコンテナランタイムとして紹介した。ここでは、以前Linuxに発見されていたDirty COWの脆弱性を使って、一般ユーザーがrootの権限を取得するデモを実施。gVisorをベースに作られたコンテナではroot特権を取れず、セキュリティが強化されていることが見てとれる。またStackdriverのMonitoring機能の新機能として、Kubernetesのモニタリングが可能になったことを紹介。すでにGCP上では無料で使える機能として公開されており、AWS上のKubernetesもモニタリングできるということで、ハイブリッドクラウドにも対応していることを解説した。

Craig Box氏のデモ

着実な進化を見せるPrometheus 2.0

次は、GoogleのFabian Reinartz氏によるPrometheus 2.0のアップデートだ。時系列データを扱うタイムシリーズデータベースの概要など、Prometheusも確実に進化していることを解説した。

Prometheus 2.0のリリース概要

Prometheus 2.0のリリース概要

End User AwardはBloombergに

次にJapan Container Daysでもインタビューを行ったCNCFのCTO、Chris Aniszczyk氏によるEnd User Awardの発表が行われた。OpenStack Summitでも同様のアワードをエンドユーザーに対して与えることが慣例となっている。ベンダー主導で開発者目線になりがちなカンファレンスでは、エンドユーザーにスポットライトを当てるという意味で重要な取り組みだ。今回は、金融情報サービスのBloombergが受賞した。

End User AwardはBloomberg

End User AwardはBloomberg

「Kubernetesの伝道師」が語るサーバーレス

そして大トリとして登壇したのが、GoogleのKelsey Hightower氏だ。Kubernetesの伝道師として知られているHightower氏だが、最近は興味がサーバーレスに移ってきたのか、今回もサーバーレスにからめてCNCFでのホスト化が噂されているCloudEventsのデモを行って解説した。デモの内容は、必要な処理を「ファンクション」として定義し、AWS S3で発生したイベントをEvent Gateway経由でGCPに送り、GCP上の翻訳のファンクションを起動して英語からデンマーク語に翻訳するというものだった。「GCPは私にとってはオンプレミス」と語るHightower氏だが、サーバーを立ち上げず、Kubectlも利用しないでコンテナを使ったイベント処理のデモを実施してみせた。必要なところだけをサーバーレスのファンクションとしてコンテナの中で実行するという処理を、わかりやすく実演したわけで、この辺は、デモのエキスパートという面目躍如といったところだろうか。

Kelsey Hightower氏のデモ

登壇するGoogleのKelsey Hightower氏

登壇するGoogleのKelsey Hightower氏

KubeCon初日は、CNCFのプロジェクトアップデートからMonzo Bankのトラブルシューティング、そしてMicrosoft、Googleによるクラウドネイティブなデモンストレーションと盛り沢山であった。展示会場も多くのベンダーで賑わっており、Kubernetesのエコシステムが本格的に拡大していることを実感できた一日だった。

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

連載バックナンバー

クラウド
第5回

コマンドラインツールを用いずにCI/CDを行うGitOpsとは?

2018/6/5
DevOpsをさらに推し進めた「GitOps」という開発手法が、KubeCon+CloudNativeConが紹介された。
クラウドイベント
第4回

Kubernetesで機械学習を実現するKubeflowとは?

2018/6/1
KubeCon+CloudNativeConにおいて、Kubernetes上で機械学習を実現するKubeflowが紹介された。
仮想化/コンテナイベント
第3回

Kubernetes最新情報とダイバーシティがトピックのKubeCon 2日目

2018/5/30
KubeCon+CloudNativeCon 2日目には、Kubernetesの最新情報を始めとする多くのトピックが紹介された。

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

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

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

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