定向减免!函数计算让 ETL 数据加工更简单
業(yè)內較為常見的高頻短時 ETL 數據加工場景,即頻率高時延短,一般費用大頭均在函數調用次數上,推薦方案一般為攢批處理,高額的計算成本往往令用戶感到頭疼,函數計算推出定向減免方案,讓 ETL數據加工更簡單、更自動化、容錯能力更強。
自2024年01月01日0時起,函數計算定向減免來自阿里云消息類產品和云工作流(CloudFlow)的函數調用次數費用,即通過以上產品事件觸發(fā)函數計算所產生的函數調用次數不再計入費用賬單。定向減免函數調用次數費用的產品包括:
- 阿里云消息類產品:
- 消息服務MNS
- 云消息隊列 RocketMQ 版
- 消息隊列 RabbitMQ 版
- 云消息隊列 Kafka 版
- 云消息隊列 MQTT 版
- 事件總線EventBridge
-
云工作流(CloudFlow)
這樣用 FC,ETL 場景可立省 87% 計算費用
某出行領域客戶基于函數計算 FC 構建免運維、自動化的 ETL 數據加工場景如下:
每天處理10億條 Kafka 消息數據,每次處理平均耗時10毫秒,算力規(guī)格 0.1c0.5g,其費用組成為:
- vCPU使用量:0.1 * 1000000000 * 0.01 * 0.00009 = 90元
- 內存使用量:0.5 * 1000000000 * 0.01 * 0.000009 = 45元
- 函數調用次數費用:1000000000 / 10000 * 0.009 = 900元
注意:以上均按照函數計算階梯計費的階梯0單價進行計價,忽略免費額度,定價參考:
若定向減免該 ETL 場景下的函數調用次數費用,則該 ETL 場景可立省 87% 計算費用!(不同場景的降本數字需結合實際業(yè)務需求進行測算。)
基于函數計算 FC 的熱門 ETL 場景
數據投遞分析
在數據投遞分析場景中,函數計算可以為用戶的投遞以及數據分析提供高*度的模板能力和自定義能力,提供海量下游投遞能力。
數據加工清洗轉存
數據清洗加工和轉存場景,函數計算可以提供數據 Transform 處理能力,供數據加工。
業(yè)務消息處理
函數計算 FC 有豐富的事件響應場景,消息作為事件驅動的重要數據源,可以驅動函數計算執(zhí)行一系列業(yè)務邏輯,構建完整的事件驅動架構。
立即開始
阿里云消息類產品
函數計算 FC 和阿里云消息產品家族通過產品集成,只需要簡單“點點點”即可實現自動化、高可用的彈性消息 ETL 方案,大幅簡化了 ETL 任務的難開發(fā)、難運維的痛點。
Connector 生態(tài)集成
在 Kafka、RocketMQ、RabbitMQ 控制臺配置 Connector 實現消息 ETL 任務,選擇函數計算 FC 模板即可實現預置過濾、轉換、投遞等基礎需求。如若需要實現更自定義的轉換需求,也可以在函數計算 FC 控制臺創(chuàng)建事件函數進行定制開發(fā),然后在 Connector 界面選擇指定的函數即可運行特定 ETL 任務。
同時,也可以通過此類 ETL 任務實現消息數據快速投遞至存儲、大數據等,實現數據轉儲需求。
EventBridge 事件流
在 EventBridge 控制臺配置事件流,快速創(chuàng)建消息隊列、數據庫等數據 ETL 任務,選擇函數計算 FC 模板即可實現預置過濾、轉換、投遞等基礎需求。如若需要實現更自定義的轉換需求,也可以在函數計算 FC 控制臺創(chuàng)建事件函數進行定制開發(fā),然后在 Connector 界面選擇指定的函數即可運行特定 ETL 任務。
同時,也可以通過此類 ETL 任務實現消息數據快速投遞至存儲、大數據等,實現數據轉儲需求。
云工作流 CloudFlow
云工作流(CloudFlow)是用來協調多個分布式任務執(zhí)行的全托管 Serverless 云服務,簡化開發(fā)、運行業(yè)務流程需要的任務協調、狀態(tài)管理和錯誤處理等繁瑣工作。云工作流配合函數計算 FC 支持簡單拖放即可實現復雜業(yè)務流程,無需編寫代碼,即可編排 300+? 云服務實現工作流程自動化,實現流程式編程新范式。
下面是云工作流,函數計算 FC 搭建一個高可用的數據處理流水線的最佳實踐:
來自不同數據源的計量數據被收集到日志服務,函數計算 FC 的定時器每小時觸發(fā)工作流,云工作流利用函數計算 FC 對多個 Shard 的計量數據做并行處理,并將結果分別寫回日志服務服務;然后可以將所有 Shard 產生文件進行聚合,寫入表格存儲 OTS,最后為每個用戶生成賬單。工作流支持對流程中的單個步驟失敗進行重試,降低流程失敗概率。工作流支持動態(tài)并行任務執(zhí)行,實現數據處理能力的高可擴展性。
銘師堂峰值流量破萬后的實時 ETL 任務解決方案
業(yè)務背景
杭州銘師堂,一家在線教育高科技企業(yè),成立十余年來一直致力于用“互聯網+教育”的科技手段讓更多的學生能享有優(yōu)質的教育。學生做完作業(yè)后,會將作業(yè)拍照,然后上傳到作業(yè)批閱系統,后端系統此時會有多個動作:
- 將作業(yè)照片上傳到 OSS;
- 將用戶作業(yè)信息落到數據庫;
- 發(fā)送消息到 Kafka,通過 Kafka Connector 驅動實時 ETL 任務;
該 ETL 任務承載了所有的處理邏輯,通過圖像識別和數據分類算法,自動識別作業(yè)的完成情況。在一年的大多數時間里,業(yè)務流量都比較平穩(wěn),但在寒暑假時,一般會迎來一年中的高峰,在 2022 年暑假期間,平均每天需要處理 100 多萬條作業(yè)圖片處理,峰值流量更是達到了萬級別。
業(yè)務痛點
銘師堂的 ETL 任務原先部署在 Kubernetes (簡稱 K8s),通過訂閱 Kafka 的 topic,獲取數據路徑,從 OSS 獲取數據進行處理,涉及到數據并發(fā)度的處理,主要存在兩方面問題:
- Kafka 消費端并發(fā)度受限于 topic partition,消費端數最多只能跟 partition 數齊平,超過時會導致部分消費端無法訂閱數據;
- 消費端將消費到的數據進行 ETL,K8s 方案銘師堂在實現時將消費端數和 partition 保持一致,但因為 K8s 的彈性策略相對滯后,平峰時問題不大,但高峰期因彈性不足會經常導致任務堆積,實時性無法保證;
為了保證 ETL 任務的實時性,銘師堂架構組一直在尋求一種彈性能力更強的新架構。經過實測對比,基于阿里云函數計算 FC 構建的實時 ETL 任務解決方案是最適配銘師堂業(yè)務需求,且彈性能力最強、成本最優(yōu)的選擇。
解決方案
銘師堂基于函數計算構建的實時 ETL 任務解決方案步驟如下:
- 用戶提交作業(yè)出發(fā)提交流程,將請求打到后端服務。;
- 后端服務將用戶提交的作業(yè)圖片上傳到 OSS,并將 OSS 地址作為一條消息發(fā)送到 Kafka;
- 函數計算的 Kafka 觸發(fā)器實時的感知 Kafka topic,當有新數據到達,實時觸發(fā)函數處理;
- 函數計算獲取到事件數據,從 OSS 獲取數據,并對數據進行處理,將處理結果發(fā)回到 Kafka topic;
- 后端程序訂閱 Kafka topic,對處理結果進行存儲和下一步的展示;
業(yè)務收益
以上解決方案整體開發(fā)流程順利,項目上線后有超出預期的收益:
- 執(zhí)行時間快:業(yè)務高峰期,對比 K8s 方案,單請求響應時延 100~200ms,函數計算 FC 方案則維持在 50ms 左右,大大超出預期。經過分析,主要原因在于函數計算 FC 資源隔離,每個任務實例均獨占計算資源,高峰期突發(fā)流量來臨時也不會出現資源爭搶,ETL 任務的執(zhí)行性能得到保障;
- 彈性效率高:K8s 方案依賴 metrics 數據“滯后”地執(zhí)行 HPA 策略調度資源,而 FC 方案則依賴任務并發(fā)“提前”實時調度資源。業(yè)務高峰期,正在執(zhí)行的 ETL 任務獨占實例,而新任務則通過 FC 的“百毫秒彈性能力”實時拉起新實例,FC 會最大化地復用實例,減少因為“冷啟動”而帶來的實時性、利用率損耗;
- 提效還降本:對比 K8s 方案需要預留和管控資源水位,基于 FC 的實時 ETL 任務解決方案實現了按需調度、按量付費,沒有任務時資源縮 0,高峰期按業(yè)務需求實時調度資源,利用率大大提升。且函數計算 FC 定向減免來自阿里云消息隊列 Kafka 的函數調用次數費用,業(yè)務成本得到進一步優(yōu)化。
銘師堂將業(yè)務上線到函數計算 FC 后,很好地解決了 K8s 方案高峰期的任務堆積問題,且通過函數計算 FC 內置的監(jiān)控和日志服務,問題排查效率也得到提升。當然最重要的一點,銘師堂通過函數計算 FC 的實時彈性,不再需要提前規(guī)劃資源、預留水位、冗余備份,資源成本大幅降低。
開通函數計算獲試用額度
函數計算為首次開通服務的用戶提供免費試用額度,試用額度的有效期為3個月,自購買之日起,超出試用額度的部分均會計入按量付費。試用額度的詳細信息如下。
- GPU試用額度:前100萬GB*秒GPU資源使用免費。
- vCPU試用額度:前50萬vCPU*秒vCPU資源使用免費。
- 內存試用額度:前200萬GB*秒內存資源使用免費。
- 函數調用試用額度:前800萬次函數調用免費。
除以上試用額度,2023年12月19日0時之后,函數計算還為首次開通服務的用戶發(fā)放有效期3個月,每個月100 GB的CDT公網流量試用額度。
鏈接匯總
計費詳情:https://help.aliyun.com/zh/fc/product-overview/billing-overview
函數計算官網:https://www.aliyun.com/product/fc
總結
以上是生活随笔為你收集整理的定向减免!函数计算让 ETL 数据加工更简单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 魔搭+ 函数计算_ 一键部署,缩短大模型
- 下一篇: 【驱动】I2C驱动分析(二)-驱动框架