Amazon 如何利用 AWS 實現資料庫自由

當人們聽說 Amazon 即將完成一項多年的企業級計劃,將公司的資料從 Oracle 資料庫移到 Amazon Web Services (AWS) 時,可能會想到這個問題:這個素以運用尖端技術而聞名的零售電商巨擘,過去為什麼沒有充分利用 AWS 的多樣性、可擴展性、可靠性和成本效益,尤其是在兩者屬於同一公司的情況下?

第一個部分的答案是,Amazon 誕生的年代比 AWS 早了很多,當時像 Oracle 這樣的整合型內部部署資料庫解決方案仍是企業級資料存放和管理的首選。第二點是,儘管那個年代已經結束,但想脫離 Oracle 仍有種種障礙,許多希望轉向 AWS 的企業都非常清楚這一點。

「如果像 Amazon 這樣的公司都能將分散式、分佈全球的團隊所使用的許多資料庫從 Oracle 轉移到 AWS,那麼幾乎沒有企業辦不到。」

Amazon 消費者業務資料技術解決方案架構資深經理 Thomas Park

擺脫 Oracle 的束縛:說比做簡單

在 Amazon 的案例中,離開 Oracle 的阻礙包括公司叢集的規模,超過 5,000 個資料庫連接到各種非標準化系統,擁有權和相依性沒有集中清點。另外也存在與人員相關的風險。許多 Amazon 員工的職涯經歷都是以 Oracle 資料庫平台為基礎。他們會全力支持這項改變嗎? 還是有些人會選擇離開?

許多希望從 Oracle 切換為 AWS 的其他公司也面臨類似的挑戰。就像其他公司一樣,Amazon 也有迫切的理由必須達到目的。Amazon 工程師在複雜且容易出錯的資料庫管理、佈建和容量規劃上浪費了太多時間。公司快速攀升的成長軌跡和急遽增長的輸送量,需要越來越多的 Oracle 資料庫碎片,還有隨之而來的所有額外操作和維護開銷。然後是成本:投注在 Oracle 的正常營運讓 Amazon 已經為其授權支付的費用再增加數百萬美元:也就是驚人的每年 10%。

曾協助帶領遷移專案的 Amazon 消費者業務資料技術解決方案架構資深經理 Thomas Park 表示:「我們和許多企業所面臨的情況是一樣的。Oracle 是我們轉向 AWS 的最大原因,也是我們面臨的最大障礙。」

那是當時的狀況。現在,Amazon 即將完成大約 50 PB 資料的遷移,並正關閉這 5,000 個 Oracle 資料庫中的最後一個。公司如何進行大規模遷移?

管理文化變革和技術複雜性

Amazon 在遷移過程中面臨兩個關鍵挑戰。一個是如何應對大規模的計劃管理,以激勵其多元化、全球分佈的團隊接受專案並追蹤其進展。另一個是遷移的技術複雜性。為了專案能夠成功,公司的業務部門顯然需要集中協調、教育和技術支援。

為了克服這些挑戰,Amazon 首先成立企業計劃管理辦公室 (PMO),該辦公室設定明確的績效要求,並與每個服務團隊訂定每週、每月和每季審查,以追蹤和報告進度與計劃狀態。

Amazon 消費者業務資料技術總監 Dave George 表示:「在制訂該計劃時,我們必須明確訂定想要達到的成果及其原因,然後再討論實現方法。」「一旦確定想要達到的成果及原因,我們就會在積極的高層支持下訂定明確的目標。這種支持可確保我們的許多分散式技術團隊能有清楚、明確的焦點,並致力於實現這些目標。對交付的持續關注可確保盡量減少對其他業務優先順序的干擾,同時實現核心系統的重大架構更新。」

一支由經驗豐富的解決方案架構師和資料庫工程師組成的 AWS 技術核心團隊,也是該專案成功的關鍵。該團隊根據從 Oracle 遷移到 Amazon 的每一類資料提出適用的 AWS 服務建議,包括:

  • Amazon DynamoDB:建議用於要求高可用性、變化型結構描述以及一致性、大規模且低於 10 毫秒延遲的關鍵服務。
  • Amazon Aurora:建議用於要求高可用性和強大參照完整性的穩定結構描述服務。
  • Amazon Simple Storage Service (Amazon S3):建議用於關聯式和非關聯式資料的低價長期儲存。
  • Amazon Relational Database Service (Amazon RDS) for PostgreSQL 或 MySQL:建議用於非關鍵服務,並且易於設定、操作和擴展。
  • AWS Database Migration Service (AWS DMS):可協助您快速安全地將資料庫遷移到 AWS。來源資料庫在遷移期間能夠維持所有功能的運作,將倚賴資料庫之應用程式的停機時間降到最低。DMS 可以在最廣泛採用的商業資料庫及開放原始碼資料庫來回遷移您的資料。
  • AWS Schema Conversion Tool (AWS SCT):透過將來源資料庫結構描述及大部分資料庫程式碼物件 (包括檢視、預存程序和函數) 自動轉換成與目標資料庫相容的格式,讓異質資料庫遷移變得可預測。

該團隊也提供有關特定 AWS 服務的正式指導、運作實作實驗室、提供一對一諮詢,並由 AWS 產品團隊為遇到特定挑戰的 Amazon 企業提供協調的直接協助。

Park 表示:「讓這個中心團隊擁有經驗豐富的解決方案架構師和資料庫工程師,對專案的成功至關重要。該團隊不僅幫助 Amazon 業務團隊接受教育,還提供意見回饋和功能請求,讓所有客戶都感受到 AWS 服務如此地實用。」

Amazon 也仔細考慮如何為其 Oracle 資料庫管理員提供最好的幫助,讓他們轉換到現在向他們開放的新職業生涯。其中一種選擇是幫助他們取得成為 AWS 解決方案架構師所需的技能。另一個是管理角色,在連接傳統 Oracle 環境和 AWS 雲端環境的持續過程中,Oracle 背景將有所幫助。

AWS 上的資料庫自由

雖然遷移後佈建更高的容量,但遷移至 AWS 讓 Amazon 的年度資料庫營運成本降低一半以上。資料庫管理和硬體管理開銷大幅減少,而且團隊之間的成本分配比以前簡單得多。大多數被重新轉換至 Amazon DynamoDB 平台的服務通常是最關鍵的服務,需要大規模高可用性和低於十毫秒的延遲,儘管現在處理的交易量是原來的兩倍,但延遲減少了 40%。在遷移過程中,服務團隊還利用這個機會進一步穩定服務、消除技術債務,並完整記錄所有程式碼和相依性。

反映在這個專案的範圍,是一個影響到 800 個服務、數千個微型服務、數萬名員工和數百萬客戶的遷移,且使得 Amazon 的 AWS 資料庫覆蓋率超過其 90% 的 AWS 客戶,Amazon.com 從其他思考類似舉措的大型企業汲取了教訓。

「參與這個遷移專案的人沒有一個會說它簡單、容易或有趣,不過也不是需要超能力才能辦得到。如果像 Amazon 這樣的公司都能將許多分散式、分佈全球的資料庫從 Oracle 轉移到 AWS,那麼幾乎所有企業都辦得到。」


進一步了解

進一步了解 Amazon DynamoDB