導入事例
急成長するソーシャルネットワーク Saturn を Momento が支援
Saturn は Momento によってキャッシュのスケーリングと運用を簡素化し、急速に増えるユーザーへの価値提供に集中しています。
業種:ソーシャルネットワーク、急成長スタートアップ、メディア・エンターテインメント
ユースケース:API のキャッシュ、PostgreSQL データベースのキャッシュ
私は 2008 年から 2022 年まで、まだサービスが数えるほどしかなかった初期の AWS で働いていました。そこで学んだのは、お客様が大切にすることの本質に集中し、喜ばれる体験を提供することが、持続的で急速な事業成長につながるということです。現在働いている Saturn でも、同じ姿勢を大切にしています。ユーザーに喜ばれる体験を届けることが、私たちの価値観の中心にあります。
Saturn は、高校生がカレンダーを通じてつながるためのサービスです。授業の時間割を管理するために Saturn を積極的に使うユーザーの熱意は、学校や学区内で口コミが広がるにつれて利用が伸びていることからも分かります。
成長に伴う課題
この成長を支えるチームの一員であることは刺激的ですが、課題は規模への対応だけではありません。トラフィックの動きは予測できないことがあり、予測できる場合でも、アーキテクチャを慎重に検討する必要があります。それでも、機能を素早く届けることは成功に不可欠です。ユーザーが一緒に時間を過ごす方法は多様で、さらに広がり続けています。その時間を最大限に活用できるよう支援したいと考えています。
規模が新たな段階に達するたびに、キャッシュやデータベースの調整、スケーリング、フェイルオーバー、負荷テストが必要になります。その作業によって、チームは機能開発や不具合修正に集中できなくなっていきます。インフラへの投資を増やせば一部は緩和できますが、ユーザーの増加率に応じた追加費用を計算すると、好ましくないほど大きな金額になります。スケーリングの課題を解決するには、根本的に異なるアプローチが必要でした。
慎重な検討から確信へ
そこで登場したのが Momento です。エンジニアとしての経験から、新しい Infrastructure as a Service(IaaS)を評価するときには、慎重に見極めることを学んでいました。インターフェースの表面だけでなく、その内側まで掘り下げ、顧客の本質的なニーズを理解し、実際に満たせるサービスなのかを確認する必要があります。
既存のキャッシュ基盤で課題が出始めていた頃、Khawaja と Momento のチームは、当時は信じがたいほど魅力的に思えたサービスを実現できると、短期間で納得させてくれました。実際に試してみると、スケーリングの課題が解決するだけでも十分だったところ、キャッシュの導入体験まで期待を上回りました。従来のキャッシュクラスターが起動するよりも短い時間で、利用を開始できたのです。あまりに感銘を受けたので、昔の同僚が作った技術に興奮しすぎて、評価が偏っているのではないかと自問しました。そこでチームに Momento を紹介し、反応を待つことにしました。最初の連携として、まだキャッシュを組み込んでいない新しいコンポーネントで試してみるよう提案したところ、ほどなく次の報告が届きました。

開発から本番導入までが驚くほど速く、Momento の実力に圧倒されました。以前のキャッシュ群より高速で、スケーラブルで、価格は半分。しかも、わずか 1 週間で連携が完了しました。現在、Momento は API 層(Amazon EKS)と Amazon Aurora PostgreSQL データベースの間でリクエスト処理を支えています。今でも信じられないほどです。
Momento Cache を導入したアーキテクチャ

今後の成長と、さらなるコスト削減へ

Momento は短時間で導入できるため、以前は作業に時間がかかることを理由に見送っていた箇所にもキャッシュを追加できます。長期的にはデータベース費用の削減にもつながるはずです。Momento のおかげで、チームは運用負担を抱えずにキャッシュを活用できます。さらに、柔軟なスケーリングと利用量に応じた料金体系により、キャッシュ費用はピーク負荷に合わせた固定額ではなく、実際のトラフィックに応じたものになりました。学年、週、さらには一日の学校生活のリズムに合わせてトラフィックが大きく増減する Saturn にとって、これは特に重要です。