當(dāng)用戶需要更深入地了解亞馬遜Web服務(wù)(AWS)功能時,他們還必須檢查AWS所提供幫助開發(fā)人員使用其公共云計算服務(wù)完成更多工作的軟件開發(fā)工具包(SDK)的巨大生態(tài)系統(tǒng)。
亞馬遜SDK有多達10個的SDK主版本。各個SDK版本基本涵蓋了眾多的主流編程語言,如Java, Ruby 和 Python等。它還支持專為分布式處理應(yīng)用而開發(fā)的更新語言,如Go,以及諸如Andoid和iOS等移動平臺。
“對于之前曾使用過某種特定編程語言的程序員來說,這些SDK是非常易于上手的,”DS應(yīng)用技術(shù)的顧問Dan Sullivan說。“使用Python SDK就如同使用其它Python包一樣。”
關(guān)鍵在于SDK所提供的功能意味著“無需直接使用REST(表述性狀態(tài)轉(zhuǎn)移)” Sullivan說。
SDK封裝了API功能;其中不少可以使用REST API完成的功能都可以通過SDK完成。SDK還可以實現(xiàn)與Eclipse的協(xié)作,而后者是一個免費的、復(fù)雜的、與Java(以及Visual Studio)相關(guān)的集成開發(fā)環(huán)境。
AWS用戶的深度功能
AWS SDK提供了可下載的工作代碼系統(tǒng)以及強調(diào)特定功能的工作實例。
“在去戴爾公司之前,我花了三四年的時間使用AWS,”總部位于Austin的軟件工程公司Clear Measure的首席架構(gòu)師 Andrew Siemer說。“之后,當(dāng)我來到Clear Measure時,我們花了大量的時間試圖讓微軟的Azure按照我們希望的方式工作,但是我們真的很不成功。
“AWS和Azure云計算之間有著很大的差別,”Siemer補充說。“亞馬遜從第一天開始就總是由API驅(qū)動的,它是現(xiàn)在由API所掌控的經(jīng)濟中的早期服務(wù)。”
在亞馬遜,Siemer說,At Amazon, Siemer said, it is more or less a "fireable" offense to go around the APIs。雖然亞馬遜已經(jīng)基本上趕上了亞馬遜的API方法,他說,但是亞馬遜的方法更為深入。
從SDK的角度看,亞馬遜把API視作第一個SDK,這意味著你可以從這里開始。而SDK提供了深度。
“如果沒有使用API進行表達,那么你可以回到SDK,”Siemer說。“我們已經(jīng)開發(fā)了一些通過基于SDK的代碼開發(fā)的應(yīng)用程序。”根據(jù)每種語言的些微細節(jié),AWS SDK很有可能為你提供一些有用的東西。“他們真的只是為封裝API提供了特殊的包裝,”他說。
我們發(fā)現(xiàn)很多網(wǎng)絡(luò)服務(wù)都是基于AWS的,云計算管理軟件供應(yīng)商Embotics的高級軟件設(shè)計師Tony LaFrance說,這家公司將AWS SDK集成至他們的產(chǎn)品中。“SDK是相當(dāng)大的,”他說。“我們所做的大部分工作就是實現(xiàn)[與亞馬遜彈性計算云(EC2)的]集成。當(dāng)我們的產(chǎn)品增加時,我們會添加更多AWS的服務(wù)。”
用戶可以通過AWS管理控制臺完成很多的工作。即便如此,大多數(shù)功能是通過API向外開放的,這樣企業(yè)就能夠?qū)⑵浼芍了麄兊漠a(chǎn)品和工作流中。
Embotics針對EC2和亞馬遜簡單存儲服務(wù)使用了SDK。其他AWS工具幫助解決負載平衡和其他任務(wù)。AWS還提供了一些自動化工具,它們可讓用用戶完成額外的配置或舍棄一些資源。
AWS SDK的技術(shù)支持
AWS提供了豐富的在線文檔,其中大部分特別關(guān)注了使用SDK的開發(fā)人員。這也使得用戶找到與即將開展的開發(fā)工作相關(guān)的示例變得簡單了。
“整個SDK都是對外開放的,它可以讓用戶開放他們自己的功能,” LaFrance說。“那些SDK能夠讓你開發(fā)出一些亞馬遜沒有想到或則和沒有看到其前景的東東,但是那將讓你的業(yè)務(wù)應(yīng)用程序收益匪淺。”
用戶通常會很容易就找到幫助文檔。在最壞的情況下,如果幫助文檔都不可用,那么測試SDK功能并做任何必要調(diào)整都仍然是很簡單的。
“人們會發(fā)現(xiàn)很容易就能夠使用SDK,” Siemer 說。“我們發(fā)現(xiàn),如果開發(fā)人員擁有API和特定語言的SDK,那么其中他們想要完成工作的80%都已經(jīng)通過解決方案代碼完成了。