[設計] マルチテナントアーキテクチャー

AWSはvpcが5つまでしか使わないので、複数のクライアントと契約する場合、どうするのかずっと気になっていた。あと、freee, money forwardみたいに、沢山のユーザがいる場合はどう設計しているのか?

マルチテナントアーキテクチャーで設計するらしい。
1. クライアントごとにデータベースを分ける
2. クライアントごとにidを振って、同じデータベースで管理する
3. ハードウェアのみ共有する

軽いアプリケーションなら、2の同じデータベースで良さそうだが、大きくスケールすることを考えたら、2のクライアントごとにデータベースを別ける方法か。。

うーむ、ちょっと時間かけて勉強したいテーマやないか。