数分でメトリクスのボリュームを削減:SailPointがGrafana Cloudでカーディナリティとコストを管理する方法
DevOpsエンジニアのLydia Clarkeは、2023年の初めに7,500万のアクティブシリーズと一つの大きな課題に直面しました。それは、開発者の体験を損なうことなく、 SailPoin社の急増するメトリクスボリュームを削減することです。
「主な問題は、割り当てられた制限を超えると、オンコールエンジニアがアラートで爆発してしまうことでした」と、2021年にオースティンに本拠を置くアイデンティティセキュリティ会社のオブザーバビリティチームに加わったClarke氏は言います。「一時的な解決策として、いくつかの開発クラスターでオブザーバビリティをオフにしましたが、それは私たちの好みの解決策ではありませんでした。しかし、即時の解決策はありませんでした。」
それが変わったのは、Grafana Cloudのメトリクスマネジメント機能であるAdaptive Metricsの導入によってです。これにより、未使用および部分的に使用されているメトリクスを低カーディナリティバージョンに集約してコストを削減することができました。エンジニアリングチーム内の努力と組み合わせてAdaptive Metricsの集約提案を適用した数ヶ月以内に、SailPointはメトリクスボリュームを33%削減することができました。
「主な問題は、50の異なるサービスが同じメトリクスを使用している場合、各チームを混乱させずにメトリクスに変更を加える方法を見つける必要があることでした」とClarke氏は言います。「Adaptive Metricsの素晴らしい点は、自分のツールを使って誰がメトリクスを使用しているかを特定し、各チームにフォローアップする代わりに、正確に私が探している情報を教えてくれることです。使用されていないメトリクスが欲しい場合、そのツールは私が掘り下げて探すよりもはるかに早くその情報を提供してくれます。」
現在、SailPointがスケールし、新しいサービスをポートフォリオに追加し続ける中で、「Adaptive Metricsは、メトリクスとコストを爆発させることなく、ここから効率的に成長するのに本当に役立ちます」と、オブザーバビリティチームの責任者であるOmar Lopez氏は言います。Clarke氏も「これにより、メトリクスをよりコントロールできるようになりました」と付け加えます。
その結果、SailPointはGrafana Labsとのパートナーシップをさらに強化することに意欲を持っています。「エンジニアは本当に素晴らしいです。それは製品自体に現れているだけでなく、質問があったり解決策が必要なときに受けるサポートにも表れています」とLopez氏は言います。「彼らのエンジニアリング能力を非常に信頼しています。」
Grafana Cloudへのメトリクス移行
アイデンティティセキュリティのリーディングプロバイダーとして、SailPointは次世代のアイデンティティセキュリティプラットフォームの提供に注力しています。これは、現代の企業の重要なデータとアプリケーションへのアクセスを管理し、保護するための、スケーラブルでインテリジェントかつ拡張可能なアプローチです。
「私たちは、ハイパーグロースモードにあります。会社だけでなく、クラウドにおけるフットプリントも拡大しています」と、3年前にSailPointに参加したLopez氏は言います。それでも「インフラストラクチャが成長し、メトリクスが成長し、すべてが急速に成長していたため、インスタンスの制限に達していました。」
Prometheusサーバーがますます大きくなる中で、SailPointはAWSインスタンスも限界に達し始め、オブザーバビリティチームはインフラストラクチャをCortexで水平スケーリングし、その後Grafana Labsが2022年に発表したオープンソースTSDBであるGrafana Mimirを使用して水平スケーリングを行う必要がありました。チームはGrafana OSSを使用してインフラストラクチャの健全性とパフォーマンスを視覚化し、監視していました。
SailPointがアクティブシリーズの制限をどのように追跡しているかを見てみよう
更新されたアーキテクチャは効果的なソリューションでしたが、「それを維持するにはますます多くのエンジニアリングパワーが必要でした」とLopez氏は言います。チームがインフラコストや人件費を考慮に入れて自社ホストのメトリクスの総所有コストを分析した際、月々の請求額が高額であることに気付きました。
そして、ホスティングソリューションにはさらに高額な料金がかかると思っていましたが、Grafana Cloud Metricsを調べてみました。「数値を計算してみると、Grafana Labsがすべてを安価に運用し、エンジニアリングチームの負担を軽減することを提案していることがわかりました。それが私たちの『アハッ!』の瞬間でした」とLopez氏は言います。
さらに、「製品とパフォーマンスも同等でした」とLopez氏は付け加えます。「エンジニアリングチームと話をしたとき、パフォーマンスが落ちることはありませんでした。移行に非常に満足していました。」
実際、チームはあまりにも満足していたため、視覚化と監視のためにGrafana OSSからGrafana Cloudにも移行しました。「内部でGrafanaを管理するのに多くの時間を費やしましたが、今ではより多くの時間をイノベーションに費やすことができます」とLopez氏は言います。「そして、エンタープライズプラグインにも興味がありました。例えば、Snowflake pluginがあり、私たちはSnowflakeを運用しています。活用できると思われる非常に魅力的なものがたくさんありました。」
Adaptive Metrics: 低リスクで高リターン
しかし、ある機能はすぐに必須のものとなりました。それがAdaptive Metricsです。Grafana Cloudはチームのメトリクスの保存を容易にしましたが、「カーディナリティは非常に厄介です」とLopez氏は言います。
Lopez氏がClarke氏に7,500万メトリクスの問題を解決するように依頼したとき、「最初は圧倒されました」とClarke氏は言います。「どこを削減できるのかわかりませんでした。」
まずClarke氏はGrafana Cloudのカーディナリティ管理ダッシュボードを使用しました。これにより、Grafana Cloud Metricsに送信された時系列データの中でメトリクスとラベルがどのように分布しているかを表示します。このダッシュボードは、Grafana Cloudのどのメトリクスが実際に利用されているかを示す使用情報も提供します。
カーディナリティ管理ダッシュボードがメトリクスの使用状況を特定するのに役立ちましたが、Clarke氏はその情報を持ち帰り、会社内で独自の調査を行わなければなりませんでした。「調査すべきことがたくさんあります」とClarke氏は言います。「私のチームは他のチームが独自のメトリクスを作成し、監視するためのインフラを提供していますが、サポートしているすべてのメトリクスの文脈を常に把握しているわけではありません。カーディナリティを削減するためにメトリクスにどのような変更を加えられるかを理解するために、SREチームと会って、各メトリクスの重要性とそれが提供する可視性を確認しなければなりませんでした。」
このプロセスはしばしば予測不可能でした。未利用のメトリクスが特定されると、Clarke氏はそのメトリクスを使用している各チームに連絡し、変更がサービスに影響を与えないことを確認しなければなりませんでした。「例えば、同じメトリクスを50の異なるサービスが使用している場合、それは大きな課題です」とClarke氏は言います。「それは多くのフォローアップが必要でした。」
その作業が完了すると、Clarke氏はSailPointの開発環境で変更を手動でデプロイしてテストする必要がありました。すべてが正常に機能すると、各Prometheusインスタンスに変更をデプロイし、サービスに中断がないことを確認するためにトラブルシューティングを行います。「それは私の一日の何時間もを費やすことになります」とClarke氏は言います。
Adaptive Metricsを使用すると、Clarke氏の仕事は格段に容易になります。Adaptive Metricsはクラウド環境内での実際の使用状況に基づいて集約すべきメトリクスを推奨します。次に、使用状況を継続的に再分析し、オブザーバビリティスタックの変更を反映するために推奨事項を適応させます。
Adaptive Metricsを使用すると、おすすめのものをダウンロードしてスクリプトを実行し、それを適用するだけです。これで終わりです。Prometheusにデプロイするのに数時間かかっていたのに比べて、変更を適用するのにわずか5分程度しかかかりません。これは誰にも影響を与えずに直ぐに実施できる修正です。
Lydia Clarke, DevOps engineer
実際、SailPointが最初にAdaptive Metricsをテストしたとき、誰も変更に気づきませんでした。「私たちの最大の懸念の一つは、チームが必要なものを削除してしまったらどうしようということでした」とLopez氏は言います。「しかし、少しずつこれらのおすすめのものを適用し始めると、エンジニアリングチームは何が起こっているのか気づいていないことが非常に明確になりました。」
「ダッシュボードが機能しないとか、クエリが動かないという苦情は一切ありませんでした。すべてが以前と同じように動作しています」とClarke氏は付け加えます。「Adaptive Metricsは、メトリクスに変更を加えてもエンジニアリングチームが何も心配する必要がないことを示す素晴らしい方法です。そして、私も障害やダウンタイムを引き起こす心配をする必要がありません。本当に低リスクなソリューションです。」
そして、投資のリターンも大きかったです。最近、設定ミスのメトリクスがデプロイ中にスパイクを引き起こす問題が生じました。「Adaptive Metricsを適用し、トラブルシューティングを行い、その後メトリクスを元に戻しました」とClarke氏は言います。「Adaptive Metricsを使用すると、制限に達したときに再び制限内に戻るためのコントロールが増えます。」
幸いなことに、今ではそれほど頻繁に起こることはありません。現在、SailPointは約5,000万のアクティブシリーズを管理しており、その数をさらに減らすことを目指しています。「目標を上回りました」とLopez氏は言います。
もっと重要なのは、「今ではオンコールのときに、PrometheusやGrafanaのアラートで爆発する心配をしなくて済むことです」とClarke氏は笑いながら言います。
「最高のサポート」
最初から、SailPointにとってGrafana Labsとの協力に関して際立っていた重要なメトリクスが一つありました。それはサポートです。
オープンソースユーザーであったにもかかわらず、SailPointのエンジニアはGrafana Labsのエンジニアが質問に迅速に対応してくれることに、しばしば気が付きました。技術サポートの提供や、会社向けのウェビナーの開催、全体的に信頼できるパートナーであったのです。「彼らが私たちを成功させるためにこれを行ってくれているということが、心の奥底に残っていました」とLopez氏は言います。「だから、Grafana Cloudへの移行を考えたとき、その素晴らしいサポートを常に思い出していました。」
Lopez氏は、Grafana Labsの製品の背後にある技術的な卓越性も評価しています。「エンジニアリングチームは非常に優秀です。彼らは専門家です。これは最高の中の最高です」とLopez氏は言います。「新しいツールをリリースしたり、ログやトレーシング、他のオブザーバビリティのすべての側面を扱ったりするときには、優れたエンジニアリングの考えが背後にあることがわかり、それを見る価値があり、検討する価値があります。」
SailPointのオブザーバビリティチームは、視覚化のためにGrafana Cloudを使用し、ストレージと管理のためにGrafana Cloud Metricsを使用するだけでなく、実ユーザーモニタリングのためにGrafana Cloud Frontend Observabilityをスタックに追加することを検討しています。会社はまた、オープンソースのGrafana k6プロジェクトによって提供されるホスト型パフォーマンステストソリューションであるGrafana Cloud k6を採用しました。(「それはまったく別のチームです。彼らは独自の分析を行い、k6が勝者として浮上しました」とLopez氏は述べています。「別のチームが同じ結論に達したのは素晴らしいことです」)
「私たちはオブザーバビリティの旅の途中にいますが、Grafana Labsとの関係はまだ始まったばかりです」とLopez氏は言います。「Grafana Cloudの機能やサービスをますます探求しています。まるでキャンディショップにいる子供のように、すべてを見ています。」