再升級,阿里云讓Serverless更好地落地
原創(chuàng)【51CTO.com原創(chuàng)稿件】十多年間,云計算一直在進(jìn)化,從關(guān)注基礎(chǔ)設(shè)施,到僅需關(guān)注業(yè)務(wù)和所需資源,從高深莫測的技術(shù),到越來越“傻瓜”的使用方法,無疑都指向云計算的根本目的:降本、增效。
為了實(shí)現(xiàn)這個目標(biāo),云計算涌現(xiàn)出了很多新技術(shù),如容器、微服務(wù)等,這些技術(shù)都在盡可能地把應(yīng)用環(huán)境中很多通用的部分變成服務(wù),讓用戶使用起來更加簡單。而Serverless就更厲害了,它把服務(wù)器管理、操作系統(tǒng)管理、資源分配等組件都外包出去,當(dāng)作某種可以購買的服務(wù)---只要花錢,即刻享用!
Serverless比較官方的解釋是:不代表不需要服務(wù)器,而是說:開發(fā)者不用過多考慮服務(wù)器的問題,計算資源作為服務(wù)而不是服務(wù)器的概念出現(xiàn)。Serverless與以往架構(gòu)的不同之處在于,完全由第三方管理,由事件觸發(fā),存在于無狀態(tài)(Stateless)、暫存在計算容器內(nèi)。構(gòu)建Serverless應(yīng)用程序意味著開發(fā)者可以從繁重的手動資源管理和性能優(yōu)化中解脫出來,而專注在產(chǎn)品代碼上,真正做到了部署應(yīng)用,而無須管理和操作云端或本地的服務(wù)器,也因此實(shí)現(xiàn)了快速交付。同時,就像水、電、煤一樣,Serverless 只為實(shí)際產(chǎn)生的資源消耗付費(fèi),而無需為閑置的資源買單。至此,Serverless將云計算降本、增效的價值表現(xiàn)的淋漓盡致!
基于此,國內(nèi)外的各大云廠商 Amazon、阿里云、微軟、Google等都相繼推出了Serverless產(chǎn)品,Serverless也從概念逐步走向落地,在各企業(yè)、公司中得到應(yīng)用。在前不久中國信息通信研究院發(fā)布的國內(nèi)首個《云原生用戶調(diào)查報告》中,阿里云 Serverless 產(chǎn)品在國內(nèi) Serverless 用戶規(guī)模的占比達(dá)到 66%,遠(yuǎn)超其他云廠商總和,被認(rèn)為是國內(nèi) Serverless 用戶的首選。
阿里云函數(shù)計算FC的誕生:豐富的產(chǎn)品積累加實(shí)際需求
對于阿里云來說,Serverless 不是一個新概念,其計算、存儲等領(lǐng)域的很多服務(wù)都是 Serverless模式。例如阿里云推出的第一個云服務(wù),對象存儲(OSS),就是Serverless 形態(tài)的存儲服務(wù)。用戶不需要關(guān)心數(shù)據(jù)是如何存儲在底層服務(wù)器上,只為實(shí)際使用的存儲資源付費(fèi)。
2017年,基于已經(jīng)有了較為豐富的Serverless產(chǎn)品積累,和很多事件觸發(fā)場景的實(shí)際需求,阿里云正式推出了函數(shù)計算 FC。
函數(shù)計算 FC 提供了完備的后端云服務(wù)和開發(fā)者工具,如事件總線 EventBridge、Serverless 工作流、開發(fā)者框架、命令行工具、Web IDE 等,從開發(fā)者體驗(yàn)出發(fā)的Serverless-tools 與 Serverless 應(yīng)用中心。此外,函數(shù)計算 FC 還支持容器鏡像,與容器生態(tài)深度融合。
豐富的應(yīng)用場景服務(wù)于內(nèi)部需求和外部客戶
說到應(yīng)用,淘寶、天貓、支付寶、釘釘、飛豬、閑魚等等阿里系自己的產(chǎn)品都是函數(shù)計算FC的練兵場。“阿里內(nèi)部有很多的場景,催生出了很多Serverless的需求。”阿里云 Serverless 研發(fā)負(fù)責(zé)人楊皓然(不瞋)告訴51CTO記者。
阿里云 Serverless 研發(fā)負(fù)責(zé)人楊皓然(不瞋)
一個典型場景就是前端全棧場景。比如在一個促銷活動中,會涉及到會員管理、商品推薦等服務(wù),把這些服務(wù)組合起來之后,做一個活動頁面推廣出去。這種情況下,前端如果沒有Serverless,那些聯(lián)合后端的服務(wù),都需要用后端來做,研發(fā)效率比較低。而有了Serverless之后,BFF(backends for frontends,服務(wù)于前端的后端)的架構(gòu)可以把后端的接口按照前端的業(yè)務(wù)邏輯組合起來,起到了業(yè)務(wù)聚合的關(guān)鍵作用,通過openfeign、restTemplate調(diào)用基礎(chǔ)服務(wù)來獲取數(shù)據(jù),將獲取到的數(shù)據(jù)進(jìn)行組裝返回結(jié)果對象,解決了業(yè)務(wù)場景問題。
另外一個場景是電商業(yè)務(wù),由于天然的峰值特性,服務(wù)器資源要按照峰值需求預(yù)估,而在波谷時服務(wù)器利用率明顯下降而導(dǎo)致浪費(fèi)。 Serverless 計算平臺可以自動安排合理的計算資源滿足業(yè)務(wù)需求,輕松應(yīng)對請求的波峰與波谷。
還有一些偏數(shù)據(jù)處理的場景,如離線音視頻的批量處理,也比較適合用Serverless。
除了自身產(chǎn)品的應(yīng)用,阿里Serverless產(chǎn)品還幫助微博、石墨文檔、跟誰學(xué)、Timing、聯(lián)合利華等數(shù)萬家企業(yè)客戶成功落地 Serverless,覆蓋前端全棧、小程序、新零售、游戲互娛、在線教育等全行業(yè)應(yīng)用場景。
在微博的應(yīng)用中,函數(shù)計算 FC 支持微博個性化圖片處理,達(dá)到百毫秒極致彈性,日處理數(shù)十億次請求,綜合成本下降 35%。在線教育平臺的應(yīng)用中,SAE 支撐了Timing 700 萬用戶的在線學(xué)習(xí),零改造微服務(wù)架構(gòu) Serverless 化,計算成本下降 30%。在微服務(wù)的應(yīng)用場景中,百富旅行通過使用Serverless應(yīng)用引擎,把傳統(tǒng)的微服務(wù)直接遷移到了阿里云Serverless應(yīng)用引擎平臺上,大大提升了人效(只需一位運(yùn)維人員),實(shí)現(xiàn)了30%-40% 的資源節(jié)省。
幫助用戶落地Serverless
縱然有很多優(yōu)勢,但不可否認(rèn)的是Serverless比較高的門檻,如遷移成本。
首先函數(shù)計算FC產(chǎn)品本身的限制比較多,比如冷啟動等一些技術(shù)問題。“這是可以解決的,而且我們正在不斷的去減少這個限制。”不瞋表示。
第二就是函數(shù)計算FC的工具鏈。如果用戶使用Serverless,其開發(fā)、運(yùn)維流程跟原來的VM、容器完全不同,比如打包的方式、運(yùn)維部署的工具和習(xí)慣等等。還有一些用戶擔(dān)心使用Serverless之后會被廠商綁定,這些割裂的開發(fā)運(yùn)維體驗(yàn)也是遷移的巨大障礙。
以上兩個問題也正是阿里Serverless努力的方向。
Serverless Devs:云原生全生命周期管理平臺
前些時候,阿里正式宣布開源首個Serverless開發(fā)者平臺:Serverless Devs,目標(biāo)直指幫助開發(fā)者實(shí)現(xiàn)一鍵體驗(yàn)多云產(chǎn)品,極速部署 Serverless 項(xiàng)目,這也是業(yè)內(nèi)首個支持主流 Serverless 服務(wù)/框架的云原生全生命周期管理的平臺。
“Serverless Devs在我們內(nèi)部是一個戰(zhàn)略級產(chǎn)品,因?yàn)槲覀兙褪且鉀Q工具鏈上的問題。”不瞋這樣評價Serverless Devs。“我們在做產(chǎn)品之前,必須要先自己回答,他到底給用戶什么價值,有沒有一些獨(dú)特的東西。”
Serverless Devs最本質(zhì)的出發(fā)點(diǎn)還是希望給用戶一致的體驗(yàn)。無論用戶使用的是什么樣的云平臺,或是開源的k8s,無論是Node.js的應(yīng)用,還是java 的應(yīng)用,或者Python的應(yīng)用,Serverless Devs的目標(biāo)都是給他一個統(tǒng)一的Devops流程。這也是為了減少Serverless所謂的Vendor lock-in(廠商綁定問題)。
其次要給用戶的是一個全流程的,閉環(huán)的體驗(yàn)。比如用戶在自己最熟悉的IDE中寫java 代碼或者Node.js代碼,之后做測試、構(gòu)建、部署到不同的云平臺或者容器上,也包括灰度發(fā)布、金絲雀發(fā)布,及后期的監(jiān)控。Serverless Devs希望給用戶提供一個全生命周期的完整環(huán)節(jié)的工具。
第三,必須開源開放,這也符合阿里“三位一體”的原則。
Serverless Devs 包含 Serverless Devs Tool (Serverless 開發(fā)者工具)和 Serverless Devs App Store(Serverless 應(yīng)用中心)。Serverless Devs Tool 是一款可以讓 Serverless 開發(fā)者的開發(fā)和運(yùn)維效率翻倍的工具。通過使用該工具,開發(fā)者可以更簡單、更快速的進(jìn)行應(yīng)用創(chuàng)建、項(xiàng)目開發(fā)、測試、發(fā)布部署等,實(shí)現(xiàn)項(xiàng)目的全生命周期管理。Serverless Devs App Store 是一個集 Serverless 應(yīng)用在線搜索,一鍵部署以及資源可視化編輯于一體的應(yīng)用中心產(chǎn)品。應(yīng)用中心擁有海量的生產(chǎn)級項(xiàng)目模板,案例模板,開發(fā)者可以自由選擇,并將項(xiàng)目一鍵部署到指定的云平臺上。
后記
2020 云棲大會期間,阿里巴巴正式成立云原生技術(shù)委員會,阿里巴巴高級研究員蔣江偉擔(dān)任委員會負(fù)責(zé)人,他表示,委員會將大力推動阿里經(jīng)濟(jì)體全面云原生化,并沉淀阿里巴巴 10 多年的云原生實(shí)踐,對外賦能數(shù)百萬家企業(yè)進(jìn)行云原生改造,提升 30% 研發(fā)效率的同時降低 30% IT 成本,幫助客戶邁入數(shù)字原生時代。此次委員會的成立,也意味著阿里已經(jīng)將云原生升級為新的技術(shù)戰(zhàn)略方向。
從領(lǐng)先到普惠,阿里云正在幫助Serverless 更快、更好的落地,幫助用戶以更高效、更經(jīng)濟(jì)的方式進(jìn)行轉(zhuǎn)型,為企業(yè)客戶帶來更大的價值。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請注明原文作者和出處為51CTO.com】