CodeZine(コードジン)

特集ページ一覧

Kubernetesの運用を容易に――New Relicが可観測性を向上させる理由【デブサミ2020夏】

【A-3】New RelicのOSSツールとKubernetesクラスターの可観測性

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2020/09/15 12:00

 New RelicはSaaS型のオブザーバビリティ(可観測性)プラットフォームだ。アプリケーションやブラウザ、モバイル、インフラといった多種多様なシステムのパフォーマンスを収集・判定・通知・分析することが可能である。New RelicはKubernetesクラスターの可観測性向上にも力を入れており、利用しているツールの多くはGitHub上に公開されている。本セッションではNew Relic株式会社のSenior Technical Support Engineerである田中孝佳氏が、Kubernetesのイベントやログを計測し可観測性を持たせる方法を解説した。

目次
New Relic株式会社 Senior Technical Support Engineer 田中孝佳氏
New Relic株式会社 Senior Technical Support Engineer 田中孝佳氏

オブザーバビリティプラットフォームにより最適な運用を実現

 田中氏ははじめに「New Relicはオブザーバビリティ(可観測性)プラットフォームである」と提唱した。オブザーバビリティとはどのような概念なのだろうか。

New Relicのオブザーバビリティプラットフォームとしての特性
New Relicのオブザーバビリティプラットフォームとしての特性

 一般的に、システムの状態を観測する行為は、モニタリングという用語で表現されることが多い。これは、何かシステムにおかしな挙動が発生している場合に通知してくれること。いわばWhenやWhatを知らせるものである。一方のオブザーバビリティは、おかしな挙動が発生した根本原因まで特定し、対応策を検討できること。いわばWhyやHowを扱うものだ。

 この前提をふまえ、田中氏は本セッションのテーマであるKubernetesクラスターのオブザーバビリティ向上の知見を解説していく。Kubernetesクラスターの運用においては、以下の4つの課題を解決する必要がある。

1. 運用ツールの設計・運用

 サービスの可用性を支えるには、運用ツール自体の可用性も高くなければいけない。運用ツールをどのように設計・運用し、その目的を達成するか。

2. 計測する指標の選定

 各Kubernetesクラスターのどんな指標を取得すべきか。

3. 動的に変化するクラスターへの追随

 Kubernetesは自己修復性の特徴を持っており、クラスターの状態が動的に変化する。どのようにしてクラスターの動きに追随すべきか。

4. アプリも対象とした運用

 Kubernetesはあくまでインフラ環境である。その上で動くアプリケーションの動作まで計測できてこそ、適切な運用となる。

 「それぞれの課題について、当社は次のような解決策をご提示します。『1. 運用ツールの設計・運用』は、オブザーバビリティプラットフォームを活用できるのではないか。『2. 計測する指標の選定』については、Metrics、Events、Logs、Traces(4つの頭文字を取ってMELT)という指標を取得すべきではないか。『3. 動的に変化するクラスターへの追随』を行うには、DeploymentやDaemonSetといったKubernetesのオブジェクトに関連づけた計測が必要。『4. アプリも対象とした運用』は、アプリケーション中心のオブザーバビリティを採用することが有効ではないか。それぞれ、順に解説していきます」(田中氏)

 まず田中氏は「1. 運用ツールの設計・運用」の課題について取り扱う。解決策として提示されたオブザーバビリティプラットフォームとは、指標となるデータの保持や可視化、アラートなどの機能を兼ね備えたプラットフォームのことだ。

 オブザーバビリティプラットフォームには2つの特性が求められる。1つ目は多くの人が使えること。なるべく学習コストが低く、かつ必要に応じてどこからでもアクセスできなければならない。2つ目は運用コストが低いこと。運用に特別なスキルが不要なだけではなく、コストの予測が立てやすいことも重要である。「これら2つの特性を兼ね備えることを、オブザーバビリティの民主化と呼ぶことにしましょう」と田中氏は説明する。

 オブザーバビリティの民主化を実現するには2つの方法がある。1つ目はできるだけ広く使われているツールを採用すること。例えば、CNCF Graduated Projectsのオープンソースソフトウェア(KubernetesやPrometheusなど)がこれに該当する。

 2つ目はNew RelicのようなSaaSを利用すること。運用ツールそのものの開発・運用を、すべてSaaS側に任せることが可能になるためだ。コストの予測可能性はSaaSのプランにも依存するが、New Relicはその特徴も十分に兼ね備えている。

 そして、民主化を実現する2つの方法はけして背反するものではなく、うまく組み合わせて適切な運用を実現することが重要だという。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • CodeZine編集部(コードジンヘンシュウブ)

    CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

バックナンバー

連載:【デブサミ2020夏】セッションレポート

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5