ブラックボックス化したプラットフォーム
Lightboxのコアプラットフォームはサードパーティー企業が開発・提供しており、LightboxはそのサービスをAmazon Web Services(AWS)上で動かしていました。このプラットフォームには計測サービスが十分に提供されていなかったため、Robinson氏と彼のチームは、プラットフォーム内部で何が起こっているのかをほとんど把握することができませんでした。「変更を加えると、プラットフォームがクラッシュすることがよく発生していました。しかし、問題の原因がどこにあるのかを知ることができませんでした」とRobinson氏は言います。
安定性とサービスの中断だけがLightboxチームが直面した問題ではありませんでした。ピーク時に環境を適切にスケーリングするために必要なアプリケーションのパフォーマンスとAWS環境でのリソース使用状況を把握することも困難でした。環境で何が起こっているかを詳細なレベルで見ることができなければ、それがパフォーマンスにどのように影響するかがわからないので、最適なリソースの選択ができません」とRobinson氏は言います。
安定性で高い評価を獲得
LightboxのチームはNew Relicの導入を決め、プラットフォームに組み込んだ結果、プラットフォームの現状を把握することができました。その結果を受け、4週間かけてプラットフォームの安定化を図るための開発に注力しました。
安定化が無事に完了した後、チームは追加のバグの修正とパフォーマンスの最適化に目を向けました。Lightboxは、ウェブサイト、バックエンドインフラストラクチャー、ミドルウェア、テスト環境、そしてさまざまなモバイルアプリケーションやテレビアプリケーションなど、システムサービス全体に渡ってNew Relicを迅速に導入しました。
エピソードの検索スピードを10倍に改善する
「Lightboxチームが発見した安定性の問題に加えて、プラットフォームが常にピーク状態で稼働していることにも驚きました。検索エンジンは毎晩パフォーマンスが限界に達していましたが、それもNew Relicをデプロイするまで気付きませんでした」とRobinson氏は言います。
「New Relic のデータを使用してパフォーマンスを改善し、現在はピーク時の使用量の少なくとも 4~5 倍のトラフィック増加にも簡単に対応できるようになりました」と Robinson 氏は述べています。
「例えば、レスポンスタイムを平均で約500ミリ秒から50ミリ秒以下に短縮しました。これは、通常のユーザーでは10倍、その他のユーザーでは30倍にもなります。また、動画のロード時間も 40 秒から 2 秒にまで短縮しました。そして、これらすべてをわずか4週間で実現しました。New Relicがコードレベルの情報を提供してくれることで、当社はすべてのユーザーの顧客体験を迅速に改善することができました。」
LightboxチームはNew Relicを使用して、特定のトランザクションが実行される度に、プラットフォームがデータベースに対して何百ものクエリを実行していたために、大きなボトルネックが発生していると判断しました。私たちは、『キャッシュを使って、リクエストする度にアプリケーションがクエリを実行しなくても済むようにしたらどうだろうか』と考えました。これにより、データベースへの負荷が1,000分の1にまで軽減されました。New Relicを使うことで、迅速に見極めることが可能になりました。
DevOpsの成功のためにデータを活用する
「LightboxチームはNew Relicによって、これまでは得られなかったDevOpsプロセスとその結果としてのコードに自信を持つことができました。New Relicのおかげで、エンドツーエンドのテストに使用するリソースを最適化し、テスト中にエラーを簡単に特定してデバッグしたり、変更前後のパフォーマンスや安定性を把握したりすることができます」とRobinson氏は述べています。「New Relicを使用したテストではすべてが検証されており、潜在的な影響を追跡して理解することができるため、自動化されたデプロイメントに信頼と自信が持てるようになりました」とRobinson氏は述べています。
「New Relicのおかげでチームのデプロイがより速く、より高品質になったと評価しています。コードを本番環境に適用するまでの時間が600時間から20分未満に短縮されました」とRobinson氏は述べています。「チケットが入力されてからコードが本番に入るまでのリードタイムが6〜8週間から約1週間に短縮されました。品質と安定性を向上させながら、サイクルタイムとリードタイムの両方を短縮し、生産性を劇的に向上させることができました。」
「 New Relicを導入してからは、デプロイメントを監視する必要がなくなり、新たな昨日の開発に注力することができるようになりました。プラットフォームの深い部分まで可視化できるようになったことで、物事をどのように構築するかを再考し、実際のデータに基づいて意思決定を行い、何が価値をもたらすかに集中することができるようになりました。」