Grafana Cloud Logs:Lithicのより良いオブザーバビリティへのゲートウェイ
消費者がクレジットカードやデビットカードを使用する際、その目的はすべて利便性にあります。しかし、これらのカードの基盤となる発行インフラを構築するエンジニアにとって、その利便性は期待に応えることを意味します。
「カードをスワイプして使えないと何回も恥ずかしい思いをしたら、もうそのカードを財布から取り出さなくなりますか?私たちはその可用性を非常に真剣に受け止めています」と、ニューヨークに拠点を置き、決済インフラを構築する会社であるLithicのプラットフォーム責任者であるHoward Tyson氏は言います。同社の技術は、銀行やフィンテックがデビットカードやクレジットカード、その他の支払いニーズを提供することを可能にします。「社内では、重要なサービスで5つの9(99.999%)を達成しようとしています。数分でも何が問題だったのかを理解するのに時間がかかると、その四半期のエラーバジェットが吹き飛んでしまいます。」
非現実的であっても、Lithicの目標はゼロダウンタイムです。もし発生してしまった場合でも、Lithicのエンジニアは問題を迅速に解決し、エンドユーザーが気付かないようにする必要があります。現在、Lithicは現代のオブザーバビリティのベストプラクティスの一環としてGrafana Cloudを利用してその信頼性を実現していますが、最初からそうだったわけではありません。
2014年の設立以来、Lithicが成長する中で、同社のトップエンジニアたちは、大量の時系列データを収集するものの実際にはほとんど使用されていないサブオプティマルなGraphiteバックエンドに依存していることに気付きました。その上、彼らのロギングソリューションは本質的に「1つの大きなsyslogインスタンス」でした、とTyson氏は回想します。
同社はスタックを更新し改善を図るためにDatadogを使用し始めましたが、Lithicのビジネスが拡大する中でコストが大きな懸念となりました。「コストの管理がすでに困難になっており、会社は急速に成長していました。」
また、古いシステムを完全に放棄することもできなかったため、Graphiteスタックと連携し、さらに優れたロギング機能とスケーリングおよび近代化の余地を提供する製品が必要でした。そして、その時にGrafana Cloudを見つけました。
Grafana Cloudへの道
GraphiteとGrafana OSSを使用して独自のオブザーバビリティスタックをホスティングしてきた数年の後、Lithicは差別化されていない重労働を避けるためにSaaSオファリングに切り替えたいと考えていました。「これらのシステムを運用したことがありますが、それは苦痛で、誰もが同じことをしています」とTyson氏は言います。そのため、専用のオブザーバビリティベンダーがより効率的に実行できると仮定して検索を開始しました。「なぜなら、彼らはそれだけを扱っているので、私たちが扱わなければならない百のことのうちの一つではないからです。」
Lithicのオブザーバビリティチームはすでに多くの課題を抱えていました。まず、彼らにはログを管理する方法が必要でした。大量のログです。Tyson氏によると、ベストプラクティスのツールや経験が不足している若い企業では、過剰なログが一般的な問題です。「何が利用可能かを知らない、他のものが非常に強力であることを知らない、そしてそれらが存在することさえ知らない。ログはただのデフォルトです。」
また、Lithicにはログが必要な別の重要な理由があります。同社は金融業界で働いているため、コンプライアンスの目的で少なくとも1年間、通常はそれ以上にログをクエリできる必要があります。さらに、顧客体験チームは過去30日、60日、90日のログを簡単にクエリできる必要があります。
メトリクスから価値を引き出すという問題もありました。2022年にLithicに参加したシニアスタッフサイト信頼性エンジニアのBrett Jones氏は、「最初に気づいたのは、メトリクスがあることでしたが、メトリクスが必ずしも監視に等しいとは限らないということです。出力があるからといって、出力から何か価値のあるものが得られるわけではありません」と回想します。
Jones氏は一部の数字が意味をなさないことに気づき、その問題を調査したところ、LithicがUDPトラフィックの大部分をドロップしていることに気付きました。「私たちのシステムは、これらの時系列のインデックス作成に追いつくことができませんでした」とTyson氏は説明します。「私たちはメトリクスを落としていました。私たちの数字は私たちが考えていたものとは違っていました。」
そして、エンジニアたちはレガシースタックを完全にオーバーホールする能力がなかったため、Tyson氏は「これらのことをコスト効率が高く、ただ効果的な方法で、古いシステムに必要な可視性とモニタリングを得ながら、将来のためにより良い世界を構築するにはどうすればよいか?そして、私たちはGrafana Labsを見つけました。彼らは個人的なタッチと笑顔で、それを実現してくれるのです。」と考えました。
LithicにおけるGrafana Cloud Logs:「まるで魔法のようだった」
Tyson氏と彼のチームは、コスト効果の高さからGrafana Cloudに惹かれました。 (「Datadogのログの週単位の請求額は、Grafana Cloudの年間ログ請求額よりも高かった」とTyson氏は言います。) かし、本当に大きな違いを生んだのは、オープンソースプロジェクトのGrafana Lokiによって強化されたGrafana Cloud Logsのログスーパーパワーでした。
例えば、他のシステムではデータをフィルタリングするために特定のインデックスを作成する必要があると彼は説明します。「Lokiでは、すべてを事前フィルタリングして、各レコードへの参照をコピーした一つのバケットを持つ代わりに、100のバケットを持ち、それぞれのバケットを個別に確認できる100人のユーザーがいるようなものです。これは、クエリごとの総サイクル数の観点からは効率的ではありませんが、無限の柔軟性があり、事後にすべてを実行できます。」
また、Lokiが事後に詳細なメトリクス分析を行える点も気に入っています。「重要なことがあると気付いてから質問をするまでに時間がかかりますが、過去の四半期についてはそれを答えることができましたが、それだけです」と彼は説明します。「過去6か月について今日質問し、それを遡ってグラフ化できるのは魔法のようでした。それは素晴らしいことです。」
LithicのPostgreSQLデータベースのビューはレプリケーションに焦点を当てていました。
ログ: より良いオブザーバビリティへのゲートウェイ
もちろん、オブザーバビリティプラットフォームは全員が賛同しなければ本当に効果的とは言えませんが、20人のカスタマーサポートチームの間では、当初は切り替えに対する抵抗がありました。
「会社全体が前進する中で、私たちの内部ツールは顧客の実装やカスタマーサクセスに追いつく必要がありました」とTyson氏は言います。チームは自分たちのニーズに合わせて作られたUIを持ったことがなく、既存のシステムに慣れていました。「誰かが文字列をDatadogにダンプし、数十億のログメッセージを検索して、1つの顧客インタラクションを見つけることができるかどうかを確認するかもしれません。そして返ってくるのは、読みづらい形式で一緒になっている無関係なものの束です。しかし、それを使うことを学び、それで効果的に仕事をこなしていました。」その結果、カスタマーチームはそれを手放したくありませんでした。
Jones氏はLithicでの仕事に慣れるにつれ、チームメンバーがどのように動作しているかに注意を払いました。「多くの方法でデバッグし、問題を解決する方法は、ログをスキャンし、それを読んで、所々のグラフを見ていることに気付きました。」
Jones氏は会社に加わる前に、オープンソースのLokiプロジェクトに貢献し、頻繁に使用していたため、こう考えました。「Lokiが提供するツールは、多くのことを即座に提供してくれます。」システムにすべてのログを取り込むことで、人々は通常のクエリやスキャンを続け、ログからデータを抽出することができます。また、ヒストグラムやデータポイントを取得するためのクエリの書き方も教えることができました。「ログの大量使用を、トレース、メトリクス、プロファイリングを使用したより良いオブザーバビリティへのゲートウェイと見なしていました。それが私の目標でした。」
エンジニアリングチームは対応するチームと話し合い、具体的なユースケースを詳しく調べました。そして、数十億のログを見て、特定の情報を無視する方法を学ぶ代わりに、すべてを一箇所で見ることができることを示しました。Jones氏は会社特有のログを使用して「ワイルドクエリ」を実行する様子を録画し、以前はユーザーがスクロールして情報を探さなければならなかったものを瞬時に引き出す方法を示しました。「ライブでそのような強力なことができることを示すと、プリインデックス、構成、あるいは何かを実行することなく、ツールの使用方法を少しずつ学びたいと思うようになります。」
Tyson氏の考えでは、チームメンバーは1万文字のjsonをスキャンして1つのフィールドを見つけるより速くて、よりフォーマットされた方法を求めているという印象を持っていました。彼は「そのフィールドをテーブルの列に置いたらどうなるか?」と提案しました。Grafana Cloudでは、探しているIDを入力すると、関心のあるすべての項目の列が表示され、レコードをクリックして詳細を表示できることを示しました。
そして、Grafanaへの切り替え理由が理解されました。「彼らは、自分たちが大好きなものを手放すことに本当に心配していた状態から、仕事がはるかに楽になったと感じるようになりました」とTyson氏は言います。「彼らは『これを恐れていたが、今ではこれが今年の仕事の最大の改善だと感じる』と言いました。」
未来に向けたパートナーシップの構築
Grafana Cloudのあらゆるデータソースと連携する能力は、Lithicにとって大きな恩恵となり、現在チームはそれらすべてを1つのGrafanaダッシュボードで監視しています。
「レガシーのGrafana、Datadog、Icingaにチェックがありましたが、それぞれ少しずつ異なる動作をしていたので維持が難しかったです。それらを1つの画面に集約できたのは大きな成果です」とTyson氏は言います。「それらを共通の形式にし、より良いサポートダッシュボードを用意することで、インシデント発生時の状況認識が大幅に向上しました。Grafanaを使用することで、アラートをより効果的かつコスト効率よく設定できるようになりました。」
現在、LithicはPrometheusバックエンド、Graphiteバックエンド、いくつかの統合された CloudWatchバックエンドのためにGrafana Cloudを使用しています。そして、Lithicは依然としてGraphiteを必要としていますが、Tyson氏はGrafanaによってホスティングされていることがボーナスだと言います。「スケールでGraphiteデータベースを運用するのは驚くほど手間がかかります。Grafana Labsがこれを彼らの問題にするために名目上の料金を請求してくれるのは素晴らしく、私たちにとって大きな勝利です。」
「最近ではGrafana Cloud Tracesもスタックに追加しており、これが最も重要なサービスでありすべてにとって不可欠で、すでに効果が見えています。トレースは、ログの冗長さや非構造化形式と、メトリクスから得られる簡潔さや数値の間の幸せな中間点です」とJones氏は言います。「トレースは未来だと思います。メトリクスやログを完全に置き換えるわけではありませんが、トレースを得たら、それがまず最初に手を伸ばすものになります。」
LithicがGrafana Cloudの顧客になって1年が経過しましたが、Tyson氏は製品に非常に満足していると言います。「月ごとにどんどん良くなっていき、価格も上がっていません」と彼は言います。さらに、進化するこの分野で価値のあるパートナーとして扱われていると感じており、今後の投資に自信を持っています。
Jones氏が言ったように、「私たちは、私たちの成果に関心を持っている人々との本当の個人的な関係を持っていると感じます。」そしてこれまでのところ、Tyson氏は「Grafanaは確実に私たちがさらに高い目標を達成し続けるのを助けてくれています」と言います。