Grafana CloudでMTTRを削減:ASOSのオブザーバビリティスタックの裏側
オンラインファッションおよびビューティー小売業者のASOSは、2,300万人以上のアクティブなグローバル顧客を持っています。中には、目的地での結婚式にぴったりの靴を探している人もいれば、必須のヴィンテージドレスを探している人もいます。しかし、彼らの買い物リストに何が載っているかに関わらず、すべてのASOS顧客はシームレスなオンライン小売体験を求めており、それを期待しています。
その体験を何度も提供するために、ASOSのエンジニアリングチームは、リアルタイムのオブザーバビリティを実現するためにGrafana Cloudに依存しています。
「インシデントが発生したときには確実に対応できるようになっています」と、ASOSのリードプリンシパルエンジニアであるDylan Morley氏は述べています。「多くの顧客向けのジャーニーに対してアラートが設定されており、顧客が私たちのウェブサイトで行う一般的なジャーニーが対象です。それらのジャーニーが期待どおりに動作しない場合、最初のラインサポートとプラットフォームチームは、そのソフトウェアを担当しているため、すべてのアラートを受け取ります。何かがうまくいかなくなるとすぐに知ることができます。」
さらに、Grafana Cloudは、ASOSのSREチームが複雑なマイクロサービスベースの環境全体で必要なエンドツーエンドの可視性を得ることを可能にします。
「マイクロサービスベースであるため、年初にはオブザーバビリティのギャップがあり、それを埋めることを目指しました」と、ASOSのサイト信頼性エンジニアであるFahri Ulucay氏は述べています。「Grafana Cloudのおかげで、私たちのチームが提供できたことの1つは、すべての異なるシステム全体で注文と情報のフローの全体像を把握できることです。」
今日、約800人のASOSエンジニアがGrafanaダッシュボードを使用しています。MTTRの削減に加えて、Grafana Cloudは、すぐに使えるKubernetes Monitoringダッシュボードで時間を節約し、Grafana Cloud Metricsでコストを削減するなど、ASOSのオブザーバビリティ戦略をいくつかの方法で進展させました。
しかし、ASOSがGrafana Cloudから得たメリットを完全に理解し、今後期待されるメリットを把握するためには、彼らがどこから来たのかを理解することが役立ちます。
ASOSがGrafana OSSからGrafana Cloudに移行した理由
2015年にオンプレミスのWindows環境からMicrosoft Azureへの移行後、ASOSのエンジニアリングチームはスケールでのオブザーバビリティにいくつかの課題に直面しました。
彼らはAzureストレージアカウントにログとメトリクスを保存し、複数のオープンソースツールを使用してデータを集約し、環境の中央ビューを実現していました。しかし、サイトのインシデントに対応しようとするたびに、レイテンシーに悩まされていましたとMorley氏は説明しました。
「問題は、忙しい時期を観察しようとしたときに現れました。多くの人がシステム上でクエリを実行すると、そのシステムが遅くなり始めるのがわかりました」と彼は言いました。「スケールアウトしてより多くのテレメトリを生成すると、データの取り込みからクエリまでのエンドツーエンドのレイテンシーが長くなるのが見えてきました。」
この課題に対処し、彼らが求めていたほぼリアルタイムのオブザーバビリティを得るために、チームは2017年にGrafana OSSを導入しました。ASOSのパフォーマンステストチームがすでにデータ可視化にGrafanaを使用していたため、Grafanaを選びました。さらに重要なのは、Grafanaが非常に幅広いデータソースをサポートしていることでした。特にAzure Monitor用のデータソースがあり、これによりエンジニアリングチームはAzureにあるすべてのテレメトリデータをGrafanaで可視化できるようになりました。
Azure Service Busテンプレートダッシュボードは、Azure Monitorメトリクスを活用し、すべてのService Busインスタンスからのデータを統合して表示できるようにします。
「その時点で、Grafanaはビジネス全体でさらに多く使われるようになりました」とMorley氏は言いました。「人々は、テレメトリを表示するための主要なダッシュボードソリューションとして採用し始めました。」
視覚化の他にも、Grafana OSSはレイテンシーの問題を改善するのにも役立ちました。Grafanaを導入する前は、チームがトラブルシューティングに必要なメトリクスにアクセスするのに10〜15分もかかることがありました。Grafanaを使用することで、チームはAzureの改善されたインジェストパイプラインと組み込みのテレメトリ機能を活用し、エンドツーエンドのレイテンシーを1分に設定することができました。
Grafana OSSの利点を考えると、ASOSのプラットフォーム採用は急速に進みました。彼らは複数の地理的地域でGrafanaを運用し、地理的な回復力を実現し、大規模なGraphiteインスタンスを管理していました。採用が進むにつれ、エンジニアリングチームは、Grafanaの価値を引き続き活用したいと考えるようになりましたが、特に時系列データストアの更新と維持の負担を避けたかったのです。そのため、2022年1月にGrafana Cloudへの移行を決定しました。
「[Grafana Cloud]に移行することで、プラットフォームを運用せずにオブザーバビリティに集中し、最大限に活用できるようになりました」とMorley氏は言いました。
Grafana Enterpriseプラグインへのアクセスも、ASOSがGrafana OSSからGrafana Cloudに移行した重要な利点の一つでした。
「私たちが自分たちでGrafanaを運用していたときには、New RelicやServiceNowにクエリを実行する必要がありましたので、社内でプラグインのバージョンを作成しましたが、それには維持の負担が伴いました」とMorley氏は言いました。「Enterpriseプラグインの利点の一つは、[既存のプラグイン]を廃止し、Grafana Cloudの提供を活用し、維持する必要のあるコードを減らせることでした。」
Grafana CloudがASOSのMTTR削減、コスト削減などに役立つ方法
Grafana Cloudへの移行により、ASOSのエンジニアリングチームは、必要なスケールでリアルタイムのインサイトを得られることを確信しています。
チームが特に恩恵を受けているのは、Grafana Cloud Metricsの使用です。これは、Grafana Cloudの完全管理型で高度にスケーラブルなメトリクスサービスで、Grafana Mimirを基盤としたPrometheusデータストアです。
Grafana Cloud Metricsを導入する前、チームはAKS用のAzure Container Insightsを使用してPrometheusメトリクスを収集し、Azure Log Analyticsに保存していました。しかし、GrafanaからAzure MonitorやNew Relicのデータソースに多数のクエリを実行すると、レートリミットに達し、ダッシュボードでタイムアウトエラーが発生することに気付きました。そのため、チームは方向転換し、PrometheusメトリクスをGrafana Cloud Metricsに送信し始めました。
同時に、頻繁にアクセスされるデータポイントを事前に集計し、数百万のレコードをいくつかのPrometheusシリーズに変換し始めました。これらの取り組みを組み合わせることで、タイムアウトのリスクが大幅に軽減され、チームのMTTRが削減されました。
「すべてのサポートチーム、重大インシデントチーム、およびアプリケーションサポートチームにとって、昨年は不安が少なかったです」と、ASOSのリードサイト信頼性エンジニアであるAdam Watson氏は述べています。「それは、サービスをよりよく理解し、テレメトリがより利用しやすくなり、適切なチームに迅速にアクセスできるようになったことが大きな要因だと思います。」
稼働時間の維持に加えて、Grafana Cloud Metricsはチームのコスト削減にも役立ちました。
「このデータをPrometheus形式で保存する方が安価です」とMorley氏は言います。「そのため、一部のログをメトリクスにオフセットし、そのデータをGrafana Cloud Metricsに移動することで、かなりの金額を節約することができました。」
Grafana CloudでのKubernetesモニタリングもASOSにとって非常に貴重なサービスとなっています。特に、すぐに使える視覚化と事前構成されたダッシュボードにより、データを迅速に分析し、Azure Kubernetes Serviceで稼働している約123のKubernetesクラスターの健全性について洞察を得ることができます。また、Kubernetesに関連するオブザーバビリティの取り組みを中央集権化し、統一するのにも役立ちました。導入前は、チームは独自にダッシュボードを手動で構築してクラスターをサイロ化していました。
「現在では、誰のクラスターでもテンプレート化されたソリューションで監視できる中央ダッシュボードがあり、それが素晴らしく機能しています」とMorley氏は述べています。
一方、Grafanaでサポートされている幅広いデータソースは、会社全体のオブザーバビリティ戦略を支え続けています。New Relic、Prometheus、Azure Monitor、Azure Data Explorer、およびその他の重要なシステムのデータソースを使用することで、ASOSにとってデータの視覚化に関する多くの可能性が開かれました。
「複数のデータソースからのテレメトリを消費する視覚化ができる能力は非常に強力な機能です」とMorley氏は言います。「どんなデータソースでも視覚化できます。」
先を見据えて:Grafana SLO
SLOの概要:私たちのRAGダッシュボードは、Grafana SLOデータを凝縮して、エステートの健全性とエラーバジェットのステータスを明確に示します。
ASOSとそのオブザーバビリティの旅の次のステップとして、チームはGrafana SLOを活用し始めています。Grafana SLOは、エンジニアリングチームがサービスレベル目標を迅速に設定するのに役立つGrafana Cloudアプリケーションです。最終的な目標は、Grafana SLOフレームワークの2つのコンポーネントであるSLOとSLIを使用して、エラーバジェットに基づいたアラートシステムを作成することです。
「Grafana SLOを通じていくつかのバーンレートアラートを使用し、それらを大きなボードに表示して全員が見えるようにしたいです」とWatson氏は言いました。
「また、あまりにも多くのシグナルを監視しようとして生じるアラート疲労を解消したいとも考えています」とMorley氏は付け加えました。「SLIとエラーバジェットに基づいたアプローチに移行することは、私たちのチームにとって非常に有益なものになるでしょう。」
Grafana SLOが導入されれば、ASOSチームは最も重要なこと、つまり信頼性とポジティブなユーザー体験に集中できることを期待しています。
「私たちは常にプロセスをできるだけ良くすることを目指しています」とMorley氏は言いました。「私たちのチームは、その声をしっかりと持ち、最高のプロダクトを作る手助けをするために存在しています。」