2010
致我們的股東:
Random forests、naïve Bayesian estimators、RESTful services、gossip protocols、eventual consistency、data sharding、anti-entropy、Byzantine quorum、erasure coding、vector clocks……走進 Amazon 的某些會議,你可能會短暫地以為自己誤闖了一堂電腦科學的講座。
翻開一本當代的軟體架構教科書,你會發現我們在 Amazon 應用的模式幾乎無所不包。我們使用高效能交易系統、複雜的渲染與物件快取、工作流程與佇列系統、商業智慧與數據分析、機器學習與模式識別、神經網路與機率決策,以及其他各式各樣的技術。雖然我們的許多系統是基於最新的電腦科學研究,但這通常還不夠:我們的架構師和工程師必須將研究推向學術界尚未觸及的方向。我們面臨的許多問題沒有教科書上的解決方案,因此我們——很樂意地——發明新的方法。
服務導向架構:我們的基礎
我們的技術幾乎完全以服務的形式實現:這些邏輯單元封裝了它們操作的數據,並提供強化的介面作為存取其功能的唯一方式。這種方法減少了副作用,並允許服務以自己的步調演進,而不影響整體系統的其他組件。服務導向架構——或稱 SOA——是 Amazon 技術的基本建構抽象。多虧了一支深思熟慮且具遠見的工程師與架構師團隊,這種方法在 SOA 成為業界流行語之前很久就在 Amazon 應用了。我們的電子商務平台由數百個軟體服務聯合組成,它們協同工作以提供從推薦到訂單履行再到庫存追蹤等功能。例如,為了替造訪 Amazon.com 的顧客建構一個產品詳細頁面,我們的軟體會調用 200 到 300 個服務,為該顧客呈現高度個人化的體驗。
超大規模下的數據管理
狀態管理是任何需要擴展到非常大規模的系統的核心。許多年以前,Amazon 的需求達到了一個點,許多我們的系統再也無法由任何商業解決方案來滿足:我們的關鍵數據服務儲存著數 PB 的數據,並且每秒處理數百萬次請求。為了滿足這些嚴苛且不尋常的需求,我們開發了幾種替代的、專用目的的持久性解決方案,包括我們自己的鍵值儲存 (key-value store) 和單一表格儲存 (single table store)。為此,我們大量借鑒了分散式系統和資料庫研究社群的核心原則,並在此基礎上進行創新。我們開創的儲存系統展現了極高的可擴展性,同時對效能、可用性和成本保持嚴格控制。為了實現其超大規模特性,這些系統採用了一種新穎的數據更新管理方法:透過放寬需要散佈到大量複本的更新同步要求,這些系統能夠在最嚴苛的效能和可用性條件下生存。這些實作基於 eventual consistency 的概念。Amazon 工程師在數據管理方面取得的進展,已成為 Amazon Web Services (AWS) 提供的雲端儲存和數據管理服務底層架構的起點。例如,我們的 Simple Storage Service、Elastic Block Store 和 SimpleDB 的基本架構都源自於獨特的 Amazon 技術。
機器學習的應用
Amazon 業務的其他領域也面臨著同樣複雜的數據處理和決策問題,例如產品數據的擷取與分類、需求預測、庫存分配和詐欺偵測。基於規則的系統可以成功使用,但它們可能難以維護,並且隨著時間的推移可能變得脆弱。在許多情況下,先進的機器學習技術提供更準確的分類,並且可以自我修復以適應變化的條件。例如,我們的搜尋引擎採用在背景運行的數據挖掘和機器學習演算法來建立主題模型,並且我們應用資訊提取演算法從非結構化描述中識別屬性和提取實體,讓顧客能夠縮小搜尋範圍並快速找到所需的產品。我們在搜尋相關性中考慮大量因素,以預測顧客興趣的可能性並優化結果的排序。產品的多樣性要求我們採用現代回歸技術,如訓練過的決策樹 random forests,以便在排序時靈活地納入數千種產品屬性。所有這些幕後軟體的最終結果是什麼?快速、準確的搜尋結果,幫助您找到想要的商品。
技術無所不在
如果我們將技術束之高閣,放在某個研發部門,那麼我們在技術上投入的所有努力可能就不那麼重要了,但我們不採取那種方法。技術滲透到我們所有的團隊、所有的流程、我們的決策制定,以及我們在每個業務中進行創新的方法。它深度整合到我們所做的每一件事中。
Whispersync:技術化繁為簡的實例
一個例子是 Whispersync,這是我們的 Kindle 服務,旨在確保無論您走到哪裡,無論您隨身攜帶什麼裝置,您都可以存取您的閱讀圖書館以及所有的重點標示、筆記和書籤,並且在您的 Kindle 裝置和行動應用程式之間保持同步。技術上的挑戰是為數百萬 Kindle 用戶、數億本書籍、數百種裝置類型,生活在全球 100 多個國家/地區的用戶實現這一點——而且要達到 24x7 的可靠性。Whispersync 的核心是一個 eventually consistent 的複製數據儲存,具有應用程式定義的衝突解決機制,必須且能夠處理長達數週或更長時間的裝置隔離。當然,作為 Kindle 顧客,我們將所有這些技術隱藏起來。因此,當您打開 Kindle 時,它已經同步並停留在正確的頁面上。套用 Arthur C. Clarke 的話來說,就像任何足夠先進的技術一樣,它與魔法無異。
技術驅動自由現金流
現在,如果一些盡職閱讀這封信的股東至此已經眼神呆滯,我將點醒你們,在我看來,這些技術並非漫無目的地追求——它們直接導向自由現金流。
長期願景與信念
我們生活在一個可用頻寬、磁碟空間和處理能力都大幅增長的時代,所有這些都持續快速地變得便宜。我們的團隊中有一些世界上最頂尖的技術專家——協助解決那些處於當今可能性邊緣的挑戰。正如我之前多次討論過的,我們堅信股東的長期利益與顧客的利益是完全一致的。
我們喜歡這樣。發明根植於我們的 DNA 中,而技術是我們用來演進和改善我們為顧客提供的體驗各個方面的基本工具。我們還有很多東西要學,我期待並希望我們能繼續在學習中獲得如此多的樂趣。能成為這個團隊的一員,我深感自豪。
一如既往,我附上我們最初 1997 年信件的副本。我們的方法保持不變,而且現在仍然是 Day 1。
Jeffrey P. Bezos 創辦人暨執行長 Amazon.com, Inc.