terraform 开源工具(什么是Terraform终极指南来了)(1)

字幕组双语原文:什么是Terraform?终极指南来了!

英语原文:Intro to Terraform

翻译:雷锋字幕组(Icarus、)

世界上最先进的基础设施配置系统。

什么是Terraform?你可能已经无数次听说过这个服务,它是所有企业基础设施配置系统的一站式服务。它是一个云基础设施管理器吗?也许它是一个云配置API?在这本快速简单的指南中,您将了解到关于Terraform的所有知识。请欣赏!

基础知识

Terraform是您和云提供商API之间的一层。它使您能够将自动云配置提升到新的高度。Terraform可以帮助您将云基础设施写成代码。这意味着您可以准确地定义您的应用程序需要什么,Terraform将在云中远程配置这些资源。

首先,您将创建一个.tf文件,列出您的应用程序在云中的需求和您的首选云提供商(AWS、Azure、GCP等)。比方说,你包括一个SQL数据库、虚拟机和网络实例。

在您配置好您的应用需求后,Terraform会根据您现有的云存在和您的.tf文件中的配置来规划您的选择。Terraform是需要在你的虚拟机和SQL数据库之上提供一个网络实例,还是需要创建所有的资源?

根据这个计划,Terraform将使用云提供商的API和您的API令牌 "旋转这些资源"(Vennam)。

Terraform将通过向您提供云供应的相关信息来完成这一过程。这包括应用程序的URL、访问令牌等。

使用案例

您的项目是否需要使用Terraform?以下是Terraform在测试和生产环境中最常用的一些使用案例。

测试环境:对于使用开发环境测试代码的开发人员来说,Terraform是一个可靠的选择。它还能很好地与利用持续集成/持续开发方法进行测试并将其代码部署到生产服务器的团队进行整合。Terraform可以根据部署和交付情况自动配置云资源。

分布式应用:使用分布式系统设计的应用通常需要按需提供云资源。将云中的基础设施配置过程编码化,可以节省人工配置系统的时间和资源。

多云部署:通常情况下,企业会将其云资源分布在不同的云提供商上。这允许从任何特定提供商的停机时间进行精细的恢复。由于只针对一个提供商的工具能力有限,资源协调可能极具挑战性。Terraform允许开发人员以简单有效的方式管理多云设置,帮助降低应用程序的复杂性。

融合

使用Terraform通过一个接入点路由云服务,自然而然地降低了应用的复杂性。Terraform服务是您的应用和云提供商提供的资源管理API之间的抽象层。使用Terraform提供了一种简单而统一的方式与云资源的后端进行交互,节省了原本需要手动协调云环境的时间。

在阅读完Terraform文档后,我们可以看到,定义和配置云资源就像创建一个.tf文件并运行三个命令一样简单:terraform init ,terraform plan ,和terraform apply !

第一步,terraform init ,将使用项目目录下的Terraform配置文件来初始化你的应用程序。这些配置文件包含了你项目的需求。这可能包括一个MySQL数据库甚至一个虚拟机实例。

在你定义了你的.tf文件并运行第一个命令后,你将运行terraform plan 。该操作将把您项目当前的云基础设施与您的.tf文件中定义的基础设施进行比较。根据您使用的现有云技术的数量,Terraform将提供新的服务。

这个过程的最后一步是terraform apply 。这条命令将执行所有的资源配置,并将输出直接提供给你的控制台窗口。有了这最后一条命令,你就完成了为你的应用创建云资源的工作!

缺点

虽然Terraform可以极大地帮助你管理项目的云资源,但有几个缺点需要注意。

控制台输出: Terraform基础设施配置的规划阶段往往在控制台输出中充满了不必要的信息。这些无关紧要的输出大多降低了您查看Terraform是否能够成功配置资源的可见性。虽然大多数人都会对Terraform的这个方面感到满意,但有些人可能会觉得这很碍眼,很难管理。

回滚处理: 由于Terraform中没有回滚功能,不成功的配置可能会导致你的项目云基础设施的 "半成品工作"。例如,如果Terraform在应用阶段中途停止了供应,它不会回滚创建任何先前供应的资源。这可能会造成一个尴尬的局面,你必须手动删除所有的云基础设施,并重新启动整个过程。

错误处理:Terraform的错误处理过程可能是不稳定的。很多时候,你会发现自己因为通用的错误声明而难以解决供应会话不成功的根本问题。当您的云存在分布在多个供应商时,这可能是一个痛苦。幸运的是,Terraform社区已经非常成熟,因此您的问题很有可能得到其他开发者的解答。

结束语

虽然Terraform有一些令人印象深刻的功能,但同样也有需要考虑的缺点。使用Terraform配置云资源的三个简单步骤,你的项目将是金子般的存在! 你认为自己会将Terraform集成到你的项目中吗?

雷锋字幕组是一个由AI爱好者组成的翻译团队,汇聚五五多位志愿者的力量,分享最新的海外AI资讯,交流关于人工智能技术领域的行业转变与技术创新的见解。

团队成员有大数据专家,算法工程师,图像处理工程师,产品经理,产品运营,IT咨询人,在校师生;志愿者们来自IBM,AVL,Adobe,阿里,百度等知名企业,北大,清华,港大,中科院,南卡罗莱纳大学,早稻田大学等海内外高校研究所。

如果,你也是位热爱分享的AI爱好者。欢迎与雷锋字幕组一起,学习新知,分享成长。

,