我是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处理,它真的应该?
答案 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账户。
希望这有帮助!