《幕后:通往地球之路》5大看点

初始化terrraform环境浪费了多少时间?
如果你的回答是“比我们应该做的多”,那么我们有一些建议给你。
Terraform是一种流行的基础设施即代码(IaC)工具,适用于任何部署到云的人。我们在JFrog使用它来帮助我们的SaaS客户管理基础设施,最近在Artifactory中添加了支持来管理您的Terraform文件(提供者、模块和后端)。
为此,JFrog DevOps和研发团队最近拉开了帷幕,并分享了他们在改进我们自己对Terraform的使用方面的经验——他们改变了什么,它如何增强您的日常工作——以及这些努力如何有助于在Artifactory中构建新的Terraform支持。你绝对应该观看录音关于那次网络研讨会(不到30分钟),这里有一些有用的收获。
改善terrraform使用的五个主要步骤
JFrog基础设施团队是Terraform的重度用户。他们管理着大约50个集群,在3个云提供商的40个不同区域运行,并管理着130个terrform工作区。这样的规模是很难维持的。为了简化基础设施运营,团队确定了五个需要改进的领域:

- 基础设施对齐-调整当前的基础设施,只使用基础设施即代码进行管理。整合您的方法将消除手工工作和维护多个工具的需要。如果没有正确配置IaC,管理庞大的基础设施层几乎是不可能的——命名约定、安全标准、交付时间和更改日志记录都是挑战。
- 发展及制作分部-创建一个工作流,使您能够在不破坏工作空间的情况下更改模型。每个特性/环境的分支可能会导致很多漂移,并导致理解在给定环境中运行的配置的挑战
- 模块的主分支-为每个模型使用标签的模型存储库利用一个主分支。
- 一个管弦乐队在terrraform-每天自动运行所有terrraform工作区来检测漂移。在使用Terraform代码的不同组之间划分权限,并在每个步骤(计划之前/之后,应用之前/之后,等等)前后运行逻辑代码。
- 模型解耦-消除数据模型之间的相互依赖,使您能够在数据层上工作,而不需要解决可能发生在另一层的漂移。JFrog团队将他们的数据模型分为四个主要模型:网络层、K8s层、数据库层和对象存储。
Artifactory如何帮助优化您的terrraform使用
在JFrog,我们做什么吃什么。当我们的DevOps团队致力于改进我们自己的Terraform使用时,他们与Artifactory研发团队合作,将必要的功能构建到Artifactory中,以支持团队的Terraform计划。其结果是今天可用的Terraform功能——其中包括用于Terraform提供程序和模块的本地、远程和虚拟存储库,以及用于后端状态文件的存储库。
使用Artifactory托管和管理您的Terraform文件将您从源代码控制管理转换到二进制文件。这些模块不是直接从源代码控制中解析模块,而是变成具有所有好处的二进制文件:校验和和校验和部署、不可变性、版本控制、更好的安全性等等。使用Artifactory远程存储库代理官方Hashicorp注册中心,可以获得对外部资源的不可变、始终可用的访问。将您的私有和公共注册中心组合到Artifactory中的虚拟存储库中,为terrraform文件提供了一个单一的、受管理的访问点。
Artifactory的后端存储库解决方案利用了支持Terraform远程后端(包括工作空间和锁定机制)的本地存储库实现。使用JFrog CLI将您现有的后端解决方案迁移到Artifactory,并受益于在一个地方管理所有用户,在实际对象存储中加密状态内容,完整的状态历史,监控状态操作/活动,以及SmartDiff状态差异。
有关使用Artifactory管理terrraform文件的好处以及解决方案的实时视图的更多详细信息,您可以观看Terraform网络研讨会在需求。你也可以免费试用Artifactory,或请求一个Artifactory演示我们的解决方案工程师。
