Splunk APMがなければ、サービスが正しく機能するかどうかを確認できず、予期せぬ問題も解決できず、新機能をリリースすることは不可能だったでしょう
監視とテレメトリデータの一元化を目指すCare.com社にとって、オブザーバビリティソリューションを導入してIT環境を詳細に可視化し、モノリシックなアーキテクチャとサイロ化したシステムをマイクロサービスにリファクタリングすることが課題でした。
単一のプラットフォームとデータソースとしてSplunkを導入し、すべてのオブザーバビリティニーズを満たすことで、Care.com社は環境全体を包括的に把握できるようになり、エラーの早期発見と修正、アプリケーションアーキテクチャの改善、機能のリリースサイクル短縮を実現しました。
Care.comは、高品質な介護サービスを検索および管理するための世界屈指のプラットフォームです。「愛するすべての人にケアを提供する」をミッションに掲げ、マッチングプラットフォームとして、選りすぐりの介護士と、子供、老人、ペットなどの介護を必要とする人々とをつないでいます。さらに、家庭での介護士の雇用に関連する税金の申告や法的な給与支払いを支援するための税金および給与管理サービスも提供しています。
20以上の国で数百万の家族と介護士が利用するCare.comでは、プラットフォームの年中無休の可用性、拡張性、信頼性を確保する必要があります。2020年にIAC社を買収した同社の喫緊の課題は、Care.comのスタックとインフラのモダナイズと一元化でした。具体的には、13年間使用してきたモノリシックなアーキテクチャを俊敏性の高いマイクロサービスにリファクタリングしようとしていました。
この取り組みを成功させるには、アーキテクチャを可視化して問題を効率的に特定でき、試行錯誤を重ねるのに十分な柔軟性を備えた強力なオブザーバビリティソリューションが必要でした。そこで選ばれたのがSplunk Observability Cloudです。
インフラを全社レベルで一元化すれば、拡張性の向上からサイロ化の解消、柔軟性のあるテストドリブンのエンドユーザーエクスペリエンスの提供まで、あらゆる部門にメリットがあります。
しかし、13年間の度重なる買収によって継ぎはぎされたシステムを含むアーキテクチャはあまりに複雑であったため、全体を正しく理解してマイクロサービスに移行するには、深い知識を持つ技術者と最高レベルのツールが必要でした。「Splunkによるオブザーバビリティ強化が鍵でした」と、Care.com社でコアアーキテクチャチームのプリンシパルアーキテクトを務めるSean Schade氏は振り返ります。「私たちが最初に行ったことの1つは、トレーシングとテレメトリによって、この巨大なパズルの各ピースがどのように組み合わさっているかを理解することでした」
2導入事例同社がOpenTelemetryを早くから導入したことは、大規模かつ広範なプロジェクトに取り組むうえで大きなアドバンテージとなりました。「OpenTelemetryから得られるインサイトは、当社のアーキテクチャの1つの羅針盤です」とSchade氏は言います。「SplunkはOpenTelemetry普及における第一の功労者であり、その知識は群を抜いているため、当初からアーキテクチャにOpenTelemetryを組み込むことができました」
OpenTelemetryは、全社共通の標準を確立して、コラボレーションの強化、データの民主化、エンジニアや開発者の生産性向上を実現するためにも役立っています。「データ形式が標準化されたことで、データのエクスポートや統合を簡単に行えます。今では、5つの製品から異なる形式のデータを取り込まなくても、すべてのデータに1つのプラットフォームからアクセスできます」とSchade氏は語っています
Splunk APMがなければ、サービスが正しく機能するかどうかを確認できず、予期せぬ問題も解決できず、新機能をリリースすることは不可能だったでしょう
Care.com社のチームにとって一元化は必要不可欠です。Splunk Observability Cloudは、すべてのオブザーバビリティニーズを満たす単一プラットフォームとして、同社のイニシアチブ成功の重要な役割を果たしました。
「何の指標もないまま進めていたら、コストは想像もつかない額になっていたでしょう。Splunkのおかげでシステムの運用状況を理解することができたため、アーキテクトとしての私の仕事は楽になりました」とSchade氏は評価します。「マイクロサービスアーキテクチャはそもそも簡単ではありません。APMやオブザーバビリティソリューションがなければ、膨大な時間とリソースがかかって計画がとん挫していたかもしれません。Splunk Observability Cloudは、マイクロサービスを必要なだけ可視化して、すべてを1カ所で表示し、相関付けてくれます。その価値は計り知れません」
「システムが複雑になるにつれ、メトリクスなどの収集漏れが生じて、疑問に対する答えが見つからなくなります。この問題を解消してくれるのが最新のオブザーバビリティソリューションです」と、Care.com社でDevOpsチームを率いるDevOpsエンジニアリング担当シニアディレクターのMatt Coddington氏は言います。「Splunkプラットフォームの大きな価値の1つは、流動的なインフラにも十分に対応していることです。そのためコンテナやサーバーが起動または停止したときにメトリクスを簡単に確認できます。Splunk Observability Cloudは、すべてのログ、メトリクス、トレースを収集して、プラットフォーム内で起きているイベントを私たちに理解しやすい形で提供し、疑問があればすぐに答えてくれます」
Care.com社ではこれらのデータを収集しようと以前から取り組んでいましたが、Splunkの高精度なトレーシングによってついにそれが実現しました。「オブザーバビリティの効果を得るには100%のデータが必要です」とSchade氏は説明します。「サンプリングを行わないSplunkのトレーシングに勝るソリューションはないでしょう。過去7~8年の間に使用したどのAPM製品でも、この点が最大の課題でした」
Splunk Observability Cloudを導入したことで、Care.com社では問題を特定して解決するまでの平均時間が短縮されました。Splunkの導入前は問題の解決に1時間以上かかっていましたが、現在ではSplunk APM独自のTag Spotlightなどを活用することで問題を数分で検出して修復できるようになりました。「Tag Spotlightでは、さまざまなディメンションをリアルタイムでフィルタリングしてエラーや遅延に関する疑問を解消できるため、トラブルシューティングに大いに役立っています」とCoddington氏は評価します。
たとえばCare.comでは以前、サイトの一部のページで特定の時間帯に応答時間が急に悪化するという現象がありました。Coddington氏と彼のチームはその謎を解明するため、システム内で遅延が発生している箇所とそれらの共通点をSplunk APMで調査しました。そして、原因がモバイルのサイレントプッシュ通知であることを突き止め、ベンダーと協力して帯域制限をかけることでパフォーマンスを正常に戻しました。
高精度なデータは、昨年秋、新学期シーズンに向けた新機能のリリースの際にも真価を発揮しました。「厳しい締め切りに追われながら、まったく新しいアーキテクチャと向き合わねばならず、KubernetesでのリリースやgRPCサービスの利用など、初めての試みもたくさんありました」とSchade氏は振り返ります。「Splunk APMがなければ、サービスが正しく機能するかどうかを確認できず、予期せぬ問題も解決できず、新機能をリリースすることは不可能だったでしょう」
Care.com社では、適切な介護サービスを探すサポートから、家族が介護士に支払う給与のスケジュール設定まで、すべての段階で優れたユーザーエクスペリエンスを提供しようと取り組んでいます。現在は、Splunk Real User Monitoring (RUM)でCare.comのユーザー登録アプリケーションを監視して、フロントエンドのWebブラウザからバックエンドの依存サービスまでのトランザクションのパフォーマンスをすべて測定することで、サードパーティの依存サービスでの処理遅延によるページパフォーマンスの低下を検出して最適化できるようにしています。
「APMで収集したバックエンドのトレースを、RUMで収集したフロントエンドのトレースと関連付けています。このことはずっと課題になっていたため、大きな前進です」とSchade氏は評価します。「状況が詳細までわかるようになり、表面からは見えない部分の非効率性が明らかになって、さらなる改善につながっています」
チームの次の目標は、Splunk RUMの適用範囲を他のフローにも広げて、ページの読み込み時間をさらに短縮し、ユーザーエクスペリエンスを一層向上させることです。「ビジネスユーザーからは、ユーザーの所在地やページの滞在時間など、多くの問い合わせがあります」とSchade氏は言います。「RUMを活用してこれらの疑問に答えていきたいと考えています」Coddington氏もこれに同意します。「Splunk RUMのデータは、他のすべてのテレメトリとつながっています。その関係がわかることは非常に大きなメリットです」
新型コロナウイルスの感染拡大に伴ってCare.comの利用者数は増加しました。今後1年間も速いペースで増加が続くと予想されます。Coddington氏は、完全な一元化の実現に加えて、リリース頻度の10倍増も目指しています。この目標を達成するために、DevOpsチームはSplunkを使って問題を発生と同時に検出し、アラートを自動設定し、リリースイベントを継続的に追跡できるようにする予定です。また、リリース時にSplunk Log ObserverのLive Tail機能を使って、サービスが適切に動作しているかどうかをリアルタイムで確認できるようにする予定です。
Schade氏は次のように語っています。「SplunkとCare.comはとても良いパートナー関係を築いています。Splunkのおかげで、アーキテクチャに関する多くの目標を早期に達成できました。Splunkがなければそれは不可能だったでしょう。次の挑戦が楽しみです」