首页>科技 >内容

Gruntwork开源工具Terratest助企业测试基础架构即程式码

科技2021-03-01 08:05:22
最佳答案

提供DevOps即服务的Gruntwork宣布开源Terratest,这是一个以Go撰写的基础架构即程式码(Infrastructure as Code,IaC)测试工具,Gruntwork认为,测试基础架构并非易事,但值得投资努力。

Gruntwork提到,基础架构即程式码像是Terraform、Packer和Docker这类工具,可以自动执行完整的部署,并将基础架构状态以程式码的方式储存,另外还可以使用版本控制追蹤基础架构的变化纪录。

不过事情总是一体两面,基础架构即程式码也有不少缺点,Gruntwork认为,多数基础架构即程式码的工具皆还不够成熟,而且也因为现代服务架构複杂,即使程式码仅有微小的变化,也可能造成伺服器、资料库甚至整个资料中心被抹除的后果。Gruntwork表示,大部分的团队都很害怕修改他们的基础架构即程式码。

而Terratest便是为此解决这个问题而生,这是一个用Go语言撰写的函式库,能够让维运团队较轻鬆的对基础架构即程式码服务进行自动化测试。Gruntwork提到,即使使用Terratest进行测试也仍然谈不上轻鬆,需要花一些时间编写测试,才能让他们正确运作,不过这些努力将值回票价,因为能让维运团队有信心的确定这些程式码正确无误。

要使用Terratest执行自动化测试,首先,使用者可以用Go内建套件来测试所编写的测试,创建一个以_test.go结尾的档案后,使用go test指令执行测试。第二步开始进入测试主要工作,使用者以Terratest来执行真正的基础架构即程式码工具,在像是AWS的真实云端环境中部署真实的基础设施。接下来,使用者便能使用Terratest的内建工具,发出HTTP请求、API呼叫或是SSH连接等指令,来验证基础架构在环境中是否正常运作。结束后把这些服务解除部署便完成测试工作。

Gruntwork表示,为了让测试更容易,Terratest为基础架构测试任务提供常用功能以及模式,像是测试Terraform程式码、Packer模板、Docker映像档,还有透过SSH执行伺服器上的指令,诸如HTTP请求或是AWS的API功能等。

Terratest专案包含了25万行程式码,为数百家企业合作的成果,现在以Apache 2.0授权开源,使用者可以在GitHub上找到专案。

免责声明:本文由用户上传,如有侵权请联系删除!