AWS发布第二版CDK以及开源构建库Construct Hub

AWS正式推出云计算开发工具(CDK)第二版本,这版本改进第一版CDK在依赖性管理上的麻烦,而新发布的Construct Hub,则可以促进云计算开发社群共享构建(Construct)。

AWS CDK是一个开源的框架,供开发者使用熟悉的程序语言,来简化云计算资源的定义,现在支持C#、TypeScript、Java、Python和Go等多种程序语言。开发人员可以在应用程序中,以使用程序语言其他类型一样的方式,使用称为构建的类型,来创建和配置云计算资源,开发者也可以自定义构建,并且与团队共享。

官方提到,由于每个AWS服务在第一版CDK中,都拥有独立的组件,这使得管理应用程序依赖性工作变得麻烦。在第二版中,所有独立的组件都集成成为一个单体组件,简化CDK应用程序和构建组件的依赖性管理,参照多个服务构建更加方便,尤其是当这些服务都有对等相依项目时。

第一版CDK中存在一些实验性API,部分API被标记为已弃用,已经由更好的方法取代,已弃用的API会在第二版中删除,让开发人员能够更清楚地使用这些API,此外,CDK团队会采用新的发布流程,来发布实验性构建。从第二版本开始,单体CDK组件只会包含稳定的API,供用户放心使用,实验性API会以独立的组件发布,确保修户不会触发某些在第一版本中破坏性变更的问题。

而新发布的Construct Hub,则是一个开源构建库,供社群、云计算服务供应商,使用和共享所有CDK构建,目前Construct Hub中已经有700多个CDK函数库,包括核心AWS CDK模块,让用户能够以熟悉的语言,操作CloudFormation、Terraform或Kubernetes等配置引擎。

所有人都可以向Construct Hub贡献构建函数库,想要共享构建的发布者,需要先将函数库发布到Npm公共注册表,并且使用标签标记,Construct Hub会自动检索已经发布的函数库,并在Hub公开。发布者可以决定组件要支持的程序语言,Construct Hub便会自动对这些语言生成API参照,并将发布者提供的范例程序代码,自动翻译成适用这些语言的程序代码。

AWS表示,要发布到Construct Hub的所有构建函数库,都必需要是开源的,同时Construct Hub采用信任透明模型,用户可以回应滥用的函数库,AWS支持团队会调查这些组件,并且移除违规的组件,当然,用户也可以向发布者提供反馈,使得构建获得改进。

Construct Hub和AWS CDK一样,本身也是开源项目,并且以构建的形式构建,用户甚至可以直接在Construct Hub中找到并且使用。