我們的IT團(tuán)隊(duì)通過DevOps模型轉(zhuǎn)變?yōu)楦`活的軟件開發(fā)團(tuán)隊(duì)。在軟件開發(fā)和部署中,新的SDK有扮演著什么樣的角色?
軟件開發(fā)工具集(SDK)經(jīng)常更新。但要跟上SDK的更新,尤其是在AWS公有云中,這是一項(xiàng)艱巨的任務(wù)——即使是最勤奮的開發(fā)團(tuán)隊(duì)就是如此。
上個(gè)月,AWS發(fā)布了Java 1.10.72的SDK,以及AWS其它產(chǎn)品的一些改變。SDK的更新現(xiàn)在允許對AWS Certificate Manager中的資源進(jìn)行標(biāo)識,改進(jìn)了Amazon Elastic MapReduce中的縮放選項(xiàng),并支持了SQL Rules Engine——這消除了打破現(xiàn)有規(guī)則的潛在可能,當(dāng)未來對AWS物聯(lián)網(wǎng)服務(wù)進(jìn)行添加時(shí)。但Java 1.10.74的AWS SDK剛剛發(fā)布不久——附加支持了AWS OpsWorks的默認(rèn)租戶選項(xiàng),以及對Amazon Route 53域服務(wù)的兩項(xiàng)附加操作。
雖然這些更新都沒有修復(fù)關(guān)鍵bug,或增加新的功能,但所有的SDK更新都對終端用戶軟件開發(fā)產(chǎn)生了影響。開發(fā)人員一般沒有義務(wù)更新SDK,除非API或服務(wù)以一種破壞性的方式被改變,因?yàn)橛写薃PI調(diào)用通過舊的SDK而產(chǎn)生,但在更新后可能無法正常工作,且可能破壞軟件版本。然而,增加新的調(diào)用、功能和選項(xiàng),常常對于使用AWS工具的應(yīng)用有益。開發(fā)人員應(yīng)該時(shí)常更新SDK,并在版本發(fā)布不久后重新編譯軟件。
更新組件和重新編譯項(xiàng)目的思想并沒有想像的那樣危險(xiǎn)。現(xiàn)代化軟件開發(fā)應(yīng)該使用持續(xù)集成、持續(xù)交付和DevOps流程,也要根據(jù)所用工具版本更改進(jìn)行設(shè)計(jì)。