我正在考虑使用Puppet Enterprise将服务器/服务集合部署到Amazon Web Services。 据我所知,最好的方法是通过CloudFormation 。
根据我读过的内容,CloudFormation定义了如何设置/创build服务。 而使用Puppet来设置和维护服务器/服务configuration。
所以有两个问题:
背景
我的组织使用Elastic Beanstalk发布其现有的Web应用程序/服务,我希望保留此工作stream或从Beanstalk转换到其他时间允许的其他东西。
最简洁的答案是不。
您实际上不用Elastic Beanstalk来pipe理您的基础架构(或底层应用程序技术),只需上传您的应用程序(例如使用git推送您的代码)和Beanstalk并为您部署。
https://aws.amazon.com/elasticbeanstalk/details/
AWS Elastic Beanstalk是一个易于使用的应用程序pipe理服务,用于通过stream行的应用程序容器(如Java,PHP,Python,Ruby和.NET)来构buildWeb应用程序和Web服务。 客户上传他们的代码,Elastic Beanstalk会自动完成剩下的工作 。
是。 CF可以帮助您pipe理一系列AWS资源, 包括 Beanstalk。
CF文档是一个很好的开始http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
以下是CF可以pipe理的资源:
如果你经过更多的控制,你可能想看看OpsWorks https://aws.amazon.com/opsworks/ ,它可以让你通过厨师(一个类似于Puppet的CM工具)控制操作系统configuration。
如果你想更多的控制你可以直接使用CloudFormation,这样你可以pipe理你的基础设施的每一个方面(然后你将完全控制EC2s来pipe理,但是你认为合适,例如使用一个像Puppet,厨师或Ansible)。
https://aws.amazon.com/opsworks/faqs/
OpsWorks&Beanstalk是应用程序pipe理服务。
AWS OpsWorks和AWS CloudFormation都是支持应用程序build模,部署,configuration,pipe理和相关活动的应用程序pipe理服务。 两者都支持各种架构模式,从简单的Web应用程序到高度复杂的应用程序。 AWS OpsWorks和AWS CloudFormation在抽象层次和重点领域有所不同。
CF允许您pipe理几乎所有的AWS资源
AWS CloudFormation是一种构build块服务,使客户能够通过基于JSON的域特定语言来configuration和pipe理几乎任何AWS资源。
OpsWorks允许您比Beanstalk做更多的事情
AWS OpsWorks支持比Elastic Beanstalk更广泛的架构模式。 尽pipeAWS Elastic Beanstalk专门针对最常见的Web应用程序和Web服务模式和应用程序中间件进行了优化,但AWS OpsWorks支持各种体系结构模式,从简单的Web应用程序到高度复杂的应用程序。
我喜欢把这些选项作为一个规模来看(从左到右),左边更容易使用,右边给你更多的控制(但需要更多的努力来维护):
Beanstalk – > OpsWorks – > CloudFormation。