標籤:雲端運算 ice maps 新一代 一段 時間 under 角度 新浪
為Web設計、實現和維護API不僅僅是一項挑戰;對很多公司來說,這是一項勢在必行的任務。本系列將帶領讀者走過一段旅程,從為API確定業務用例到設計方法論,解決實現難題,並從長遠的角度看待在Web上維護公用API。沿途將會有對有影響力的人物的訪談,甚至還有API及相關主題的推薦閱讀清單。
如今,API已經成為了每個重要訊息技術趨勢的核心內容。移動設計、雲端運算、物聯網、大資料及社交網路等應用都依賴於一個基於web的介面與它們的分布式組件進行串連,為全球範圍內的各個商業領域提供具有創新性和顛覆性的解決方案。智能電網(Smart grid)技術改變了能源行業的形態,連網汽車(Connected Car)解決方案則被視為自動汽車行業中的關鍵因素,亞馬遜使得每個所接觸的行業都產生了具大變化。在所有這些例子中,API的使用既是催化劑,也是促成這一成果的主要力量。
由於API對於商業的巨大影響,因此有關“API的商機”的各種文章也是層出不窮。在開放性的互連網上,使用API作為一種外部頻道進行創新及盈利已經成為一種獨特的商業模型。在由Kin Lane所建立的API傳道(Evangelist)網站中可以找到關於這一話題非常全面的資訊,Mehdi Medjaoui則在最近的一篇文章中用精練的語言對此進行了總結。然後,在跨科技領域的API應用範圍內,開放式API模型僅僅表現出其實用性的冰山一角。實際上,Web API的主要能力還沒有從各種使用API實現的解決方案中被發掘出來。從這種意義上說,API的商機本身就是一種商業模式。
本文將從商業角度對API進行全面的講解分析,無論它是否是開放式並且公開發布的。我會談到嘗試用API為你帶來商業價值的重要性、分析在其中應該使用的資料類型、並學習Aamzon及Twilio的成功經驗。希望這些內容能夠有助於你打造有用的、並且可用的API。
評估API的商業價值
API的通用商業價值是可以進行評估的。一切從資料出發,許多公司及組織將他們的資料視為一種負擔,畢竟伺服器和儲存方案的價格不菲。但在如今這個越來越趨向於電子化的世界中,很顯然,資料也是一種寶貴的資產。資料提供了各種寶貴的客戶資料,它能夠產生可辨別的商機與新的收益方式。“大資料”狂潮正是追求通過海量資料的分析處理電子中的混亂資訊。即將到來的物聯網(IoT)爆炸將使資料的規模呈現指數級的增長,因此對各個公司來說,對於資料進行正確的分析就變得至關重要。
對於一家公司來說,資料到底是一種資產,還是一種負擔,是取決於以下三個方面的:即資料的可訪問性、準確性和可應用性。每個Web API都在某種程度上提供了某些資料的可用性,而有價值的API則為公司的核心商業資料提供準確的資料。這使得公司能夠達到一種我稱之為“Data-Enabled Disruption”的迭代發展模式,在下文中我會為這種模式做出解釋。此外,在決定應該由API暴露哪些資料及服務時,以及如何?這些API時,這三個方面的資料屬性也提供了一種有效方法論。
資料可應用性 |
- 這些資料是否有助於我的商業目標決策?
- 這些資料是否能夠為我的業務帶來獨特的價值?
- 如果我將這些資料公開化,是否能產生某些商機?
|
資料準確性 |
- 當前提供的資料時效性如何?
- 資料的來源是否可靠?
- 資料是否由期望中的使用者所使用?是否用於正確的目的?
|
資料可訪問性 |
- 哪些資料是可以由編程方式擷取的?
- 有哪些不同的方法可以擷取這些資料?
- 開發人員建立使用這些資料的應用難度有多大?
- 資料訪問的規模能否滿足客戶的需求?
|
如果從API的角度對這套方法論進行驗證,那麼可以將資料的這三種屬性合并為API的兩種屬性:
- “實用的API”提供準確與合適的資料
- “可用的API”提供可訪問的資料
顯然,最有價值的API應當滿足實用與可用兩個條件。不過,為了更進一步定義這些API屬性,讓我們分別來進行一下分析。
實用的API
在開發API時,人們最常見的一種錯誤就是認為所有的資料都是有用的。有一種流傳甚廣的奇談是這麼說的:一旦你拿出這些資料,神奇的開發人員們就會出現在你面前,他們會撒下一些具有魔力的粉末,讓你的收益得到增長、湧現各種創新的想法、並打通各種商業渠道。但僅僅使用API和開放資料是不足實現這幾點的。正是這種“媒體即訊息”的想法造成了過去十多年間在企業整合這一領域中出現了大量失敗的SOA嘗試。某家超大型企業曾經花費了5千萬美元以上的資金企圖打造一個SOA及私人雲端的項目。而當我問及他們打算為哪些客戶提供什麼樣的服務時,他們立刻就啞口無言了,因為他們只關心如何打造基礎設施。毫無疑問,這個項目最終失敗了。
從好的方面來說,如果能夠使用正確的API公開正確的資料,那麼就能夠實現收益的增長與創新的進步。Google Maps利用Google壓倒性的佔有率所提供的基於API的服務,正好填補了市場在這方面的空白。由於這一服務相當便利,因此Google可以將它作為商業產品收取大量費用。由於API的存在,Google Maps也成為了早期iOS平台上的常駐應用,而蘋果自己推出的替代品在一開始的反響就相當差,這反而突顯了Google Maps的價值。由Facebook與Twitter領銜的社交網路平台的發展與成功也離不開API的應用,正是後者促進了他們的web連結數目與移動平台上的應用實現。實用的API甚至對聯邦競選活動產生了深遠的影響。
Amazon的API故事
正如我在文章開頭所說的一樣,企業從API中獲得商業成功的潛力遠遠大於開放API在表面上的能力。Amazon就充分利用了這種潛力,其實它們的API最初只是在公司內部進行使用。API為Amazon所帶來的這種長遠的成功在任何一個行業中都找不出相似的案例。Amazon為使用其API的客戶提供了寶貴的經驗,協助這些企業使用它們的API獲得商業上的成功。
Amazon為我們所上的第一堂課,也是最為明顯的一堂課,就是它是怎樣將API設計為產品與解決方案的構造塊的。Brad Stone在由他編寫的書籍中專門用了一章的篇幅來描述Amazon是怎樣將基礎API發展為它的技術航母的。Kin Lane也對Jeff Bezos(Amazon的CEO)是怎樣從固執的陳舊觀念中慢慢轉變,讓Amazon最終提供編程式訪問能力的過程進行了精彩的總結。按照這些報告及一些其它資料所說,產品經理必須指出他們的提案中的商業價值的最小公分母。隨後技術團隊就會利用這些未經處理資料建立API,將這些商業價值提供給其他開發人員,讓他們繼續建立整個方案中剩餘的部分。背後的邏輯在於這些商業價值的增長能夠直接使用,並且能夠非常容易地進行結合,以進行未來的產品開發。這就是為什麼Amazon Web Services能夠如此迅速地發布及改善:Amazon對它們的基礎設施服務都進行了API化,從而最佳化了擴充基礎設施能力的過程。AWS的產生過程就是將這些內部功能轉化為外部產品。正如你所見,Amazon不僅僅保證了他們所提供的API提供了有用的資料,而是走得更遠,他們將這一原則進行了倒轉,保證了整個解決方案中的每一份資料都能夠由API方式進行提供。
Amazon在API方面的另一個例子是它如何使用基於API的方式進行有價值資料的收集、分析、改善以及分布的。當早期的Amazon還以線上書籍的銷售為主營業務時,Jeff Bezos對於Amazon的核心價值觀念就有了清晰的預期:“我們不是通過銷售盈利,而是通過協助客戶進行採購決策而盈利。”他始終保持公司的運營與這一核心價值觀相一致,從而產生了策略方向的各種改變,例如提供個人化及擴充頻道等舉措。實際上,從以上核心價值觀中就可以看到,正是這些適用的、準確的、並且可訪問的資料為客戶的決策作出了引導,讓Amazon一步步走向成功,而不是靠著線上圖書或其它商品的銷售獲得的成功。在Amazon,正是API將資料進行不斷積累與改進,這一周期性的過程刺激了Amazon的成長。我將這個360度的周期稱之為資料革新“Data-Enabled Disruption(DED)”,是我對它的總結:
DED的成功運用,使得Amazon得以擊敗無數競爭者。由於在整個資料生命週期的每一步都應用了API,因此Amazon能夠持續地改進資料的準確性、適用性及可訪問性。
我們最後將學習Amazon是怎樣在公司的戰術產出和策略定位之間進行平衡的。自從Jeff Bezos認識到全球資訊網的潛力,並制定出“提供所有商品的商店”這一願景之後,他就非常清楚地認識到這種平衡的重要性。Bezos認識到他先要從一個較小的目標開始,經過對市場進行一番分析之後,他認準了線上圖片銷售這一領域,它的發展時機已經成熟,並且供應鏈也十分理想。在隨後的發展中一方面保證快速的執行,一方面始終不忘對未來的願景設計,這種齊頭並進的發展理念已經成為了Amazon文化的一條根深蒂固的宗旨。每個解決方案既要為公司產生價值,也要為未來的發展鋪好基石。基於API的交付方式就是實現這種原則的一種理想的方式,因為API不僅能夠服務於新的應用與服務,也能夠為未來的各種用例打好基礎。這種迭代式發展的方法論促進了亞馬遜業務的不斷髮展(見的說明)。
圖片中的每個服務都對應著一套外部的API,同時,每套API都是建立於已經完成的API基礎之上的。任何一家打算縱向或橫向進行業務擴充的公司,都可以認真參考一下Amazon是如何打造一套有用的API的方法:持續地收集和擷取可用的資料、使用API作為這些資料的通用訪問點、只交付短期內有用的資料,同時兼顧長期的發展計劃,以此作為公司的競爭力進行不斷擴充。
可用的API及API設計的重要性
儘管Amazon在這方面取得了令人矚目的成就,並且API在公司的成功中扮演著重要的角色,但Amazon的API仍然沒有被公認為設計最優秀、使用最簡單的API。隨著API數量的爆炸性增長,並且對於API的必要性的認可度也在不斷增加,API的可用性正是讓那些在行業中處於支配地位的公司,甚至是那些僅僅打算用API建立創新性服務的創業公司能夠獲得成功的關鍵因素。
行動裝置的出現及IT的消費化趨勢,是對於傳統的企業級應用開發的一次全面轉變。在過去,普遍存在著各種功能單一的終端主機、客戶-伺服器系統、以及最近出現的web的分布式布局。我過去也曾談及這種我稱之為“層的脫落”的現象,即將業務從n層的web模型轉向以API為中心、以移動和云為優先的設計。這種轉變也包括了代碼開發從Java企業版轉到JavaScript及其衍生語言的情況。所有以上這些都表明,正有一波新的開發人員,他們將逐漸成為開發新企業級解決方案的主力。這些開發人員們習慣於主動尋找有什麼API可以滿足他們所需的功能。當前的公司應當預計到這種轉變的發生,並迎合新一代開發人員的需求,方式就是擁抱API的可用性。
讓我們看一下電信業的情況。多年以來,各大電信巨鱷們都在處心積慮地想要打倒競爭者,同時也在積極地推出各種跨網路的增值服務。這個行業在過去的15年間產生了巨大的革新,包括VOIP的出現、業務及營運服務的整合,以及行動裝置服務的革命。在種種革新的進程中,API都扮演了重要的角色。即使在傳統電信服務方面仍佔據領先地位,但這些電信巨鱷們也難以從這波革新浪潮中受益。而當他們試圖與Parlay X及OneAPI等創業公司進行合作時,他們遇到的困難比這些小公司更多,Alan Quayle在他的一篇文章中就總結了這一現象。如果這些大佬們都難以抓住這次機遇,又有誰能做得到呢?
建立於2007年的Twilio,其發展目標就是為客戶提供便於使用的語音及文字Message Service,並且完全在雲端進行託管。他們一開始就計劃打造這樣一個平台,並且意識到API會成為他們第一位的業務方向。SMS和VOIP服務固然很有用,但為了與電信巨鱷們展開競爭,他們所需的不僅僅是一些便利的電話語音而已。
Twilio最關鍵的洞察力在於:他們已認識到所提供的服務的第一批客戶並非那些調用API的應用的終端使用者,而是那些負責開發這些應用的開發人員本人。他們也知道,移動端應用的增長速度必然是最高的。因此,他們定製了一套指標,用以衡量這批客戶對API的滿意程度。除了傳統的終端使用者統計資料,例如端到端的API調用回應時間之外,他們還額外對新開發人員註冊這套API所需的時間進行衡量,並且設定了很高的目標。這套指標的設定改善了API的可用性,從而為Twilio建立了對於各大電信巨鱷的領先優勢。當應用開發人員們在為應用的開發選擇SMS或VOIP提供者時,Twilio的這套響應迅速的輕量級服務就明顯比起競爭們勝出一籌。有了這套實用的API之後,Twilio就可以理直氣壯地對服務收取費用,通過客戶的每次API調用的付費實現盈利。也正是因為這套實用的API,Twilio提高了公司的名氣,同時也增長了公司的利潤。
電信之外的各個行業也對資料革新的方向準備就緒了。就拿 Ingenie來說,這家保險業的創業公司在基於精算的定價方法方面推陳出新,對於16-25歲這一階段的年青人會進行適當的懲罰。他們通過在每台汽車裡安裝的一種專利智慧型裝置對每個駕駛員的資料進行收集,隨後依據這些資料為這些駕駛員們提供相應的保險折扣。實用的、可用的API使得Ingenie能夠實現資料帶來的革新,讓他們像Twilio一樣征服了整個保險行業。
實用的、可用的API指南
在此進行一下總結,要確保API的成功,可以通過以下幾個步驟來實現:
- 確保你的API與公司的策略相一致
- 在API中包含可訪問的、準確的並且適用的資料
- 確保你的API是實用的,並且可用的
- 學習Amazon的方式,建立一種規範的文化,迭代式地實現資料帶來的革新
- 學習Twilio的方式,建立一種優秀API開發人員體驗,從而使你的業務更勝於其它各大競爭者。
只要按照這套指南的方法,你的API終將為你的業務帶來巨大成功,並成為這方面的典範。只有你能夠最好地判斷怎樣為客戶提供實用的API。此外,也請各位拜讀一下本系列中的其它各篇文章,它們會為你實現實用的API提供許多寶貴的建議。
從商業角度探討API設計