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

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

xiyangw 2022-11-25 12:01 92 浏览 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爱好者。欢迎与雷锋字幕组一起,学习新知,分享成长。

相关推荐

排序算法--归并排序_归并排序例题讲解

原理如图所示(先分割再合并):归并排序代码工作原理:1、申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列2、设定两个指针,最初位置分别为两个已经排序序列的起始位置3、比较两个指针所...

八大排序算法-归并排序_归并排序 算法

算法思想归并排序分为三个步骤:1.分解:将数列分解成n个子数列。(如果是将数列分成2个子数列则为2路归并)2.治理:对每个子数列进行排序操作3.合并:将两个排好序的子数列进行合并生成新的数列算法实现P...

高级排序之归并排序、希尔排序_希尔排序和归并排序区别

前言继上次排序算法简单排序算法之冒泡、插入和选择排序-Java实现版后,本文学习高级排序算法——归并排序、希尔排序,快速排序将在后续更新。本文实现代码调用方法,部分来自前一个文章:简单排序算法之冒泡、...

Excel办公应用:按合并单元格排序的三大方法

1.按姓名对科目排序重点:在"C2"中输入公式=IF(A2<>"",1,C1+1),然后下拉填充。2.按姓名添加连续序号(方法一)重点:选择"A2:A11"单元格区域,在编辑栏中输入公...

快速排序 Vs. 归并排序 Vs. 堆排序——谁才是最强的排序算法

知乎上有一个问题是这样的:堆排序是渐进最优的比较排序算法,达到了O(nlgn)这一下界,而快排有一定的可能性会产生最坏划分,时间复杂度可能为O(n^2),那为什么快排在实际使用中通常优于堆排序?昨天刚...

归并排序思路图解 #归并排序_归并排序百度百科

排序算法1.图解。OK,让它排一下。看好了,要开始排了。能看出来像递归吗?肯定算法难,但是这个次数非常的多,不用管次数。这个是帝规,就是递归。这是并,这是并,这是两个有序数,组合成一个最后的大的有序数...

排序算法学习——归并排序_归并排序算法稳定吗

我们先看归并排序的定义归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每...

动画|经典的归并排序究竟怎么玩儿?

作者|菠了个菜责编|郭芮由于LeetCode上的算法题很多涉及到一些基础的数据结构,为了更好的理解后续更新的一些复杂题目的动画,推出一个新系列——《图解数据结构》,主要使用动画来描述常见的数据...

Excel中,多列数据统一排名,Rank函数直接搞定

Rank实现多列联合排序排序,那太简单啦,Excel中,升序降序,一个按键就可以。但,那是针对单列情况,若需要联合多列数据进行排序呢?如下图所示,需要对1、3、5列进行统一排序,咋弄嘞?联合排序案例先...

【数据结构与算法】归并排序_数据结构中归并排序

归并排序是建立在归并操作的一种高效的排序方法,该方法采用了分治的思想,比较适用于处理较大规模的数据,但比较耗内存,今天我们聊聊归并排序排序思想一天,小一尘和慧能坐在石头上,眺望着远方师傅,我听山下的柳...

C++基础算法:归并排序_经典排序算法-----归并排序(c语言实现)

归并排序(MergeSort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(DivideandConquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。...

马士兵说之归并排序_马士兵教育的内推是真的

大家对于排序应该是挺熟悉的吧,马士兵老师特意为排序出了一波视频,当然文章是转自博客园的,马士兵老师的视频观看请点击下方的了解更多概要本章介绍排序算法中的归并排序。内容包括:1.归并排序介绍2.归并...

C++快速排序和归并排序_c++快速排序sort

快速排序每一轮挑选一个基准元素(随机选择,编程时一般选取第一个),并让比它大或小的元素移动到基准元素的两边,把数列拆解成了两个部分。而后对这两部分分别进行快速排序。时间复杂度:O(nlogn),辅助空...

经典的排序算法——归并排序_归并排序算法步骤

归并排序(MergeSort)是一种基于分治策略的高效排序算法。它将原始数组不断地分割成两个子数组,直到每个子数组只剩下一个元素为止(即基本有序),然后再通过合并已排序的子数组来最终得到完全有序的大...

归并排序_归并排序c++实现

归并排序概念:归并排序中涉及到一个概念就是分而治之,总序列化成小序列,将小序列排序好,利用排序好的小序列,再归并排序成原来要排序的序列。所以排序前先要分:functiondivide(arr){...

取消回复欢迎 发表评论: