《企業(yè)網(wǎng)D1Net》6月19日訊
在云計(jì)算時(shí)代下,云服務(wù)的應(yīng)用正逐漸深入廣泛,與此同時(shí),云服務(wù)的可用性和多樣性正在持續(xù)地增長中,越來越多的廠商提供著他們的平臺(tái)即服務(wù)、軟件即服務(wù)或基礎(chǔ)設(shè)施即服務(wù)。
雖然私有云的概念還未對(duì)業(yè)界有多少的吸引力,但是混合云以及傳統(tǒng)內(nèi)部部署應(yīng)用程序和云托管服務(wù)的整合正開始成為企業(yè)的選擇。這一趨勢為企業(yè)架構(gòu)師和CTO們?cè)谝?guī)劃把他們的IT業(yè)務(wù)遷移至云時(shí)提供了一個(gè)切實(shí)可行的選擇。
供應(yīng)商為客戶提供的云服務(wù)層次各有不同,有的是以基礎(chǔ)設(shè)施即服務(wù)(IaaS)的形式提供原始計(jì)算能力和存儲(chǔ)資源,有的是通過平臺(tái)即服務(wù)(PaaS)產(chǎn)品托管定制業(yè)務(wù)邏輯組件,而有的則是通過PaaS針對(duì)特定業(yè)務(wù)問題提供一個(gè)完整的解決方案。所有這些云服務(wù)都存在著一個(gè)共同點(diǎn):它們都需要使用某種類型的接口;雖然一個(gè)基于Web的控制面板看上去相當(dāng)不錯(cuò),但是這種方式是無法真正地實(shí)現(xiàn)自由擴(kuò)展以滿足大型企業(yè)應(yīng)用的要求的,而這些大型企業(yè)又恰恰是云托管服務(wù)的主要用戶。正是由于這個(gè)原因,云供應(yīng)商們所提供的API允許企業(yè)用戶以不同的方式與他們進(jìn)行運(yùn)行交互。
如同在作出所有的架構(gòu)決策時(shí)一樣,當(dāng)決定如何以及何時(shí)使用所提供的集成API時(shí)有很多需要考慮的因素,而API的可用性和適用性則是在選擇云服務(wù)廠商時(shí)需要重點(diǎn)關(guān)注的一個(gè)關(guān)鍵因素。以下部分將探討一些在選擇過程中需要牢記在心的一些關(guān)鍵考慮因素。
我是否需要供應(yīng)商為我提供API?
對(duì)于這個(gè)問題的簡潔答案總是YES。即使一家公司的當(dāng)前需求并不包括整合云服務(wù),但是在未來不這樣做很可能會(huì)出現(xiàn)問題。因此,我認(rèn)為API的可用性應(yīng)當(dāng)是在決定使用何種云服務(wù)時(shí)的一個(gè)關(guān)鍵因素。確定API是否允許企業(yè)與其他云服務(wù)整合,尤其是他們的競爭對(duì)手,即盡早明確供應(yīng)商的API開放程度將是一個(gè)好主意。應(yīng)考慮如何整合內(nèi)部部署的服務(wù)和云供應(yīng)商提供的服務(wù)。供應(yīng)商提供的API使用了何種技術(shù)?API使用的是REST服務(wù)、SOAP、編程語言的庫,又或者是上述技術(shù)的某種組合?應(yīng)當(dāng)如何與你已開發(fā)的內(nèi)部部署應(yīng)用程序配合,以及如何進(jìn)行整合?我還想要建議,企業(yè)應(yīng)當(dāng)審查API技術(shù)文檔的完備性。在行業(yè)論壇和討論組中關(guān)注其他同行對(duì)于API的常見抱怨。
第三方API
同樣,用戶也可以考慮是否可以采用第三方云API供應(yīng)商的產(chǎn)品,這是實(shí)現(xiàn)服務(wù)交互的一個(gè)更好的方法,這是因?yàn)榈谌紸PI整合了很多供應(yīng)商的后端。雖然選擇第三方API能夠更易于實(shí)現(xiàn)供應(yīng)商更換、選擇具有最低成本或最適合特定需求的供應(yīng)商服務(wù),但是它實(shí)際上并不是一個(gè)杜絕企業(yè)對(duì)供應(yīng)商依賴性的方法。目前,業(yè)界對(duì)于云集成API還缺乏一個(gè)標(biāo)準(zhǔn),以對(duì)API供應(yīng)商的依賴來取代對(duì)服務(wù)供應(yīng)商的依賴仍然意味著要選擇使用一個(gè)合適的API。事實(shí)上,為其他云服務(wù)廠商提供API的企業(yè)也存在著某種依賴性,這就使得獲取實(shí)際價(jià)值變得比較困難。我認(rèn)為,這些API不太可能繼續(xù)比那些服務(wù)供應(yīng)商本身提供的API更具存在價(jià)值。
我應(yīng)如何使用它們?
雖然首次使用云API的方法似乎是顯而易見的—整合云服務(wù)至其他內(nèi)部部署系統(tǒng)或者其他的云服務(wù)—它們可能更為強(qiáng)大,但是正確使用這些API需要用戶多一些思考。一個(gè)系統(tǒng)配有具完備技術(shù)文檔的強(qiáng)大API是一種至高境界,而這是內(nèi)部系統(tǒng)所難以企及的。預(yù)算并不允許開發(fā)人員編寫那些未來可能有用而目前不會(huì)帶來如何好處的API。但是,通過使用云服務(wù),已經(jīng)為我們帶來了使用集成API的麻煩。這就為大量的整合打開了一扇門,而這些整合工作在一開始并不明顯。當(dāng)一個(gè)企業(yè)監(jiān)控系統(tǒng)檢測到高需求時(shí),可以將其與它的PaaS或IaaS供應(yīng)商整合,并提供更多的容量。當(dāng)企業(yè)收到一個(gè)高要求的出貨需求時(shí),企業(yè)的庫存系統(tǒng)就會(huì)發(fā)貼至社交媒體。當(dāng)授權(quán)服務(wù)與用戶之間的雇傭關(guān)系終結(jié)時(shí),授權(quán)服務(wù)就會(huì)鎖定用戶的帳戶。當(dāng)公司的所有服務(wù)已明確給出API定義時(shí),只要整合API具有商業(yè)價(jià)值,那么整合的潛在可能性就會(huì)顯著增加。
當(dāng)使用云服務(wù)時(shí),另一個(gè)重要的決策就是使用哪一個(gè)API。大部分人都會(huì)使用一個(gè)現(xiàn)成的RESTful或其他的簡單HTTP API,而這正是進(jìn)行整合工作最簡單的方法。但是,這些API的松散特性則意味著需要對(duì)API版本等因素予以重點(diǎn)考慮。如果一家企業(yè)已經(jīng)在網(wǎng)絡(luò)服務(wù)上投資并將其作為一種整合技術(shù),那么他們就可能會(huì)發(fā)現(xiàn),一個(gè)基于SOAP或基于HTTP的服務(wù)提供了一個(gè)更為簡便的開發(fā)平臺(tái),這是一個(gè)在組織內(nèi)部更易于理解和實(shí)現(xiàn)的開發(fā)平臺(tái)。
但是,我們需要確保我們不會(huì)迷失在這個(gè)完全整合系統(tǒng)的夢(mèng)幻世界中。這一領(lǐng)域還沒有標(biāo)準(zhǔn),我們正在使用的所有API都是針對(duì)特定服務(wù)供應(yīng)商的。最大限度地降低因供應(yīng)商變更API、中斷服務(wù)或者甚至是玩失蹤所帶來的影響是非常重要的,我們希望能夠盡可能多地保持對(duì)這些API的控制,就如同這些API是我們自己開發(fā)的一樣。這正是傳統(tǒng)面向服務(wù)技術(shù)和方法的優(yōu)勢所在,即無論這些服務(wù)是在云中還是在內(nèi)部部署系統(tǒng)中,它都允許我們對(duì)我們服務(wù)的整合進(jìn)行充分的掌控。
D1Net評(píng)論:
綜上所述,可以看出,云服務(wù)API是云服務(wù)中吸引人的一部分,但是與所有的服務(wù)相同,在確定哪一個(gè)服務(wù)最適合某家企業(yè)之前,應(yīng)當(dāng)充分權(quán)衡具體實(shí)施方法的優(yōu)缺點(diǎn),這是必不可少的環(huán)節(jié)。