一、Serverless簡介云計算的不斷發展,涌現出很多改變傳統IT架構和運維方式的新技術,而以虛擬機、容器、微服務為代表的技術更是在各個層面不斷提升云服務的技術能力,它們將應用和環境中很多通用能力變成了一種服務。但無論這些技術應用在哪里,幫助企業“降本增效”是技術變革永恒的主題。
Serverless架構的出現,帶來了跨越式的變革。Serverless下主機管理、操作系統管理、基礎軟件的部署運維、資源分配和擴縮容能力全部由云廠商提供,把計算能力做成像水電煤一樣的公共服務,這就意味著基于Serverless服務構建應用,開發者只需要專注在產品代碼上,而無需管理和操作云端服務運行環境,計算資源從過去購買“服務器”轉向購買對應的“服務”。
二、Serverless開發模式
Serverless真正做到了部署應用無需涉及基礎設施的建設,自動構建、部署和啟動服務。以大數據應用開發舉例:
在傳統開發流程中,我們需要先根據大數據實際應用從采集,存儲,清洗,關聯,到分析挖掘全鏈路所涉及的組件列表,完成后端大數據平臺一系列組件的安裝部署,再等到大數據應用完成后,進行應用功能調試、應用+平臺性能調優,最終測試、上線后,還需要大數據平臺運維工程師對整個大數據平臺進行維護。整個過程涉及多個角色,而本身大數據平臺的運維和調優具備一定的技術門檻,調優效果完全取決于自有員工的能力,而一個好的調優人員,就像一個好的數據庫DBA一樣,需要長期項目實踐積累,屬于關鍵稀缺人才。
基于Serverless,所有事情變得非常簡單了,云廠商以服務的形式對外提供大數據組件能力,以往復雜的平臺搭建過程得到完全解放,只需要寫完大數據應用程序后部署到Serverless服務即可,后續也不需要關心任何服務器以及大數據平臺組件的運維、調優操作。云廠商在對外提供服務的同時,背后都有一個完備的團隊7*24提供專業的支撐。因此只需要大數據應用開發工程師即可完成所有工作。當然,如果具備一定的大數據平臺能力,對大數據應用側的性能調優也是非常有利的,往往可以事半功倍。
三、Serverless帶來的價值
1、降低運營復雜度
Serverless架構使軟件應用和服務器實現了解耦,服務器不再是用戶開發和運營應用的焦點。在應用上線前,用戶無須再提前規劃服務器的數量和規格。在運維過程中,用戶無須再持續監控和維護具體服務器的狀態,只需要關心應用的整體狀態。應用運營的整體復雜度下降,用戶的關注點可以更多地放在軟件應用的體驗、改進以及其他能帶來更高業務價值的地方。
2、降低運營成本
服務器不再是用戶關注的受管資源,運營的復雜度下降,應用運營所需要投入的時間和人力大大降低。在最好的情況下,可以做到少數幾個應用管理員即可管理一個處理海量請求的應用系統。
3、縮短產品的上市時間
在Serverless架構下,應用的功能被解構成若干個細顆粒度的無狀態函數,功能與功能之間的邊界變得更加清晰,功能模塊之間的耦合度大大減小。這使得軟件應用的開發效率更高,應用開發的迭代周期更短。
四、Serverless現存問題
對于企業來說,支持Serverless計算的平臺可以節省大量時間和成本,釋放基礎設施相關員工,轉移到開展更有價值的工作,而不是管理基礎設施。另一方面可以提高敏捷度,更快速地推出新應用和新服務,進而提高客戶滿意度。但是任何事情都有兩面性,Serverless并不是完美的,它也存在一些問題:
1、完全依賴于第三方服務
當我們采用某云服務廠商的Serverless架構時,理論上我們就和該服務供應商綁定了,那么我們再將服務遷到別的云服務商上就沒有那么容易了。但如果云廠商本身兼容開源,甚至應用代碼可以“0”改動遷移,這個問題就迎刃而解了,也就不存在綁定一說了。選擇云廠商Serverless服務的時候,從產品演進的角度,這也是一個重點需要考慮的點。
2、缺乏調試和開發工具
現階段基于Serverless架構服務開發時,相對比較痛苦的就是功能開發階段,每次你調試的時候,你需要一遍又一遍地上傳代碼。而每次上傳的時候,你就好像是在部署服務器,雖然應用部署非常簡單,但并不能總是快速地定位出問題在哪。不過這應該也是一個階段性的問題,后續Serverless周邊工具生態逐步完善后,相信Serverless下的開發也會擁有跟本地開發一致的體驗。
3、語言版本
一般Serverless服務內部針對單組件都是維護一個或幾個主流版本,這個策略完全由云廠商決定,并不會嚴格緊跟社區版本。站在我的角度,也并不是版本越高越好,還是對外提供一個長期穩定的版本,比如原本是Spark 2.3,當Spark 2.4剛面世的時候,就沒有必要馬上跟風,服務對外的穩定可用才是最關鍵的。另外,現在基于K8S的自定義鏡像也能很好的解決組件多版本和周邊依賴問題。
五、總結
一般來說,社會越發達、越成熟,社會分工就越明確,技術亦是如此。云計算經過這么多年的發展,逐漸進化到用戶僅需關注核心業務和業務運行所需的資源,基礎設施及平臺統一由云廠商來負責看護。Serverless架構讓我們不需要再操心服務端的運維,不需要關心我們不熟悉的領域,只需要專注于業務的開發、專注于產品的實現。我們需要關心的事情變少了,也意味著我們能做的事情更多了。可以說,隨著Serverless架構的興起,真正的云計算時代才算到來了。相信隨著技術的飛速發展,Serverless在未來還有無限可能!
數據湖探索DLI適用與線下Spark/Hive/Flink上云、日志分析、實時大屏、多源聯合分析等場景,會SQL就會大數據分析,Serverless服務,免運維
華為云618年中云鉅惠,大數據+AI專場,DLI數據掃描量套餐包50TB,49.9元搶購,包周期新購5折,續訂7折!購買產品更有V55i-B智慧屏與P40 Pro好禮相送,華為云助力企業構筑全棧大數據平臺,為商業創造無限未來。
關鍵詞: Serverless架構