IBM旗下的HashiCorp公司正式宣布,将停止对Terraform云开发套件(CDKTF)的支持,未来将全力专注于其自有的HashiCorp配置语言(HCL)。现有CDKTF代码库已被归档,后续将不再获得官方维护和更新。
技术决策:为何终结CDKTF?
HashiCorp在其声明中指出,Terraform CDK“未能在大规模应用中找到产品市场契合度”,因此公司决定将投资重点转向Terraform核心及其HCL生态系统。CDKTF基于Mozilla公共许可证(MPL)开源,用户理论上可以自行分叉维护,但官方强烈建议现有用户迁移至标准Terraform和HCL工作流,以获取长期支持并保持与生态系统的兼容性。
Terraform自2014年发布以来,已成为自动化基础设施部署领域的关键工具。2023年其许可证变更引发的OpenTofu分支,以及2024年IBM对HashiCorp的收购,都标志着该项目正处于重要的转折期。CDKTF原本是为了满足开发者需求而生的扩展,它允许用户使用熟悉的通用编程语言(如 Python、Go、TypeScript、C#)来定义基础设施,这类似于其主要竞争对手Pulumi所采取的策略。
开发者迁移指南
对于已在CDKTF上投入的项目,官方提供了迁移路径。可以通过以下命令将CDKTF生成的.tf文件转换为HCL配置:
cdktf synth --hcl
同时,对于AWS用户,也可以考虑迁移至AWS原生的Cloud Development Kit (CDK)。
社区反响:失望与理性分析
这一决定在社区中引发了强烈反响。有Kubernetes专家指出,仅CDKTF的TypeScript版本每周下载量就超过14万次,表明其拥有广泛的用户基础。批评声音认为,终止一个活跃项目更多是出于商业考量而非技术必要性。
然而,也有观点对此表示理解。Platform Engineering Labs的联合创始人Pavlo Baron认为,CDKTF主要服务于开发人员,而“严肃的运维工作”通常由运维团队负责,他们才是HCL的核心用户。因此,HashiCorp此举可能是为了更精准地聚焦目标客户群体。
基础设施即代码的未来思考
这一事件也引发了关于“基础设施即代码”(IaC)工具未来发展的讨论。支持DSL(领域特定语言)的一方认为,HCL这样的声明式语言更适合运维人员,能避免通用编程语言带来的复杂性与过度工程。而支持CDK的一方则认为,编程语言提供的表达能力和灵活性是处理复杂、可扩展基础设施场景所必需的。
随着CDKTF的退场,寻求编程语言灵活性的用户可能会更多地转向Pulumi等替代方案,而HashiCorp则明确了其以HCL为中心的云原生/IaaS和运维/DevOps战略路线。
|