Firestoreからの大規模なデータ基盤移行プロジェクトを安全に進めるために行ったこと by satoshin21

iOSDC Japan 2024
レギュラートーク(40分)

Firestoreからの大規模なデータ基盤移行プロジェクトを安全に進めるために行ったこと

satoshin21 satoshin21 satoshin21
4

2年前、弊社アプリはSQLiteからFirestoreへデータ基盤の移行プロジェクトを行いました。
Firestore自体は当時のユースケースとしてはベストな選択でしたが、ここ最近求められる新機能や施策の実現に対してFirestoreではコスト面や横断したデータの活用などの観点から実現が難しいと判断することが増え、今回アプリ・サーバーサイドと合わせデータ基盤を大きく作り変える決断をしました。
そうして始まった大規模な移行プロジェクトですが、今回は「グロースなどの開発を並行しながらデータ基盤を移行してほしい」というオーダーもあったため、iOSチームとして通常の施策実装と並行して安全にデータ基盤を差し替えていく仕組みを考え実践しました。

今回のトークでは安心・安全にデータ基盤を移行するためにアプリ開発チームとして工夫したこととその実践内容について、
以下の内容を踏まえつつお話していきます

  • なぜFirestoreから移行したのか
  • Feature Flag形式によるデータソースの切り替え
  • 型安全による実装の分離
  • SwiftUIとThe Composable Architectureによる実装
  • ユーザーに安全にデータを移行してもらうための仕組み