Elastic Beanstalk 上的 SaaS 应用程序

SaaS application on Elastic Beanstalk

我正在设计 SAAS application,将在 AWS 上托管。以前我使用 Elastic Beanstalk 来管理应用程序。我可以设计该应用程序,以便所有客户端共享一个 DB(使用 EB 应该很容易)。有没有办法为每个客户建立一个单独的数据库? 我可以为此使用环境(这似乎不是一个好主意,因为环境不是为了那个),或者为每个客户端创建一个单独的 beanstalk 应用程序(我不确定这是否不会使更新更多的麻烦)。 我也可以将 EB 放在一边,完全使用不同的 AWS 服务。

我的问题是 - EB 可以用于创建具有独立数据库的多租户 SAAS 应用程序,还是我被共享解决方案(单个应用程序,单个数据库)锁定?

如果您的客户是 "come to my site, sign-up, start using",则使用单个数据库将其构建为单个应用程序。将您的数据库和应用程序设计为多租户,通过内置授权检查正确隔离数据。

如果您的 SaaS 架构使用基于客户的 EB 环境或数据库,那么:

  1. 您必须为每个客户的资源付费。这包括 EC2 实例、RDS 实例等。
  2. 当客户注册时,他们需要等待这些资源初始化。这种延迟可能会导致他们去别处而不是回来。
  3. 随着客户群的增长,您的资源也会增长。应用更新需要更长的时间。

我不认为多租​​户数据库架构是 "locked in"。我认为 "the right thing" 只要它设计得当。