使用AWS Cloud Formation重复配置AWS环境有多常见?

时间:2018-02-20 23:05:24

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

我是CloudFormation的noobie。但是阅读CloudFormation的文档,亚马逊似乎认为我们应该使用 方法来一致地,重复地部署AWS服务实例的给定拓扑。然而,AWS已经存在了十多年,并且AWS推动CF似乎只是在过去的5年内。

我偶然发现了一篇很棒的帖子AWS OpsWorks vs AWS Beanstalk vs AWS CloudFormation?,它探讨了不同AWS部署产品的优势。鉴于我的组织需要灵活且可重复的IaaS / PaaS部署,CF似乎符合要求。

我想知道的是:CF的使用有多普遍,而其他"模板"部署技术?您的团队使用什么来部署重复的AWS服务配置?

它的可用性/可学性如何?如果我采用CF,那么AWS上的现有开发人员已经熟悉它并且能够直接使用它的可能性有多大? CF似乎已经支持许多大多数 AWS服务,但人们是否真的使用它来反复删除相同配置的服务拓扑?

或者大多数团队都喜欢更简单,更无限可配置的选项吗?如果是这样,为什么?

使用CloudFormation模板时需要注意哪些陷阱?什么没有 CF处理,它真的应该?

1 个答案:

答案 0 :(得分:4)

我会根据自己的经验尝试回答您的大部分问题:

  

我想知道的是:CF的使用有多普遍,而其他"模板"部署技术?

我无法断言特定的使用情况分布,但我知道使用Terraform的人。虽然Terraform支持CF,但我的团队决定不使用它只是因为CF已经满足了我们的需求。

  

您的团队使用什么来部署AWS的重复配置   服务?

我的团队使用CloudFormation(没有Terraform)将我们的整个基础架构部署到AWS

  

它的可用性/可学性如何?

非常简单。从一个小模板开始(理想情况下是YAML),然后从那里开始构建。 aws cloudformation deploy会加快您的反馈循环。

  

如果我采用CF,那么AWS上的现有开发人员已经熟悉它并且能够直接使用它的可能性有多大?

我认为AWS熟悉的开发人员可以轻松获取CF.如果您能找到适合AWS文档的方法,那么CF只是另一项需要学习的服务。我无法断言现有AWS开发人员熟悉CF的可能性。

  

CF似乎已经支持许多或大多数AWS服务,但人们是否真的使用它来反复删除相同配置的服务拓扑?

我的团队使用它来配置具有相同拓扑的测试和生产环境。我们的基础架构的某些部分使用共享CF模板进行了重复以实现冗余。

  

使用CloudFormation模板时需要注意哪些陷阱?

你必须注意一些CF limits,即模板主体的最大尺寸,上限为46KB。我们已经达到了这个限制几次,特别是在使用更大的用户数据脚本配置EC2实例时。话虽这么说,你不应该在早期达到这个限制,并且有许多变通方法

  

CF处理的是什么,它应该是什么?

从我的头脑中:弹性转码器,EC2 AMI,API网关VPC链接。我的团队使用Lambda-backed custom resources规避了这些限制,允许您根据需要扩展CF.

总的来说,我的团队对CloudFormation非常满意。这无疑有助于我们按顺序维护我们的AWS账户。

希望这有帮助!