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