【華爲雲技術分享】玩轉雲上數據湖,解析Serverless 技術落地

摘要:本文主要介紹Serverless計算相關技術與其在華爲雲數據湖探索服務(後文簡稱DLI)中的技術落地。

 

導讀

本文主要介紹Serverless計算相關技術與其在華爲雲數據湖探索服務(後文簡稱DLI)中的技術落地。Serverless是DLI將計算能力服務化和產品化關鍵技術,與傳統IAAS和PAAS技術不同,DLI運用Serverless技術向客戶提供了一種高效易用易擴展的計算框架,使得客戶更能聚焦業務,避免牽扯集羣運維的細枝末節。本文將從以下幾點解讀Serverless技術:

1.  serverless計算簡介

2.  雲計算架構演進—從IaaS到Serverless

3.   Serverless計算應用場景與潛力

4.  DLI Serverless 計算

 

serverless計算簡介

https://bbs-img.huaweicloud.com/blogs/img/1589160785117064800.png

圖 Serverless與傳統雲計算比較

無服務器計算(Serverless)是一種新型的雲計算範式,在業界也被稱爲FaaS(函數即服務),它有別於傳統的IaaS(基礎設施即服務)和PaaS(平臺即服務)技術,旨在幫助開發者擺脫減少甚至免去底層基礎架構管理上的諸多煩擾。Serverless計算服務允許客戶在不構建一個複雜的基礎設施的情況下開發,運行和管理應用程序。在2014年10月先由hook.io提供給業界,接着AWS推出Lambda,2016年Google Cloud Functions,Microsoft Azure Functions對外提供服務,接下來IBM的OpenWhisk並開源。目前華爲雲也提供類似FaaS產品FunctionStage,而DLI服務也向用戶提供Serverless Spark產品。

https://bbs-img.huaweicloud.com/blogs/img/1589160874633068478.png

圖 Serverless成本優勢

Serverless計算並非旨在實現真正意義上的“無服務器”,而是指企業將後端基礎結構的維護交由可靠雲服務公司,雲服務公司以服務的方式爲開發者提供所需各類功能等,加快企業產品研發和發佈週期,同時增強服務的擴展性。 

Serverless計算免去後端基礎服務的諸多事宜,開發者可以專注在產品代碼,不需要維護任何的服務器。服務器由雲服務商提供,服務擴容的便捷性、靈活性大大提升。Serverless應用程序運行應用的服務默認提供高可用、容錯高。無服務器計算,相比傳統服務性價比高,企業只需要支付所使用的部分,沒有任何與無服務器計算相關的成本,尤其是應用程序使用隨時間變化大的企業是非常划算的。

 

雲計算架構演進—從IaaS到Serverless

雲服務第一階段的雲主要解決硬件資源(網絡,計算,存儲)的運維和供給問題,也就是 IaaS 雲,可以理解成基於硬件資源的共享經濟。IaaS 雲的交付的主要是資源,接口以及控制檯也是面向資源的,儘量以模擬物理機房環境來降低應用的遷移成本。而云發展到當前階段來看,出現了兩種需求:

真正的按需計算

原來雲的按需計算只是虛擬機維度的,按時間計費以及彈性伸縮,並不能正真做到按需計算,計算和內存資源都是預申請規劃的,和服務的請求併發數並沒有明確的關係,哪怕一段時間一個請求沒有,資源還是依然佔用。而 Serverless計算可以做到按請求計費,不需要爲等待付費,可以做到更高效的資源利用率。

面向應用

本質上用戶對雲的期望是應用的運行環境,並且最好是隻讓用戶關心業務邏輯,而不需要關心,或者儘量少關心技術邏輯(比如監控,性能,彈性,高可用,日誌追蹤等)。這也是雲原生應用(Cloud Native Application)這個概念提出的背景。

 

隨着兩種需求日益強烈,Serverless計算模式孕育而生。它給出的方案就是應用只需要把包含自己業務邏輯的功能模塊提交給雲,其他的事情由雲來完成。這樣,雲相當於直接接管了業務邏輯模塊,然後其他的技術功能直接由雲來提供,不依賴開發者在自己應用中引入標準化框架來實現。

 

Serverless計算應用場景與潛力

Serverless計算敏捷靈活,適用門檻低,綜合成本低的優勢,特別適合以下幾個場景:

視頻,圖片以及流式事件處理

其本質上是需要一種通用的,可自定義的,工作流應用。當前的工作流一般都是針對具體場景的,尚無支持自定義邏輯並且適用於各種類型事件的分佈式工作流。而基於 Serverless計算有可能誕生這樣一種工作流。通過與Flink,Spark Streaming這樣的流式大數據處理平臺結合,Serverless計算模型將充分發揮其價值。

事件驅動以及響應式架構

這個場景和視頻圖片流場景有相似之處,只不過前一個關注的是應用場景,這條單指技術架構場景。服務器端的事件驅動和響應式架構和客戶端技術相比,一直缺少一種統一的體系解決方案,主要原因是服務器端缺少分佈式系統級別的支持,純開發框架的方式實現比較困難,如果調度系統和開發框架配合,實現這種架構就比較容易了。

IoT 

物聯網場景實際上和前面的流式事件處理以及事件驅動架構都有關係。這裏單獨作爲一條闡述,主要是物聯網對應用開發帶來的不僅僅是架構上的變化。互聯網主要是信息技術,主要是面向人的應用,要求及時把信息展示給用戶,所以應用多是 http 的請求響應模式,對延遲比較敏感(毫秒級)。而物聯網場景下,多是事件觸發,哪怕有人蔘與的場景,比如智能開關,也是觸發事件後控制另外的設備,對延遲忍耐度較高(秒級),協議多也不是 http,而是物聯網相關的消息協議。

應用系統的自定義擴展需求 

任何一個標準的系統,發展到一定程度都會有不同的自定義擴展需求。一種是提供內置擴展機制,比如 Java 的許多應用,可以允許在應用中增加擴展,應用自己通過 jvm 的隔離機制提供插件運行環境。另外一種是通過遠程接口(無論是 http 還是其他遠程協議),由用戶按照協議實現自定義需求,然後整合,應用本身不提供擴展運行環境。前者對編程語言有約束,隔離性差,後者開發運維成本比較高。如果基於Serverless計算支持一種分佈式的擴展運行環境,自動和應用整合,相當於兼有了二者的優勢。可以預見,在未來幾年裏,大多數 SaaS 以及 API 服務都會提供類似Serverless計算的環境來託管用戶的自定義擴展。如果私有環境中也有標品,私有部署的應用也會逐漸提供這種整合能力。

跨雲與混合雲場景

當前大多數混合雲解決方案都只能做到基礎設施的混合,至於用戶的應用要實現多雲,則只能在用戶自己的應用中處理,雲平臺能提供的幫助有限。但因爲Serverless計算侵入了應用的架構,接管了應用的事件輸入,乃至事件輸出,所以它可以做的更多,也可能提供一種基於Serverless計算的混合雲開發框架,用戶按照架構模式實現邏輯就天然跨雲。

邊緣計算場景

邊緣計算當前的應用場景還沒凸顯出來,但可以預見的是,邊緣的計算能力肯定不如雲端,更小的資源使用粒度對邊緣更友好。此外,邊緣的具體資源要對用戶透明。從以上兩點來看, Serverless計算對邊緣計算是天然友好的。同時,邊緣計算要解決的很多問題和混合雲場景類似。

 

DLI Serverless 計算

https://bbs-img.huaweicloud.com/blogs/img/1589161182717046327.png

DLI Serverless Spark作業管理

現在DLI服務已經上線了Serverless Spark/FLINK產品,提供用戶簡單易用的流批一體的計算引擎。用戶只要簡單地創建集羣和上傳自己的功能代碼,就能將應用跑在DLI已經爲您優化好的雲環境裏,並使用DLI內置的跨源分析功能,輕鬆玩轉華爲雲上多種數據源。DLI讓客戶專注業務創新,其他的雜事就交給我們DLI處理!

 

點擊這裏→瞭解更多精彩內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章