玩轉雲上數據湖,解析Serverless 技術落地

導讀:

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

1. serverless計算簡介後端

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

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

4. DLI Serverless 計算架構

serverless計算簡介

圖 Serverless與傳統雲計算比較併發

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

圖 Serverless成本優點less

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

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

雲計算架構演進—從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 計算

圖 DLI Serverless Spark做業管理

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

 

點擊關注,第一時間瞭解華爲雲新鮮技術~

相關文章
相關標籤/搜索