客戶案例 / 軟體與網際網路

2022
Salesforce 標誌

Salesforce UIP 使用 Amazon EC2 Spot 執行個體將資料處理時間縮短 90% 以上,且每月節省超過 100 萬美元

1 百萬美元

的每月節省

200–250 TB

現在的成本以前只能支付 100 TB 

4 小時至 15 分鐘

減少的處理時間

組態測試

在幾個小時內完成探索和測試

概觀

Salesforce 的統一智慧平台團隊 (UIP) 負責管理 PB 級資料湖,並希望為資料的分析與處理帶來創新,同時努力節省成本並提高效率。UIP 團隊透過 Amazon Web Services (AWS) 混合使用 Amazon Elastic Compute Cloud (Amazon EC2) 的執行個體佈建模型,該模型可為幾乎任何工作負載提供安全且可調整大小的運算容量,因此 UIP 團隊能夠建立可擴展的彈性運算基礎設施。UIP 團隊改造的運算基礎架構使用較少的時間來處理兩倍的資料,同時每月為公司省下超過 100 萬美元。

Salesforce 將 AWS 用於其資料工作流程,而 AWS 則使用 Salesforce 進行客戶關係管理。這項合作關係讓使用這兩種技術的開發人員可以更輕鬆地建立和啟動客戶應用程式、在 Salesforce 內以原生方式使用 AWS 服務,以及在 Salesforce 和 AWS 之間安全地連接資料與工作流程。

Business coworkers discussing new ideas and brainstorming in a modern office

商機 | 在 AWS 上提升效率

在 2019 年末,UIP 團隊開始遷移其內部部署叢集至 Amazon EMR。Amazon EMR 是一個雲端大數據平台,用於使用開源分析架構 (如 Apache Spark、Apache Hive 和 Trino) 執行大規模分散式資料處理作業、交互式 SQL 查詢和機器學習應用程式。使用 Amazon EMR 可協助 Salesforce 降低管理其大數據架構的複雜性,並為 Amazon EC2 Spot 執行個體提供原生整合,協助公司利用雲端中未使用的 Amazon EC2 容量。

該團隊將其在 Apache Spark 上執行的工作負載識別為使用 Spot 執行個體的首選項目,而此舉為成本最佳化策略的一部分。Amazon EMR 上的 Apache Spark 具有自動重試功能,可協助在 Spot 執行個體因為 Amazon EC2 容量需求而進行回收時提供彈性。此外,UIP 團隊使用 Spark Streaming 在 5 分鐘的時間內處理資料,這是有助於將必須重試的機會降到最低的另一個因素。

為了以最低的價格找到最大的可用性,Salesforce UIP 嘗試使用 Spot 執行個體和其他 Amazon EC2 購買選項。Salesforce UIP 以不同百分比的 Spot 執行個體和 Amazon EC2 隨需執行個體執行案例,公司只需支付第二個運算容量費用,無需長期承諾,而且可以完全控制執行個體的生命週期。在隨需執行個體之上,Salesforce UIP 使用了 Savings Plans。與隨需定價相比,Savings Plans 是一種靈活的定價模式,可提供更低的價格,以換取具體的用量承諾。為了在叢集的可靠性與執行個體折扣之間取得平衡,UIP 團隊確定了最佳組態,其中 60% 的 Amazon EC2 用量受益於 Spot 執行個體,其餘則使用 Savings Plans 涵蓋的範圍。為了符合其服務等級協議 (SLA),Salesforce UIP 在建立機群時將效能銘記在心。Salesforce UIP 根據處理器特性和符合 SLA 時間需求的能力,將工作負載分割為 SLA 和非 SLA 叢集。Salesforce 的首席工程師 Eric Legault 表示:「就建立我們的機群而言,我認為真正的好處是您可以使用多少種執行個體類型。AWS 協助我們使用許多不同的機器組態,並嘗試不同的案例。這只是改變組態的問題,而只需幾個小時,我們就可以看到新組態是否真的可行。因此,我認為這是取得成功的重要因素。」

kr_quotemark

Amazon EMR 受管擴展在我們使用雲端彈性功能的能力中扮演重要角色。而且只要以創新的方式使用 Spot 執行個體,我們就能大幅降低成本。」

Eric Legault
Salesforce 首席工程師

解決方案 | 使用 Spot 執行個體大量節省成本

為了符合使用 Spot 執行個體的 AWS 最佳實務,該團隊將兩個或三個執行個體類型移至 27 種執行個體類型,同時保持相同容量,在機群中建立了額外的穩定性。UIP 團隊執行 12 個專門針對不同用途的叢集,使用針對 CPU、記憶體或平衡工作負載最佳化的執行個體類型,並搭配 Intel 和 AMD 處理器混合使用。Legault 表示:「您擁有的執行個體類型越多,叢集就越有彈性。」

現在,Salesforce UIP 每天處理 200—250 TB 的資料量,寫入的資料量大約是以前的兩倍,只需支付的成本卻與先前處理 100 TB 時相同。透過將擷取處理重新架構為串流方法,並使用 Spot 執行個體增加基礎架構,同時控制成本,該團隊還提高了處理效率,將擷取和處理資料的時間從 4 小時縮短為 15 分鐘。為了更清楚掌握運算指標,Salesforce 使用 Amazon CloudWatch,這是 AWS 資源的監控和可觀察性服務。Salesforce UIP 使用開放原始碼軟體 Grafana 建置的自訂儀表板來監控應用程式,而 Grafana 可以視覺呈現操作指標。

Salesforce 的 UIP 解決方案也使用了 Amazon EMR 受管擴展功能,該功能可協助自動調整叢集大小,盡可能以最低的成本獲得最佳的效能。為了抵消 Spot 執行個體回收的可能性,Salesforce 允許其叢集擴展約 5% 的容量。額外的容量意味著更快的處理能力,以在必要時針對叢集提供更高的可用性和穩定性。Legault 說:「我認為這確實是一個好處,我們可以更大規模地擴展,並在不需要容量時縮小規模。這個過程也考慮到在回收方面發生的任何問題。」 此外,在 Amazon EMR 受管擴展中使用新功能,可防止 Salesforce 的 UIP 縮減儲存 Apache Spark 中繼隨機資料的執行個體,進而提高效能,並降低成本。

Salesforce UIP 整合使用 Spot 執行個體,可補充 Savings Plan 的用量,並將運算成本降低 60% 以上,讓公司每月省下超過 100 萬美元。除了兩個全時執行的叢集之外,UIP 團隊還可以在必要時以符合成本效益的方式擴展第三個叢集,以容納突然湧入的資料。UIP 團隊使用 Spot 執行個體來擴大規模,並降低其他 Salesforce 領域的成本,釋放 Savings Plan 執行個體,讓其他團隊降低高峰時段的成本。

成果 | 在機群管理建立智慧

作為最佳化過程的一部分,UIP 團隊使用 Spot 執行個體顧問,該顧問可以幫助公司確定中斷機會最小的集區,並比隨需費率節省更多成本。該團隊希望使用 Amazon EC2 Spot 放置分數在動態機群管理中建立更多智慧,該分數可根據 Salesforce 的需求以近乎即時的方式推薦適合的 AWS 區域或可用區域。使用 Amazon EC2 Spot 放置分數後,UIP 團隊計劃在各個 AWS 區域擴展時找到更大的容量和更低的價格。Legault 表示:「我們使用雲端的容量和各種 Amazon EC2 執行個體類型,來執行我們無法在內部部署執行的操作。Amazon EMR 受管擴展在我們使用雲端彈性功能的能力方面扮演重要角色。而且只要以創新的方式使用 Spot 執行個體,我們就能大幅降低成本。」

關於 Salesforce

作為頂尖的客戶關係管理 (CRM) 公司和客戶互動平台,Salesforce 為全球超過 15 萬家公司提供服務。Salesforce 將銷售、服務、行銷、商務和 IT 團隊整合在一起,以單一共用的客戶資訊檢視系統,協助公司與客戶和員工建立關係。

使用的 AWS 服務

Amazon Elastic Compute Cloud (EC2)

Amazon EC2 提供最廣泛、最深入的運算平台,擁有超過 500 個執行個體,可選擇最新處理器、儲存、聯網、作業系統和購買模型,以協助您最有效地滿足工作負載需求。

進一步了解 »

Amazon EC2 Spot 執行個體

透過 Amazon EC2 Spot 執行個體,您可以利用 AWS 雲端中未使用的 EC2 容量。

進一步了解 »

Savings Plans

與隨需定價相比,Savings Plans 是一種靈活的定價模式,可提供更低的價格,以換取在 1 年或 3 年期的用量承諾 (以 USD/小時計費)。

進一步了解 »

Amazon EMR 受管擴展

透過 EMR 受管擴展,您可以為叢集指定最小和最大運算限制,Amazon EMR 會自動調整叢集的大小,以獲得最佳效能和資源使用率。

進一步了解 »

開始使用

各行各業各種規模的組織每天都在使用 AWS 來變革其業務和履行其使命。聯絡我們的專家,立即開始您的專屬 AWS 雲端之旅。