AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

CDKTF 通过增加命名空间来提升性能

  • 2022-11-15
    北京
  • 本文字数:1392 字

    阅读完需:约 5 分钟

CDKTF通过增加命名空间来提升性能

HashiCorp发布了CDK for Terraform(CDKTF)0.13版本,在性能上有了显著的改进。这个版本引入了命名空间,极大提升了基础设施的性能。这个版本基于 0.12 版本,而 0.12 版本见证了 CDKTF 的普遍可用


CDK 允许用户使用多种编程语言编写 Terraform 配置,包括 C#、Python、TypeScript、Go 语言和 Java。它支持现有所有的 Terraform提供程序模块。CDKTF 应用程序代码生成 JSON 输出,可以直接使用 Terraform 部署。


0.13 版本为生成的提供程序绑定中的每个类引入了命名空间的概念。这些命名空间是自动从 Terraform 资源或数据来源派生出来的。以前,每个提供程序的导出结果都是扁平的组件列表,其结果是各种语言编译器难以处理这些很大的包。CDKTF 的用户表示,处理过程可能非常慢,对于 Python 用户来说,可能会导致 IDE 发生崩溃。


有了命名空间,就会生成许多小的包,这样编译器处理起来会更快。根据 Hashicorp 工程经理Nara Kasbergen Kwon的说法,这已经带来了处理时间上的一些显著改善。Kwon 表示,最近的基准测试显示:


在使用 Go 语言和 Azure 提供程序时,cdktf 处理时间减少了 96.8%;在使用 Java 和谷歌云提供程序时,cdktf 处理时间减少了 83%;在使用 C#和 AWS 提供程序时,cdktf 处理时间减少了 36.8%;在使用 TypeScript 和 Kubernetes 提供程序时,cdktf 处理时间减少了 61.5%。命名空间的引入是一个突破性的变化,不过 0.13 版本也向后兼容 0.12 版本生成的提供程序绑定。这样可以根据需要混合使用命名空间和非命名空间提供程序。注意,0.13 版本生成的提供程序将包含命名空间。这种向后兼容性将在 0.14 版本中被删除,届时将只支持命名空间提供程序。


AWS 提供程序以前是有命名空间的,只是实现方式不同于新的命名空间。因此,它的导入方式已更改为与新的命名空间模型保持一致。以前,AWS 提供程序可以按如下方式导入(Go 语言):


import ( // ... 其他导入 "github.com/cdktf/cdktf-provider-aws-go/aws")
func NewMyStack(/* ... */) cdktf.TerraformStack { stack := cdktf.NewTerraformStack(/* ... */)
aws.NewAwsProvider(/* ... */) aws.NewCloudfrontDistribution(/* ... */) aws.NewAcmCertificate(/* ... */)}
复制代码


在新的命名空间模型中,现在需要按以下方式导入:


import ( // ... 其他导入 "github.com/cdktf/cdktf-provider-aws-go/aws/cloudfrontdistribution" "github.com/cdktf/cdktf-provider-aws-go/aws/provider" "github.com/cdktf/cdktf-provider-aws-go/aws/acmcertificate")
func NewMyStack(/* ... */) cdktf.TerraformStack { stack := cdktf.NewTerraformStack(/* ... */)
provider.NewAwsProvider(/* ... */) cloudfrontdistribution.NewCloudfrontDistribution(/* ... */) acmcertificate.NewAcmCertificate(/* ... */)}
复制代码


据 Kwon 透露,0.14 版本将于 2022 年 11 月中旬发布。Kwon 表示,这一版本“将主要关注易用性的改善,让使用预构建提供程序变得更容易。”开发团队发现,与在本地使用 cdktf get 在生成提供程序相比,预构建提供程序提供了更好的开发者体验。


关于这个版本更多的信息可以在博文升级指南中找到。Hashicorp 主持Community Office Hours,并提供了一个讨论问题的论坛。对于刚接触 CDK 的用户,可以参考CDK for Terraform学习指南


原文链接

https://www.infoq.com/news/2022/10/cdk-terraform-performance/


相关阅读:

Terraform 1.3,简化重构体验

为什么说 DevOps 治理是实现快速开发的关键

2022-11-15 08:004727

评论

发布
暂无评论
发现更多内容

预测式外呼算法模型的深度应用详解

中关村科金

人工智能 大数据 AI 智能

华为云左少夫:面向分布式云原生 构筑无处不在的云原生基础设施

爱科技的水月

同是弹性公网IP,华为云弹性公网IP的优势有哪些?

秃头也爱科技

vivo 游戏中心低代码平台的提效秘诀

vivo互联网技术

低代码 组件化 配置化 提效

如何接受或拒绝 Excel 中的修订

在下毛毛雨

C# .net Excel 工作表 跟踪修订

南京公安研究院与秒云达成生态合作,携手赋能产业智能化发展

MIAOYUN

智慧公安 生态合作

贾斯特里尼&布鲁克斯葡萄酒,历经百年的传世经典

联营汇聚

【JVM规范】第三章-Java虚拟机编译

四月

Java JVM

数智为线,经纬中国:新华三勾勒出的山河锦绣

脑极体

正确理解和使用JAVA中的字符串常量池

JAVA旭阳

Java

极客时间运维进阶训练营第九周作业

老曹

全网首发!华为云UCS正式商用

爱科技的水月

是不是你在找的推特GIF动图下载方法?!支持苹果安卓双系统使用!

frank

twitter 推特视频下载

转转实时OLAP分析场景技术选型与应用实践

转转技术团队

OLAP

让数据说话-中国农业经济发展情况

搞大屏的小北

数据可视化 经济可视化 经济发展

架构实战营10期-作业3

炮仗

华为云连接CC——让多区域协同办公更高效更稳定

秃头也爱科技

想做运维审计大屏?用这个工具就对了!

搞大屏的小北

大屏可视化 运维审计 审计大屏

用品质提升品味,贾斯特里尼&布鲁克斯葡萄酒

联营汇聚

使用DataEase分析销售数据有多方便?

搞大屏的小北

数据可视化 销售数据分析 数据展示

一招搞定小白最头疼的数据大屏配色问题!

搞大屏的小北

色彩匹配 大屏配色

弹性公网IP支持多产品灵活绑定或解绑,能为企业提供独立公网IP资源!

秃头也爱科技

极客时间运维进阶训练营第一周作业

独钓寒江

拒绝内卷挖掘境外新蓝海,华为云虚拟专用网络VPN有多特别?

爱科技的水月

有序存储对于高性能的意义

陈橘又青

算法

HVML 解释器 PurC 0.9.2 发布;持续演进!

hvmlenvoy

编程语言 解释器 HVML

DataEase单点登录之OIDC

搞大屏的小北

keycloak 单点登录 OIDC

DataEase 做出来好看吗?

搞大屏的小北

数据可视化 大屏可视化 DataEase

2022-12-26:有一个数组包含0、1、2三种值, 有m次修改机会,第一种将所有连通的1变为0,修改次数-1, 第二种将所有连通的2变为1或0,修改次数-2, 返回m次修改机会的情况下,让最大的0

福大大架构师每日一题

Linux 算法 Shell 福大大

关于佛萨奇系统开发及原力元宇宙2.0佛萨奇系统开发方案

I8O28578624

京东金融APP-新交互技术“虚拟数字人”赋能世界杯主题营销

京东科技开发者

大数据 前端 Web 交互 虚拟人

CDKTF通过增加命名空间来提升性能_服务革新_Matt Campbell_InfoQ精选文章