Terraform Workflow At Scale

时间:2017-09-11 12:00:03

标签: amazon-web-services terraform infrastructure

我有一个独特的机会为一家大公司的一部分建议IaC的工作流程,该公司有许多技术机构为之工作。

我正在尝试制定一个企业级安全的解决方案,但尽可能多地提供自助服务。

范围:

  • 代码管理[每个项目/环境/代理/公司的存储库]
  • 环境处理[每个环境的构建升级/状态文件,一个状态文件,terraform envs等]
  • 治理模型[Terraform Enterprise / PR system / custom model]
  • 测试和验收[手动验收/自动化测试(如何测试tf文件?)/ infra测试环境]

我阅读了很多文章,但其中大部分都描述了内部开发团队的情况,这在安全性和治理方面要容易得多。

我很想了解IaC管理和企业中的最佳解决方案是什么。 Terraform Enterprise是一个有效的选择吗?

1 个答案:

答案 0 :(得分:0)

我建议使用Terraform modules作为(基础设施)代码的企业“库”。

然后你可以:

    企业级
  • 版本测试接受您的库
  • 控制开发人员或客户端可以设置的变量(例如,为具有可配置存储桶名称的AWS S3存储桶提供模块,但限制ACL选项)
  • 提供复杂,重复配置的抽象,以节省时间,防止错误并鼓励自助服务(例如,将AWS API Gateway与AWS Lambda和Dynamodb相关联)

对于治理,有助于拥有受控的云提供商帐户或环境,其中每个资源都是通过Terraform从头开始部署的(除了用户可以手动实验的沙箱)。

例如,您可以:

因此,有很多方法可以使用Terraform模块为您的客户/开发人员提供支持而不放弃企业控制。