【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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:004257

评论

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

Apache Doris 1.2.6 版本正式发布|版本通告

SelectDB

数据库 大数据 后端 Doris

瀚元科技:利用A-OPS 智能运维助力边缘服务器运维效率提升30%

openEuler

Linux 运维 操作系统 openEuler 边缘

软件测试/测试开发丨Python 内置库 sys 学习笔记分享

测试人

Python 程序员 软件测试

Java 命令行参数解析方式探索(四):Spark & Flink

冰心的小屋

Java spark 命令行 command Parameter

数据库优化器设计穿越探索之旅

阿里技术

数据库 架构

UPS设备在物流机房中的应用浅析 | 京东物流技术团队

京东科技开发者

机房管理 企业号 7 月 PK 榜 UPS

河北幸福消费金融基于 Apache Doris 构建实时数仓,查询提速 400 倍!

SelectDB

数据库 大数据 数据分析 后端 Doris

Linux系统Docker优化详细教程。

百度搜索:蓝易云

Docker 云计算 Linux 运维 云服务器

Sanic 是什么:扩展性和性能并存的Web框架

Apifox

Python 程序员 后端 异步编程 sanci

MegEngine Python 层模块串讲(中)

MegEngineBot

Python 深度学习 开源

防范地质灾害,北斗用芯监测

江湖老铁

【实践篇】推荐算法PaaS化探索与实践 | 京东云技术团队

京东科技开发者

PaaS 推荐算法 PaaS平台化能力 企业号 7 月 PK 榜

浅析 TiSpark v3.x 新变化

TiDB 社区干货传送门

版本测评 新版本/特性解读 7.x 实践

并发编程-CompletableFuture解析 | 京东物流技术团队

京东科技开发者

并发编程 CompletableFuture JDK1.8 企业号 7 月 PK 榜

【腾讯云 Cloud Studio 实战训练营】沉浸式体验编写一个博客系统

全栈若城

项目实战 Cloud Studio

技术分享|GrowingIO分析云对ClickHouse的实践

Geek_2d6073

技术优化:降本增效的常规实践

有态度的马甲

Linux系统Memcached性能优化详细教程。

百度搜索:蓝易云

memcached 云计算 Linux 运维 云服务器

软件测试/测试开发丨Python 内置库 OS 学习笔记分享

测试人

Python 软件测试 测试开发 os内置库

PoseiSwap 即将开启质押,利好刺激下 POSE通证短时涨超 30%

大瞿科技

【好文推荐】敏捷绩效考核如何做?

ShineScrum捷行

如何基于 Apache Doris 构建新一代日志分析平台

SelectDB

数据库 大数据 数据分析 Doris

Java 后端有哪些不用学的技术?劝退。。。

java易二三

Java 编程 计算机 jsp

LED显示屏分为几类,特点分别是什么?

Dylan

LED显示屏 户外LED显示屏 户内led显示屏

HDC.Together2023 HarmonyOS学生公开课议程抢先看!

HarmonyOS开发者

HarmonyOS

【落下帷幕】2023 中国大学生计算机设计大赛大数据应用大类国赛评审

ModelWhale

云计算 数据分析 在线编程 数据科学竞赛 中国大学生计算机设计大赛

PoseiSwap 即将开启质押,利好刺激下 POSE通证短时涨超 30%

西柚子

图解MySQL中SQL语句的执行过程

程序员小毕

Java MySQL 数据库 sql 程序员

亚信安慧通过ISO20000认证,AntDB数据库团队服务能力再上新台阶

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 7 月 PK 榜

电子科技大学入驻飞桨AI Studio高校专区,AI优质课程等你来学!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

如何开发一对一视频源码

山东布谷网络科技

App 源代码

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