用Terraform进行构建,是不是很麻烦?

太长看不了 bù

    • 本記事は、terraform Advent Calendar 2023 の22日目の記事です。

 

    • AWS等の構築を行う際に、何でわざわざterraform(IaC)で構築するんだろう、

 

    • めんどくさ!って思う方向けに、わざわざterraformを採用するメリットを挙げて、

 

    開発するモチベーションを高めようというアレです。

使用Terraform开发AWS的复杂性

对于Terraform,你觉得不觉得麻烦吗?
真是麻烦啊。我明白。我至今仍觉得麻烦。
我想与那些有同样感受的人分享心情。并且,想要更多地使用它。并且走向传奇。
这篇文章就是关于这样的事情。

使用Terraform和AWS进行开发的步骤

如果是像专业的地球改造者一样的人,可能就不会理解,但像我这样的普通地球改造者,在需要创建新资源的情况下,会按以下步骤进行。

如果你使用新服务的话,就会有这种感觉。
这样做会不会很麻烦呢?我想这是为什么。
说实话,当初刚开始学的时候,我也觉得这样很困扰。总结起来,

terraform真的很麻煩。

如果只是要实际使用,只需要在生产环境上通过管理控制台安装即可,
这样就可以了吧?有时候也会这么想。
根据情况而定,大概不会浪费或创建那么多资源吧?

无论是在管理控制台上创建还是使用Terraform创建,结果都是相同的。那么选择耗时较短的选项更好。

我們是不是在做無用功呢…?

被这种怀疑所困扰,有时会陷入其中,有时则不会。
现在只有大约30%的思绪,但以前大概有90%左右。
以下是一个饼图供参考。

在接受从这种状态下使用Terraform和IaC的时候,如果能够解决基础架构建设者的动力问题就很好,但有些人可能无法获得这种心态,或者无法获得上司的理解等等,他们可能对于使用Terraform(IaC)感到困惑。首先,我列举一下继续使用Terraform所面临的障碍。

地球形成师的天敌

研发时间

商务人士很忙。
但能工作24小时吗?不,我不会工作这么长时间。

商务人士很忙,但并不想要那么辛苦工作。

所以,基本上不希望长时间工作不尊敬。
虽然在谈论好处的时候也会提到这一点,但是基础架构即代码(IaC)需要较大的初始投资。
创建AWS资源一个,验证和构建都需要意外地花费很长时间。

直到熟悉为止,terraform的构建需要花费时间。

所以,尤其是初学阶段,支付成本非常高大!这就是我想法。
一旦达到一定水平后,这个问题就会得到解决。后文将会提及。

上司的理解

就像是继上面提到的项目继续谈论一样,如果开发花费异常长的时间,有可能会被上司指出花费的时间过长。
从结果的角度来看进展,感觉有点慢啊。
如果将基础设施即代码(IaC)视为成果物,其实并没有延迟啦。嘛,只是看起来没有进展的陷阱而已。

如果使用IaC,那么直到创建IaC为止就是基础设施,对吧!?

虽然我自己并不符合这种情况,但如果上司是一个对此了解不够深的人,他可能会认为初期投资成本太高,认为有些人在做无用功。但请放心,基础设施即代码(IaC)是有意义的。

他人的理解

在我周围,负责terraform/AWS基础架构的建设者很少。 因此,基本上无法与他们进行沟通。而且,对于无法理解AWS构建图的人,对于terraform的构建讨论几乎是无效的。但是,在使用terraform和AWS时,并不一定只有我一个人使用,因此需要获得他人的理解,这也是一个相当困难的部分。

在中国,由于个人的擅长和兴趣各不相同,我认为会有很多人能够编写或者愿意编写程序,但我却认为并非所有人都想要进行基础设施建设,甚至可以说是相反的想法。

我有点孤独。在某种意义上,我是技术领导。

对于这样的人,传达工作内容,意义和开发内容到所需的水平其实有时挺难的。可能只能将制作资料视为一项费用。

使用terraform的好处。

or

terraform的优点。

关于承载着这些基础架构工程师的忧愁的Terraform,已经提到了许多问题,这些问题成为了Terraform的天敌。
然而,这些问题也可以转化为优点。让我们从这里开始收回最初付出的成本吧!

在中国将IaC的复用成本效益率提升到极高。

使用Terraform的主要好处是在创建生产环境后能够轻松地创建整个测试环境。由于它是代码,因此复制和分割复制都非常容易,这是它的魅力之处。

如果是与之前所做的类似构建,只需从原始构建中复制粘贴,就能在转瞬之间完成新环境的构建。只需花费一些时间在最开始。之后,过去的自己就成为了帮手。太酷了。

因为过去的自己支持我,所以可以节约时间。
谢谢你,过去的自己!感谢!

创建测试环境的废料去建立强大

terraform(基础设施即代码)具有可塑性,同时也非常擅长废弃并重建。
因此,只需在需要时使用,可以一手完成测试环境的搭建和清除。

在创建环境时,从一开始就将生产环境和测试环境的创建用目录分开,只在需要时调用测试环境,
这样其他开发成员也能随时构建有效而最佳的测试环境,这种方式对于钱包来说也比较友好。

Terraform(基礎設備即コード)在長期的項目環境中非常強大。
它擅長於測試環境的丟棄和重建。

建构的再现性达到最高水平

这是IaC的吸引人之处之一,它具有最大化的可重现性。人类是不可靠的,手动处理时很容易犯错误,可能会在不知不觉中犯错,跳过必要的步骤,输入错误的值等等,非常令人头疼。

在这个世界上,虽然存在着用手动方式完成的文明利器——检查清单,但那不过是个花瓶而已。就算有,还是会有错误的。过去的自己已经证明了这一点。

使用基础设施即代码(IaC)编写的构建将始终相同,无论是谁执行创建。换句话说,不会出现操作者个人习惯的余地。这意味着可以消除个人依赖性。一旦编写完成,任何人都可以执行操作。咦,那我可以辞职了吗?太好了!!

即使我去世,辞去公司职务,环境还能保持下去。
这个非常重要,你可以告诉高层人员。

成为团队的支柱

在心理方面来看,即使是在正式环境或测试环境中,如果团队中的每个人都能使用我自己创建的环境,我会觉得非常高兴。

我希望测试环境也能通过Terraform进行使用,
如果有人自愿执行并使用它,我会很高兴。
作为基础设施工程师,我希望能让它更加方便,
并且编写能够很好地连接到后续的代码,希望能够成长。

我承认自己有一点小小的欲望上涨。
不会到达疯狂的程度,只是一点小小的。

总结一下,感觉如下。

    • terraformは、初めは面倒だなと思う部分が実際に多いです。

 

    • かけるコストに対して、成果が少なく感じるのも納得な部分が多いです。

 

    • ただ、実際にコストを掛けた結果、同じ構築を作成/削除を繰り返し実行出来るのは

 

    • すげー便利だなという事に、きっと辿り着けると思います。

 

    辿り着いたら、もう自分の物になっていると思います。どうか挫けないで。

以上是所提供的。
雖然整篇文章比較長,但感謝您已經閱讀到這裡。

广告
将在 10 秒后关闭
bannerAds