我正在研究亚马逊用于管理基于云的应用程序的各种产品,简而言之,我不确定是否最好尝试使用简单的EC2& EBS,Beanstalk或OpsWorks甚至CloudFormation。
详细说明我希望在注册时为我们基于Web / Tomcat的应用程序的客户提供基于云的试用版,在自定义域(通过Route53)上运行,其数据存储在EBS卷上。需要在创建实例时创建文件系统上的某些directorys。
我的目的是在成功注册后使用Java AWS SDK进行适当的调用,为用户配置系统,然后系统会通知用户访问其自定义站点的URL。
我不是在考虑多扩展,因为并发用户的数量永远不会很高,但每个客户版本都应该单独运行。
所以我正在查看beanstalk API ..但随后看了OpsWorks Api,然后是CloudFormation模板。
如果我要使用Beanstalk API,我可以为每个客户启动一个'环境',这意味着所有客户都将成为同一个beanstalk'Application'的一部分,这意味着如果我更新应用版本......每个人都会收到这个更新听起来是正面的,但是每个客户做一个环境似乎是错误的,因为通常环境用于测试,生产等......
所以我回到头开始想知道这种基于AWS的SAAS系统的典型部署策略是什么。
为清楚起见,该应用不需要RDS,每个客户只需要一个实例。
答案 0 :(得分:1)
您应该查看Docker https://www.docker.com/并使用新的ECS http://aws.amazon.com/documentation/ecs/(弹性容器服务)在容器中运行您的服务。
这将允许您在几秒钟内配置环境,并且您可以在每个实例上运行多个环境,从而优化成本和资源使用。