余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

什么是Terraform?终极指南来了(姨妈来了要注意些什么)

xiyangw 2022-11-25 12:01 20 浏览 0 评论

字幕组双语原文:什么是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爱好者。欢迎与雷锋字幕组一起,学习新知,分享成长。

相关推荐

如果我重新从零开始学Javascript,我将遵循这个路线图
如果我重新从零开始学Javascript,我将遵循这个路线图

如果我要从头开始重新启动Javascript,那么我会遵循这个路线图。值得注意的是,作为这门学科的初学者,学习者的大部分兴趣掌握在导师手中。低效的导师会很快导致...

2023-03-21 18:31 xiyangw

23条JavaScript初学者应知的最佳实践方法(唱歌技巧和发声方法初学者唱歌)
23条JavaScript初学者应知的最佳实践方法(唱歌技巧和发声方法初学者唱歌)

作者:web前端开发转发链接:https://mp.weixin.qq.com/s/VpCiBMZ5fMRNpKAASUpi7w优先使用===,而不是==Jav...

2023-03-21 18:30 xiyangw

给JavaScript初学者的23条最佳实践(javascript环境配置)
给JavaScript初学者的23条最佳实践(javascript环境配置)

1.使用===代替==JavaScript使用2种不同的等值运算符:===!==和==!=,在比较操作中使用前者是最佳实践。“如果两边的操作数具有相...

2023-03-21 18:30 xiyangw

JavaScript入门学习教程(javascript零基础入门)
JavaScript入门学习教程(javascript零基础入门)

初识JavaScript(JS)1.JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言。2.JavaScript通常用来操作HTML...

2023-03-21 18:30 xiyangw

javaScript入门知识点(javascript入门经典)
javaScript入门知识点(javascript入门经典)

如何在一个网站或者一个页面中去书写你的js代码:1.js的分层(功能):jquery(tool)组件(ui)应用(app),mvc(backboneJs)2...

2023-03-21 18:29 xiyangw

javascript基础入门学习第一篇(javascript基础入门书籍)
javascript基础入门学习第一篇(javascript基础入门书籍)

今天主要讲述js,在讲述今天的编程知识之前,我们要对C++做一个说明因为一些原因C的知识不做更新了,下面将讲述js的编程知识,首先需要了解的是js是一个脚本语言...

2023-03-21 18:29 xiyangw

Web前端:适合初学者的最佳 JavaScript 项目(普拉提和瑜伽哪个适合初学者)
Web前端:适合初学者的最佳 JavaScript 项目(普拉提和瑜伽哪个适合初学者)

  学习JavaScript或任何其他编程语言的关键需要投入大量时间和精力来开发大量项目,这里有一些最佳JavaScript项目。  1.计算器  这...

2023-03-21 18:28 xiyangw

js快速入门——常用的操作符总结(js ??操作符)

操作符一、递增和递减++--规则:操作数基本数据类型时,转数字后进行运算,转数字失败报NaN操作数引用数据类型时,通过原型链调用toStringvalueOf进行转换后运算,转数字失败报NaN...

JavaScript如何入门?(javascript快速入门教程)
JavaScript如何入门?(javascript快速入门教程)

1,建议阅读“javascript高级程序设计”第三版电子版。(我刚开始学习,我向表哥(软件工程师)说我想做前端,于是,他帮我买了这本书,好的书大家都会推荐,...

2023-03-21 18:28 xiyangw

JavaScript基础知识(一)JS入门(javascript单独写在js文件中)

一、JS入门(一)产生JavaScript是布兰登·艾奇(BrendanEich,1961年~),在1995年利用十天完成JavaScript设计。网景公司最初命名为LiveScript,后来在与Su...

javascript基础入门(java语言自学)

第1天,学习的是js最基本的东西(包括js的组成、数据类型、数据类型转换、NaN和isNaN、隐式类型转换、加减乘除以及取余、变量作用域、闭包简单的概念、命名规范、运算符和逻辑运算符、程序流程控制:...

怎样扎实自己的 JavaScript 基础?(javascript 菜鸟教程)
怎样扎实自己的 JavaScript 基础?(javascript 菜鸟教程)

学习js首先得了解js,他属于一种胶水语言,是依赖于某个宿主环境下的,比如各种浏览器,比如nodejs的v8,js能做什么不能做什么都很依赖于他的宿主给他的ap...

2023-03-21 18:27 xiyangw

JavaScript基础教程新手入门必看(javascript零基础入门书籍)

对前端稍微有点了解的初学者都知道,JavaScript是必不可少的工具。毫不夸张的说,大部分网页都使用了JavaScript,想要成为一个优秀的前端工程师,做出漂亮令用户满意的网页,熟练掌握JavaS...

初学JavaScript基础知识 掌握JavaScript的组成以及基本语法
初学JavaScript基础知识 掌握JavaScript的组成以及基本语法

为什么学JavaScript?javaScript在网页制作中占有非常重要地位,可以实现验证表单、制作特效等功能,总结起来,学习javascript的目的主要...

2023-03-21 18:26 xiyangw

介绍一下简单易学的编程语言JavaScript(编程 js)
介绍一下简单易学的编程语言JavaScript(编程 js)

#大有学问#JavaScript是一种广泛使用的编程语言,它通常用于在网页中添加交互性和动态内容。JavaScript由Netscape公司在1995年开发,最...

2023-03-21 18:26 xiyangw

取消回复欢迎 发表评论: