AWS正式推出云計(jì)算開發(fā)工具(CDK)第二版本,這版本改進(jìn)第一版CDK在依賴性管理上的麻煩,而新發(fā)布的Construct Hub,則可以促進(jìn)云計(jì)算開發(fā)社群共享構(gòu)建(Construct)。
AWS CDK是一個(gè)開源的框架,供開發(fā)者使用熟悉的程序語(yǔ)言,來(lái)簡(jiǎn)化云計(jì)算資源的定義,現(xiàn)在支持C#、TypeScript、Java、Python和Go等多種程序語(yǔ)言。開發(fā)人員可以在應(yīng)用程序中,以使用程序語(yǔ)言其他類型一樣的方式,使用稱為構(gòu)建的類型,來(lái)創(chuàng)建和配置云計(jì)算資源,開發(fā)者也可以自定義構(gòu)建,并且與團(tuán)隊(duì)共享。
官方提到,由于每個(gè)AWS服務(wù)在第一版CDK中,都擁有獨(dú)立的組件,這使得管理應(yīng)用程序依賴性工作變得麻煩。在第二版中,所有獨(dú)立的組件都集成成為一個(gè)單體組件,簡(jiǎn)化CDK應(yīng)用程序和構(gòu)建組件的依賴性管理,參照多個(gè)服務(wù)構(gòu)建更加方便,尤其是當(dāng)這些服務(wù)都有對(duì)等相依項(xiàng)目時(shí)。
第一版CDK中存在一些實(shí)驗(yàn)性API,部分API被標(biāo)記為已棄用,已經(jīng)由更好的方法取代,已棄用的API會(huì)在第二版中刪除,讓開發(fā)人員能夠更清楚地使用這些API,此外,CDK團(tuán)隊(duì)會(huì)采用新的發(fā)布流程,來(lái)發(fā)布實(shí)驗(yàn)性構(gòu)建。從第二版本開始,單體CDK組件只會(huì)包含穩(wěn)定的API,供用戶放心使用,實(shí)驗(yàn)性API會(huì)以獨(dú)立的組件發(fā)布,確保修戶不會(huì)觸發(fā)某些在第一版本中破壞性變更的問(wèn)題。
而新發(fā)布的Construct Hub,則是一個(gè)開源構(gòu)建庫(kù),供社群、云計(jì)算服務(wù)供應(yīng)商,使用和共享所有CDK構(gòu)建,目前Construct Hub中已經(jīng)有700多個(gè)CDK函數(shù)庫(kù),包括核心AWS CDK模塊,讓用戶能夠以熟悉的語(yǔ)言,操作CloudFormation、Terraform或Kubernetes等配置引擎。
所有人都可以向Construct Hub貢獻(xiàn)構(gòu)建函數(shù)庫(kù),想要共享構(gòu)建的發(fā)布者,需要先將函數(shù)庫(kù)發(fā)布到Npm公共注冊(cè)表,并且使用標(biāo)簽標(biāo)記,Construct Hub會(huì)自動(dòng)檢索已經(jīng)發(fā)布的函數(shù)庫(kù),并在Hub公開。發(fā)布者可以決定組件要支持的程序語(yǔ)言,Construct Hub便會(huì)自動(dòng)對(duì)這些語(yǔ)言生成API參照,并將發(fā)布者提供的范例程序代碼,自動(dòng)翻譯成適用這些語(yǔ)言的程序代碼。
AWS表示,要發(fā)布到Construct Hub的所有構(gòu)建函數(shù)庫(kù),都必需要是開源的,同時(shí)Construct Hub采用信任透明模型,用戶可以回應(yīng)濫用的函數(shù)庫(kù),AWS支持團(tuán)隊(duì)會(huì)調(diào)查這些組件,并且移除違規(guī)的組件,當(dāng)然,用戶也可以向發(fā)布者提供反饋,使得構(gòu)建獲得改進(jìn)。
Construct Hub和AWS CDK一樣,本身也是開源項(xiàng)目,并且以構(gòu)建的形式構(gòu)建,用戶甚至可以直接在Construct Hub中找到并且使用。