TimeTree: Spanner への移行でサービスの継続性を確保、ビジネスのさらなる成長を支える土台を確立

Google Cloud Japan Team
カレンダーシェアアプリ「TimeTree」を開発・運営している株式会社TimeTree(以下、TimeTree)。多様なユーザーの予定管理を支える同社では、さらなるビジネスの成長に備えてサービス基盤の刷新に着手。他クラウドのデータベース サービスから、 Google Cloud の Spanner へ移行したことにより、サービスの継続性を確保するとともに、運用体制の大幅な改善を実現しました。今回は、この移行プロジェクトを担当したエンジニア 2 名に話を伺いました。
利用しているサービス:
Spanner, Cloud Run, Datastream, BigQuery, Cloud Load Balancing, Cloud CDN, Memorystore for Valkey, Cloud Storage, Pub/Sub, Looker
利用しているソリューション:
データベースの移行
ビジネスの順調な拡大に影を落とす 3 つの懸念、その対策として Google Cloud を採用
「あの人と共に生きる未来へ誘おう」というビジョンを掲げる TimeTree では、家族や恋人、友人、チームなど、複数人で予定を共有できるカレンダーシェア アプリ「TimeTree」を開発・運営しています。このアプリはスケジュールを管理するだけでなく、予定ごとにコメントを投稿できたり、通知でやり取りを促したりする機能で、日常の中に自然にコミュニケーションが生まれる仕組みを備えている点が大きな特徴です。こうした工夫が評価され、2015 年のサービス開始以来、国内外で高い支持を獲得。2025 年 5月時点で登録ユーザー数は累計 6,500 万人を突破し、200 以上の国と地域で利用されるグローバル サービスへと成長しました。
しかし、ビジネスが順調に成長する一方で、サービスを支えるバックエンドのシステムには大きな懸念が発生していました。メインのデータを格納しているクラウド データベース サービスが、TimeTree のサービス規模の拡大に対応できなくなってきたのです。
従来のデータベース サービスには、主に 3 つの問題がありました。1 つ目は、近い将来、データ量の増加によってストレージ容量の上限に到達する可能性が高いこと。2 つ目は、ユーザー数やセッション数の増加により、同時コネクション数が上限に到達しそうなこと。そして 3 つ目は DDL(データ定義言語)のオペレーションに必要なローカル ストレージが、大きなテーブルを処理する際に枯渇してエラーになるケースが出てきたことです。
SRE チーム マネージャーの 金井 栄喜氏は次のように説明します。


「TimeTree のデータは、1 つの予定に対してさまざまな情報がひも付いてくるため、データが増えるペースが速いという特性があります。今後のサービスの成長目標を考慮してデータ量やアクセス量を見積ったところ、近い将来、3 つのいずれの課題にも対処するのが難しくなることがわかりました。弊社はこれから新サービスの追加やグローバル展開の強化などを目指しており、ビジネスの重要な局面を迎えます。そこで、ビジネスが成長できる土台を用意する必要があると考え、問題が顕在化する前にシステム基盤の移行に踏み切りました。」
3 つの課題解決に向けて、TimeTree が移行先のデータベース サービスとして選んだのが Spanner です。金井氏によれば、シャーディング機能に大きなアドバンテージがあることが採用の決め手でした。
「もともと今回は、データ量の増加に起因する致命的な問題に対して、シャーディングで解決するアプローチを取る方針でした。その点、フルマネージドな Spanner であれば、すべて自動でシャーディングが行われるので、運用負荷を上げることなく導入できるという大きな魅力があります。拡張性が高く、最大コネクション数などの要件も満たしていたので、今後のビジネスの成長を見据えたときに、弊社に 1 番合っているのが Spanner だと判断しました。」
SRE チーム ソフトウェアエンジニアの Greg 氏は、従来より BigQuery や Google Workspace といったプロダクトを使用していたことも、Spanner の採用を後押ししたと言います。
「システム基盤を Google Cloud に統一することで、データ分析基盤として利用している BigQuery とのシームレスな連携が可能になり、運用負荷の軽減やコスト削減といった効果が期待できました。また、ユーザー認証基盤として Google Workspace を利用していたので、セキュリティの強化と運用簡易化にもつながると考えました。」


Google Cloud チームと連携した入念な準備で、大規模データのスムーズな移行に成功
Spanner の採用を検討している過程で、TimeTree では Google Cloud Tech Acceleration Program(TAP)を利用し、Google Cloud のエンジニアと共に短期集中のワークショップを実施。移行に向けた課題やその解決策を議論することによって、実践的な視点で実現の可能性を探りました。Greg 氏は、TAP での取り組みを次のように振り返ります。


「移行前のデータベースが MySQL だったので、Spanner への移行は大きなリスクが伴うとも考えていました。例えば、シャーディングのパフォーマンスへの影響を最小化するには、どのようなスキーマ設計にすればいいのか。あるいはレコード数が 150 億以上にもなるデータをスムーズに移行できるのかなど、多くの心配事がありました。そこで TAP では、事前に想定されるさまざまな問題に対して、小さなプロトタイプを作ったりしながら議論し、ひとつずつ解決策を見つけていきました。この段階で疑問や不安が解消されたことで、Spanner 採用の準備はかなりスムーズになったと思います。」
データのクレンジングや、Spanner に最適化したスキーマ設計、アプリケーションの変更など、移行のための準備は 1 年以上の時間をかけて入念に行いました。また、Google Cloud の開発チームとも連携し、大容量データを移行するための Spanner 移行ツールの性能向上など、短時間での移行を可能にする環境も整えました。その成果もあり、実際の移行作業では致命的な問題は発生せず、計画停止の範囲内で実施することができました。
移行作業を成功させた要因として、金井氏は緻密なプロジェクト マネージメントも挙げています。
「もともと今回のプロジェクトには、将来的なビジネスの成長に備えるという目的があったので、タイムラインが非常に重要でした。この点に関しては、少人数体制で進めていくことで意思決定の遅れを回避できたことが、成功の要因だと考えています。Google Cloud チームとしっかり連携したうえで協力いただけたことも、大きかったと感じています。」
自動シャーディングを備えた Spanner により、データベース運用の負担が大幅に改善
TimeTree が抱えていた 3 つの課題は、Spanner への移行によって完全に解消されました。懸念されていたシャーディングによるパフォーマンスへの影響も発生せず、自動スケーリングによってコスト最適化も実現できました。それに加えて、データベース運用の負担も大幅に軽減されています。Greg 氏は、こうした運用面での改善を特に重要な成果と捉えていました。
「移行前はデータ容量やコネクション数の上限を意識して、常にメトリクスを監視しながら調整する必要があり、大きな負担となっていました。シャーディングを導入したとしても、手動で運用するの場合、データ量に応じた調整が困難なので高いリスクが付きまといます。Spanner ではその心配がまったくないので、運用上の手間が大幅に改善され、心理的な負担も払拭されました。」
Spanner の多彩な機能や高い柔軟性は、TimeTree の社内文化にも大きな変革をもたらす可能性があると金井氏は語ります。
「これまで新しい機能やサービスを導入する際には、企画チームが立案し、それをエンジニアが実装するという進め方が一般的でした。一方で、Spanner の多様な機能を活用できるようになれば、エンジニア自らが、技術的な視点から企画を提案することも可能になると考えています。今回の Spanner への移行をきっかけに、エンジニアリング主導の発想や提案で社内全体に活気が生まれ、サービスの成長スピードも加速できるのではないかと期待しています。」
TimeTree では、これからも積極的に Google Cloud を活用していく方針です。直近の目標としては、今回のプロジェクトでは対象外だった、NoSQL データベースの Google Cloud への移行が挙げられます。また AI の導入にも意欲的です。具体的には、イベント表や予約表の画像から予定を自動作成する機能や、アルバムの画像を分析してグルーピングする機能などに、Vertex AI をはじめとする AI サービスの活用を検討しています。マスターデータのデータベースを Google Cloud に移行したことで、AI を使った新しい機能を提供できる可能性が広がっています。
最後に金井氏は、Google Cloud を活用した TimeTree の未来に強い意欲をのぞかせました。
「Google Cloud はグローバルな利用を前提にしたサービスが多く、グローバル展開を目指している弊社とは非常に相性が良いと感じました。プロダクトの成長も早く、欲しいと思う機能がどんどん追加されるので、まだまだ伸びしろが大きいクラウドだと実感しています。我々としても、もっといろいろなサービスを積極的に利用してナレッジを高め、自社のプロダクトを成長させていきたいと考えています。」


株式会社TimeTree
2014 年 9 月 1 日設立。「あの人と共に生きる未来へ誘おう」というビジョンのもと、カレンダーシェアアプリ「TimeTree(タイムツリー)」の開発・運営を行う。TimeTreeは、家族・恋人・友人・職場など、複数人でスケジュールを共有・調整できる仕組みにより、コミュニケーションの円滑化や予定管理の効率化を支援します。国内外での累計登録ユーザー数は 6,500 万人を超えており、ユーザーの多様な利用シーンに対応する機能拡充を進めながら、カレンダーを起点として多様なライフスタイル支援サービスの展開を目指しています。
インタビュイー(写真右から)
・SRE チーム マネージャー 金井 栄喜 氏
・SRE チーム ソフトウェアエンジニア Greg 氏
その他の導入事例はこちらをご覧ください。