Elastic Beanstalk上的SaaS应用程序

时间:2015-04-07 11:52:55

标签: php amazon-web-services elastic-beanstalk saas

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

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

1 个答案:

答案 0 :(得分:1)

如果您的客户“来到我的网站,注册,开始使用”,则使用单个数据库将其构建为单个应用程序。将您的数据库和应用程序设计为多租户,通过内置授权检查正确地隔离数据。

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

  1. 您必须为每位客户的资源付费。这包括EC2实例,RDS实例等
  2. 当客户注册时,他们需要等待这些资源进行初始化。这种延迟可能导致他们去其他地方而不回来。
  3. 随着您的客户群的增长,您的资源也会增长。更新需要更长时间才能应用。
  4. 我不认为多租​​户数据库架构被“锁定”。只要设计得当,我认为这是“正确的事情”。