云提供商升級(jí)API時(shí),開發(fā)者必須升級(jí)并重新測(cè)試自己的軟件,如何為這個(gè)過程做好準(zhǔn)備并且最小化影響?
云提供商為了擴(kuò)展和改善服務(wù)進(jìn)行了服務(wù)升級(jí),通常需要進(jìn)行API升級(jí)。但是伴隨著利好的部分,這些應(yīng)用編程接口(API)變更會(huì)對(duì)使用這個(gè)API的軟件開發(fā)者造成影響。
云提供商每次微調(diào)API,開發(fā)者就必須升級(jí),重新測(cè)試并未他們的云應(yīng)用打補(bǔ)丁。由于過程繁瑣,一些開發(fā)者不愿意使用API,或是是因?yàn)锳PI升級(jí)導(dǎo)致的復(fù)雜工作。對(duì)于云提供商和開發(fā)者而言,都造成了機(jī)會(huì)流失。
對(duì)于云服務(wù)API和軟件集成最重要的是功能連續(xù)性以及向后兼容性。開發(fā)者應(yīng)該檢查一下云提供商的服務(wù)或者API升級(jí)歷史和未來的路線圖。他們也應(yīng)該評(píng)估一下多長時(shí)間可能需要升級(jí)軟件,保持與API變更同步。理論上,云提供商設(shè)計(jì)API是追求長期的功能調(diào)用、語法和其他的特性的,從而最小化API升級(jí)帶來的影響。
比如,假設(shè)云提供商升級(jí)了服務(wù),包括升級(jí)API調(diào)用。如果提供商用心的調(diào)用取代了原來的調(diào)用,開發(fā)者就要被迫立刻升級(jí)他們的軟件,從而導(dǎo)致中斷。但是如果云提供商交付的升級(jí)API調(diào)用作為現(xiàn)有功能的新的功能,開發(fā)者的軟件應(yīng)該繼續(xù)正常運(yùn)行。隨后,開發(fā)者可以在方便的時(shí)候轉(zhuǎn)到新的API調(diào)用。云提供商之后可以逐步地淘汰舊的API調(diào)用,最小化影響。
開發(fā)者應(yīng)該確保服務(wù)提供商的API有清晰的版本制定,以便他們可以在API升級(jí)可用的時(shí)候判斷出來。云提供商越早引入API升級(jí),就能夠?yàn)殚_發(fā)者提供足夠的時(shí)間進(jìn)行基本測(cè)試,制定他們的軟件升級(jí)戰(zhàn)略。