AI 年度盘点与2025发展趋势展望,50+案例解析亮相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:004638

评论

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

Partisia Blockchain 推出全新开发者计划,最高获 25k $MPC 资助

股市老人

Java 学习

玄兴梦影

学习 java

蓝易云 - springboot配置静态资源访问

百度搜索:蓝易云

CSS JavaScript Linux Spring Boot 云服务器

【CVPR2024】面向StableDiffusion的编辑算法FreePromptEditing,提升图像编辑效果

阿里云大数据AI技术

人工智能 深度学习 算法 CVPR 图像编辑

Vector | Graph:蚂蚁首个开源Graph RAG框架设计解读

TuGraphAnalytics

知识图谱 tugraph rag DB-GPT OpenSPG

Partisia Blockchain 推出全新开发者计划,最高获得 25k $MPC 资助

石头财经

FinalReference 如何使 GC 过程变得拖拖拉拉

bin的技术小屋

JVM java

K歌技术大揭秘:从“清唱找调”到“智能修音”,如何让歌声自然飞扬、声动四方?

快手技术

回森 业务创新 智能修音

金融机构如何打击帮信罪和掩饰罪?

芯盾时代

风险管理 反欺诈 账户安全 金融风控

生态共赢|心大陆携手搜狐视频,构建心理健康视听守护者!

心大陆多智能体

人工智能 AI 多模态 心理健康 数字心理

蓝易云 - Nginx查找耗时的接口

百度搜索:蓝易云

nginx 云计算 运维 服务器 云服务器

蓝易云 - centos服务器a.sh内如何 在指令中自动加入当前时间?

百度搜索:蓝易云

centos 服务器 云服务器 服务器租用 高防服务器

攀登不止,华为数据库论文入选SIGMOD 2024,技术创新再谱新篇

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号2024年6月PK榜

在 Go 中如何让结构体不可比较?

江湖十年

Go golang golang 面试 编程技巧

快手自研视频生成大模型「可灵」来啦!

快手技术

大模型 文生视频 可灵

最高25k $MPC 资助,Partisia Blockchain 推出全新开发者计划

股市老人

深度解析:基于Pixi渲染引擎打造沉浸式「滑雪竞技」小游戏!

快手技术

前端 H5 快手 pixi 渲染

2024年移动端技术探索

轻口味

android 移动端

FxFactory 8 Pro for Mac(视觉特效处理包) v8.0.16版

Mac相关知识分享

Mac软件 fcpx插件 视觉特效插件

OpenTiny CCF开源创新大赛赛事指南来啦,助力你赢取10W赛事奖金

OpenTiny社区

Vue 前端 低代码 组件库 OpenTiny

数据库管理和开发:Navicat 17 for MongoDB mac 激活版

你的猪会飞吗

Mac软件推荐 mac破解软件下载

Navicat for PostgreSQL mac(PostgreSQL 数据库开发工具)v17.0.9版

Mac相关知识分享

Mac软件 数据库开发工具 软件下载

AI日报|英伟达Nemotron-4 340B模型助力各行业数据生成,扣子发起匿名AI模型擂台赛!

可信AI进展

#人工智能

最高25k $MPC 资助,Partisia Blockchain 推出全新开发者计划

BlockChain先知

CompletableFuture 使用指南

FunTester

中标新领域!亚信科技+用友网络,将助力广西某市城投集团玩转“人事”

亚信AntDB数据库

AntDB 用友 亚信科技 企业号 6 月 PK 榜

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