世界に5400万ユーザーを抱える日本発のプロダクト「TimeTree」
──自己紹介をお願いします。
河野洋志氏(以下、河野):CTOの河野洋志、ニックネームはScottです。TimeTreeの創業メンバーが新卒入社時の同期だった縁で、「TimeTree」がプロダクトとしてリリースされてから半年ほどで入社しました。それまではサーバーサイドやデータベースに携わっていました。2023年からはCTOとなり、エンジニアのマネジメントやスクラム開発導入などを行っています。
金井栄喜氏(以下、金井):エンジニアの金井、ニックネームはmiuです。前職でインフラを担当していたこともあり、入社後はバックエンドを手伝いながらインフラを担当し、SREチームを立ち上げました。現在ではSREチームのマネージャーをしています。
──TimeTreeはどのようなサービスですか?
河野:カレンダーシェアサービスです。一般的にカレンダーサービスは手帳をベースにしていますが、TimeTreeは壁掛けカレンダーをデジタル化したイメージです。主に家族、パートナー、職場のスケジュール管理でお使いいただいてます。
金井:よく Google カレンダーと比較されることがあるのですが、Googleカレンダーだと、まず個人のカレンダーがあり、他人と共有することもできます。一方、TimeTreeは1つのカレンダーを誰かと共有することがスタート地点にあるのです。
河野:日本だと家族のスケジュール管理に使っていただくことが多いです。ドイツもそうですね。アメリカやイギリスだと友達同士で、韓国や台湾だとパートナーと使うなど、国によりカルチャーの違いが出ていて面白いです。
──最初からグローバル展開を狙っていたのでしょうか?
河野:創業メンバーが当時のYahoo! JAPANとカカオジャパンのジョイントベンチャーに在籍していた多国籍チームだったので、多国語展開は当然の感覚でした。日本語、英語、韓国語から始まり、対応言語を増やしました。かつてはユーザーさんから直接ローカライズ協力の申し出もあり、「なんて優しいんだ」と感激したことを覚えています。
──おすすめの使い方はありますか?
河野:TimeTreeは予定にコメントを付ける機能があります。家族やグループで作成した外出予定にコメントすることで、会話が広がるのがおすすめです。
金井:あと予定にファイルも添付できますので、マンションに掲示されている清掃や防災点検のお知らせなどを撮影しておいて、OCRで予定を自動登録することができます。チェックリストもあるので、買い物にも便利です。
100億レコードを超えるテーブルも! 日本から世界のデータを扱うには
──プロダクトの技術的な特徴はありますか?
河野:クライアントはiOS、Android、ブラウザで、バックエンドは全部Ruby on Railsで書かれたAPIで動いています。尖っているというよりはシンプルなデザインにしています。とはいえデータ量が多いのが悩みの種です。
金井:もともとインフラ担当が少なかったなかでサービスをスケールしたので、なるべく手がかからないような運用を心がけた設計になっています。キャッシュがあり、入口にロードバランサー、サーバー、データベース、ストレージとシンプルな構成です。
──データ規模はどのくらいですか?
金井:バックアップで7TB、100億レコードを超えるテーブルもあります。日本のデータセンターにデータを置いているので日本国内からのアクセスなら50msec、ヨーロッパだと100〜120msec、地球の裏側だともう少しかかります。できるだけインターネットを通さずメインクラウドのAWSネットワークでアクセスできるように、エッジロケーションを使うような構成にしています。最近は円安なのでコストも気になるところですが、できる対策をしっかり行った結果AWSの方からも「もう、やりきっている」と太鼓判を押していただきました。
河野:よく「なぜサーバーをマルチリージョンにしないのか?」と聞かれますが、1つはシンプルな運用でコストを下げたいのと、もう1つはデータベースなどの通信回数を減らすために、シングルリージョンにしています。