使用Puppetpipe理AWS Beanstalks

我正在考虑使用Puppet Enterprise将服务器/服务集合部署到Amazon Web Services。 据我所知,最好的方法是通过CloudFormation 。

根据我读过的内容,CloudFormation定义了如何设置/创build服务。 而使用Puppet来设置维护服务器/服务configuration。

所以有两个问题:

  1. 我可以使用Puppet创buildElastic Beanstalk吗?
  2. 是否有可能维护Elastic Beanstalk,这将如何工作?

背景

我的组织使用Elastic Beanstalk发布其现有的Web应用程序/服务,我希望保留此工作stream或从Beanstalk转换到其他时间允许的其他东西。

我可以使用Puppet创buildElastic Beanstalk吗?

最简洁的答案是不。

我如何使用Elastic 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会自动完成剩下的工作

我可以一起使用CloudFormation和Beanstalk吗?

是。 CF可以帮助您pipe理一系列AWS资源, 包括 Beanstalk。

CF文档是一个很好的开始http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html

以下是CF可以pipe理的资源:

  • AWS :: ElasticBeanstalk ::应用
  • AWS :: ElasticBeanstalk :: ApplicationVersion
  • AWS :: ElasticBeanstalk :: ConfigurationTemplate
  • AWS :: ElasticBeanstalk ::环境

其他选项

如果你经过更多的控制,你可能想看看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。