Dion Hinchcliffe談Web API的過去與未來
2016-01-25 14:09:07 來源:Jerome Louvel ,譯者 謝麗 評論:0 點(diǎn)擊:
API策略與實(shí)踐大會(huì)于2015年11月在德克薩斯州奧斯汀市舉行。在作完主題演講后,InfoQ采訪了Dion Hinchcliffe,了解他對Web API未來發(fā)展方向的看法。
根據(jù)10多年的深厚經(jīng)驗(yàn),Dion闡述了REST及簡單設(shè)計(jì)如何影響了Web API在Web服務(wù)上的最終流行的歷史。鑒于Web API在企業(yè)的應(yīng)用日益廣泛,Dion闡述了API、平臺(tái)及網(wǎng)絡(luò)的過去、現(xiàn)在和未來。
InfoQ:您能向我們介紹下自己的背景和主要工作嗎?
Dion Hinchcliffe:我目前是7Summits的首席策略官。我們?yōu)殚_發(fā)者社區(qū)提供類似API這樣的東西。我也在數(shù)字領(lǐng)域做大量的研究和分析,并為ZDNet和其他網(wǎng)絡(luò)媒體寫文章,我還寫了兩本有關(guān)這個(gè)領(lǐng)域的書。
InfoQ:您大約在10年前開始Web API研究。最初是什么激發(fā)了您的興趣?
Dion:API第一次真正引起我的注意,是在開發(fā)者社區(qū)真正開始對REST和更傳統(tǒng)的重量級Web服務(wù)進(jìn)行對比討論的時(shí)候。
數(shù)據(jù)剛開始顯現(xiàn)出,面向Web的API,越簡單就越受歡迎,也越容易使用,而且能夠更好地與開發(fā)工具、技術(shù)、甚至是常規(guī)的企業(yè)應(yīng)用程序協(xié)同。
那會(huì)兒,Amazon剛好發(fā)布了SOAP和REST的流行度對比數(shù)據(jù),顯然,舊式的Web服務(wù)根本就不受歡迎,而圍繞Web上的Web服務(wù),有些令人興奮的事情正在發(fā)生,就是我們現(xiàn)在所說的API。
InfoQ:與您最初對Web API的設(shè)想相比,我們今天的情況有什么最顯著的不同?
Dion:關(guān)于輕量級API,我非常高興,API市場和開發(fā)歷程有許多都跟我的預(yù)期很像。我記得,我曾期望有更多的創(chuàng)新。我們看到了類似JSON這樣的東西出現(xiàn),為創(chuàng)建更加輕量級的Web服務(wù)提供了一種可選的方式。
我記得,我曾期望工具支持比最初的需求多,盡管那是重點(diǎn),但在此之前,人們在像Eclipse這樣的平臺(tái)上做著許多繁瑣的Web服務(wù),還要提供存根,等等,而現(xiàn)在你看到,那是沒有必要或者不需要的了。
鑒于我已經(jīng)預(yù)測了整個(gè)的安全行業(yè),最大的驚喜也許是與安全主題相關(guān)的。雖然早就預(yù)測到了,但最初那些簡單的API模型已經(jīng)用實(shí)際證明了其良好的彈性,并且?guī)缀跄軌驖M足所有人的安全需求。
InfoQ:在典型組織里,Web API達(dá)到了什么樣的成熟度水平?
Dion:關(guān)于技術(shù),有意思的是,它的應(yīng)用相當(dāng)?shù)夭痪鶆颉U娴牟荒苷f有典型組織,早期采用者,就像采用API一樣,常常非常早。
但是我認(rèn)為,完全可以說,一般公司都已經(jīng)完全了解API并使用了它們,但不是戰(zhàn)略上的。API科室或API部門仍然是領(lǐng)先的技術(shù)組織或者創(chuàng)業(yè)公司的一個(gè)與眾不同的特征。
InfoQ:對于那些典型的組織而言,Web API最有價(jià)值的應(yīng)用場景是什么?
Dion:最主要的應(yīng)用場景包括企業(yè)應(yīng)用集成、工作流、移動(dòng)應(yīng)用及集成第三方云服務(wù),現(xiàn)在,它將會(huì)在不遠(yuǎn)的將來用于物聯(lián)網(wǎng)。
InfoQ:您經(jīng)常談?wù)撻_放API支持?jǐn)?shù)字轉(zhuǎn)型的重要性,但是最終,支撐移動(dòng)應(yīng)用、Web應(yīng)用及其他UX的內(nèi)部API對公司而言不是更重要嗎?
Dion:每家公司都應(yīng)該使用他們自己的狗糧,并成為自有API的第一個(gè)客戶,就是說,不管怎樣,大部分API首先應(yīng)該是內(nèi)部的。當(dāng)然,通過在組織內(nèi)部學(xué)習(xí)如何生產(chǎn)和消費(fèi)API,公司就可以提升組織API的成熟度。
但是,隨著外部API引入,內(nèi)部API輸出,我們看到,API需要做好一切準(zhǔn)備,而且可以以任何方式使用,因?yàn)榉?wù)會(huì)重新混合,數(shù)字體驗(yàn)就是從許多以前完全不同的源和API創(chuàng)建出來的。
InfoQ:開放API已經(jīng)推動(dòng)了API的流行,但是最近,一些公司,像Netflix和Twitter,已經(jīng)開始關(guān)閉它們,而許多公共API項(xiàng)目正在爭奪開發(fā)人員的心里份額。您認(rèn)為這是一種趨勢,還是個(gè)例?
Dion:我希望他們是證明規(guī)則的例外情況,但是人們越來越相信,API在早期發(fā)展階段非常有益于公司的發(fā)展,但是當(dāng)公司成為領(lǐng)導(dǎo)者時(shí),它會(huì)成為一個(gè)不利條件。
但是,你同樣可以很容易地舉出反例,如Expedia、eBay和Amazon,對于他們而言,API是他們主要的商業(yè)模式,因此,顯然還沒有定論,而毋庸置疑,API對于公司早期階段的發(fā)展而言至關(guān)重要。
InfoQ:API管理供應(yīng)商大部分將自己定位成介于遺留IT資產(chǎn)和新用戶體驗(yàn)之間的網(wǎng)關(guān),包括Amazon及其新推出的AWS API網(wǎng)關(guān)。另一方面,像IFTTT、Uber或Twilio等原生云公司正在構(gòu)建分布式API網(wǎng)絡(luò),擾亂了傳統(tǒng)業(yè)務(wù)。對于一個(gè)傳統(tǒng)公司而言,在設(shè)想Web API時(shí),什么比喻才恰當(dāng)?
Dion:我認(rèn)為兩者皆有,但更多的是后者。網(wǎng)關(guān)是一個(gè)先決條件,否則你無法訪問生態(tài)系統(tǒng)。因此,沒有一個(gè),你就不可能真正擁有另一個(gè),但是,一旦進(jìn)入市場,API的設(shè)計(jì)應(yīng)該提倡和培養(yǎng)一種健康發(fā)展的數(shù)字生態(tài)系統(tǒng)。因此,在我看來,它們并不互相排斥。
InfoQ:您認(rèn)為,公司最終需要為每種用戶體驗(yàn)或交互通道構(gòu)建一個(gè)定制的API,像Netflix正在做的那樣,還是說大多數(shù)公司最好都創(chuàng)建一個(gè)通用的API?
Dion:對于任何通用的東西,我總是持謹(jǐn)慎態(tài)度,特別是在數(shù)字技術(shù)與人類需求復(fù)雜的交叉點(diǎn)上。無疑,許多公司始于單個(gè)的API,但產(chǎn)品的成長成熟及外部客戶很快就會(huì)教給他們單一模型是否是恰當(dāng)?shù)姆椒āN艺J(rèn)為,一種更微妙的方法通常更合適。
InfoQ:與RPC變體相比,如谷歌不久前宣布的gRPC項(xiàng)目,REST對于Web API的整體價(jià)值和成功有多重要?
Dion:毫無疑問,REST已經(jīng)成為開發(fā)API基本模型的基礎(chǔ),因?yàn)樗cWeb本身的工作原理是如此的一致。但是,它永遠(yuǎn)不會(huì)成為所有場景的答案,尤其是一些在Web最初設(shè)計(jì)時(shí)沒有預(yù)見到的東西,如視頻、實(shí)時(shí)通信及其他更加現(xiàn)代化的場景。
我認(rèn)為,工作時(shí)要使用合適的工具,同時(shí)要盡量靠近核心標(biāo)準(zhǔn)。
InfoQ:關(guān)于PaaS最終是否會(huì)凌駕于IaaS之上并被廣泛采用一直爭論不斷。關(guān)于這一點(diǎn),您有什么看法?
Dion:任何設(shè)計(jì),限制越多,應(yīng)用場景就越少。這方面,IaaS和PaaS沒有差別。
IaaS適用的場景要多得多,幾乎可以用于所有的計(jì)算機(jī)和網(wǎng)絡(luò)場景,而PaaS適用的領(lǐng)域要小很多,因此,又回到了框架之爭的問題,框架越大越復(fù)雜,本身在解空間受到的限制就越多。
因此,與PaaS相比,IaaS的使用總是更廣泛,適用面更寬。顯然,PaaS市場巨大。我希望兩者都會(huì)蓬勃發(fā)展,但一個(gè)總是會(huì)比另一個(gè)大。
InfoQ:您談到公民開發(fā)者是指那些能夠使用恰當(dāng)?shù)墓ぞ哌M(jìn)行基本開發(fā)的業(yè)務(wù)用戶。對于公司而言,您認(rèn)為這已經(jīng)成為開發(fā)軟件解決方案的一種切實(shí)可行的方法了嗎?
Dion:我認(rèn)為,我們正處在這樣的時(shí)候,一般的組織都已經(jīng)具備了這樣做的條件。自API實(shí)際出現(xiàn)開始,大公司已經(jīng)這樣做了許多年了。API一出現(xiàn),這類工具就出現(xiàn)了。這太不可思議了。
現(xiàn)在的模型,除了非常簡單的事件驅(qū)動(dòng)應(yīng)用程序之外,是由公民開發(fā)者構(gòu)建用戶體驗(yàn)和簡單的應(yīng)用程序流,而由IT人員幫助填寫和完成應(yīng)用程序邏輯。這是一個(gè)非常令人興奮的領(lǐng)域,有足夠的證據(jù)表明,我們正處于公民開發(fā)者大量涌現(xiàn)的早期階段,再一次,是API讓這一切成為可能。
InfoQ:企業(yè)用戶本身是需要提供或消費(fèi)API呢,還是說需要技術(shù)要求低一些的模型,如連接器、電子表格、和表單?
Dion:我很高興API在非技術(shù)用戶社區(qū)里獲得了更廣泛的理解,但是我們真沒看到一種可以完全取代它的有效的方式。
我認(rèn)為,用戶將類似簡單“應(yīng)用”這樣的概念理解為一個(gè)不夠穩(wěn)定的功能和數(shù)據(jù)單元,因此,在現(xiàn)如今的低代碼環(huán)境下,數(shù)據(jù)源常常同提供數(shù)據(jù)源的應(yīng)用混淆,例如,從Weather.com獲取天氣預(yù)報(bào)數(shù)據(jù),而不是Weather.com
API,而后者是才是數(shù)據(jù)的真正來源。近來,人們一般認(rèn)為,應(yīng)用是數(shù)據(jù)源,而API是真正做工作的,所以我想這也沒事。
InfoQ:有關(guān)分布式網(wǎng)絡(luò)和平臺(tái)的強(qiáng)大功能,您談了許多。在這方面,API有多重要?它們是戰(zhàn)略上的、戰(zhàn)術(shù)上的,還是說僅僅是公司的一個(gè)技術(shù)面?
Dion:這樣,在下午的大會(huì)上,我在這里同API拓荒者John Musser探討了這個(gè)主題,API本身對于實(shí)現(xiàn)我們正在談?wù)摰母叨确稚⒌南到y(tǒng)仍然非常關(guān)鍵,而那種系統(tǒng)是創(chuàng)建成功的數(shù)字企業(yè)所需要的。
但是現(xiàn)在,位于API層之上的“元概念(meta-concepts)”其戰(zhàn)略重要性日益增長,正變成一項(xiàng)同API本身一樣的核心研究。
我要提一下John Hagel的團(tuán)隊(duì)在Deloitte所做的工作,他們的生態(tài)系統(tǒng)模式表明,在API體系結(jié)構(gòu)之上還有一個(gè)重要的步驟,就是架構(gòu)層。
這就是三、四年來我們已經(jīng)真正理解的東西,而那就是戰(zhàn)略討論真正的發(fā)展方向。
查看英文原文:A Discussion of the Past and Future of Web APIs with Dion Hinchcliffe
相關(guān)熱詞搜索:web apis future dion hinchcliffe 文化 & 方法 架構(gòu) & 設(shè)計(jì) 語言 & 開發(fā) Web API API PaaS 平臺(tái) 云計(jì)算
上一篇:雅虎開源可以提升流操作速度的DataSketches
下一篇:文本數(shù)據(jù)的機(jī)器學(xué)習(xí)自動(dòng)分類方法(下)

頻道總排行
- Cisco NetFlow v9為何無人問津?
- 技術(shù)專題:智能化運(yùn)維
- 開源代碼管理:如何安全地使用開源庫?
- Facebook架構(gòu)解讀
- IT運(yùn)維分析與海量日志搜索需要注意什么(1)
- 金山運(yùn)維肖力:如何將業(yè)務(wù)遷移到虛擬化環(huán)境并穩(wěn)定運(yùn)行(1)
- Apache Ignite(四):基于Ignite的分布式ID生成器
- CrazyEye,一款國人開源的堡壘機(jī)軟件(1)
- SDN時(shí)代的網(wǎng)絡(luò)管理系統(tǒng)會(huì)走向何方
- WOT2016吳兆松:Zabbix監(jiān)控自動(dòng)化的未來如何發(fā)展
頻道本月排行
- 8你消費(fèi)我買單——"漏洞"天使OneRASP...
- 7有了Jenkins,為什么還需要一個(gè)獨(dú)立...
- 6IT運(yùn)維分析與海量日志搜索需要注意什么(1)
- 5新浪微博王傳鵬:微博推薦架構(gòu)的演進(jìn)(1)
- 4史上最大機(jī)器學(xué)習(xí)數(shù)據(jù)集,雅虎對外開...
- 4雅虎開源可以提升流操作速度的DataSketches
- 4大眾點(diǎn)評高可用性系統(tǒng)運(yùn)維經(jīng)驗(yàn)分享
- 4云運(yùn)維如何選擇部署適合自身的IDC和...
- 4開源還是商用?十大云運(yùn)維監(jiān)控工具測...
- 4論開發(fā)與運(yùn)維沖突的根源、表現(xiàn)形式及...