【问题标题】:What is the recommended AWS service for SAAS apps?为 SAAS 应用程序推荐的 AWS 服务是什么?
【发布时间】:2015-07-08 18:54:03
【问题描述】:

我正在查看 Amazon 用于管理基于云的应用程序的各种产品,简而言之,我不确定是否最好尝试使用简单的 EC2 和 EBS、Beanstalk 或 OpsWorks 甚至 CloudFormation 来完成我所需要的。

详细说明,我想在注册时为我们基于 Web/Tomcat 的应用程序的客户提供基于云的试用版,该试用版在自定义域(通过 Route53)上运行,其数据存储在 EBS 卷上。文件系统上的某些目录需要在创建实例时创建。

我的意图是在成功注册后使用 Java AWS 开发工具包进行适当的调用,以便为用户配置系统,然后将通知用户访问其自定义站点的 URL。

我不考虑多重缩放,因为并发用户的数量永远不会很高,但每个客户版本都应该独立运行。

所以我正在查看 beanstalk API.. 但后来看到了 OpsWorks Api,然后是 CloudFormation 模板。

如果我要使用 Beanstalk API,我可以为每个客户启动一个“环境”,这意味着所有客户都将成为同一个 beanstalk“应用程序”的一部分,这意味着如果我更新应用程序版本......每个人都会收到听起来很积极的更新,但是为每个客户做一个环境似乎是错误的,因为通常环境用于测试、生产等......

所以我回到开头想知道这种基于 AWS 的 SAAS 系统的典型部署策略是什么。

为清楚起见,该应用不需要 RDS,并且每个客户只需要一个实例。

【问题讨论】:

  • 您需要单个 ec2 实例还是多个实例?
  • 每个客户只有一个实例(更新问题以反映)
  • 您的应用程序的单次安装是否需要单个实例的全部资源?除非系统确实需要,否则为每台服务器安装一个客户似乎既浪费又昂贵。大多数 SaaS 使用由软件应用程序的所有租户共享的服务器集群。这对您来说更经济,意味着每个人都可以共享相同的最新版本的软件。
  • 补充。您能否将您的“试用”客户放在大型共享服务器上。然后,当您升级出试用版时,您会将它们迁移到自己的单独实例(如果您需要的话)
  • 很遗憾,每个客户都需要自己的服务器。也许为了节省成本,我们可以保留他们的 EBS 支持的数据,当他们不使用它时.. 即会话全部关闭,我们终止实例,然后仅根据需要再次启动实例,重新附加 EBS 卷.. .

标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk amazon-cloudformation aws-opsworks


【解决方案1】:

您应该看看 Docker https://www.docker.com/ 并使用新的 ECS http://aws.amazon.com/documentation/ecs/(弹性容器服务)在容器中运行您的服务。

这将使您能够在几秒钟内配置环境,并且每个实例可以运行多个环境,从而优化成本和资源使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-12
    • 2010-10-30
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多