分布式云時(shí)代,如何高效利用云計(jì)算資源?
數(shù)字化轉(zhuǎn)型的加快,讓越來(lái)越多的用戶都能獲取所需的計(jì)算資源,在云計(jì)算向分布式云時(shí)代演進(jìn)的過(guò)程中,如何更加高效地管理和使用計(jì)算資源成為關(guān)鍵問(wèn)題所在。
打破傳統(tǒng)架構(gòu)模式,降低成本并簡(jiǎn)化體系結(jié)構(gòu),用全新的思維更好地滿足用戶需求,函數(shù)計(jì)算這一無(wú)服務(wù)器計(jì)算(Serverless Computing)成為頭部廠商分布式云、云原生方面的關(guān)注焦點(diǎn)。
IT意義上的函數(shù)計(jì)算
定義:Serverless應(yīng)用是分布式云原生的重要特征,由函數(shù)計(jì)算驅(qū)動(dòng)的全托管Serverless計(jì)算服務(wù)是未來(lái)分布式云的重要特點(diǎn)。
云原生基金會(huì)(CNCF)認(rèn)為:無(wú)服務(wù)器計(jì)算是指開發(fā)者在構(gòu)建和運(yùn)行應(yīng)用時(shí)無(wú)需管理服務(wù)器等基礎(chǔ)設(shè)施。應(yīng)用被解耦為細(xì)粒度的函數(shù),函數(shù)是部署和運(yùn)行的基本單位;用戶只為實(shí)際使用的資源付費(fèi)。可見,serverless 計(jì)算能夠幫助應(yīng)用開發(fā)者擺脫服務(wù)器等底層基礎(chǔ)設(shè)施管理的負(fù)擔(dān),專注于業(yè)務(wù)層的創(chuàng)新。
定位:在未來(lái)5G/FTTH/WIFI6三千兆網(wǎng)絡(luò)環(huán)境下邊緣計(jì)算帶寬瓶頸獲得突破,未來(lái)分布式云算力或許是按每月函數(shù)調(diào)用次數(shù)來(lái)購(gòu)買云服務(wù),改變傳統(tǒng)算力按核數(shù)或個(gè)數(shù)來(lái)購(gòu)買的商業(yè)模式。
無(wú)服務(wù)器計(jì)算的發(fā)展歷史
Serverless 不是一個(gè)新概念,計(jì)算、存儲(chǔ)等領(lǐng)域的很多服務(wù)都是 serverless 的模式。用戶不需要關(guān)心數(shù)據(jù)是如何存儲(chǔ)在底層服務(wù)器上,只為實(shí)際使用的存儲(chǔ)資源付費(fèi)。
統(tǒng)計(jì)數(shù)據(jù)表明,近年來(lái),各個(gè)云服務(wù)商推出的新服務(wù)/新功能,超過(guò)70% 都是 serverless 形態(tài)。隨著云端 serverless 類型的服務(wù)種類越來(lái)越豐富,用戶能夠快速使用多種服務(wù)構(gòu)建彈性高可用的云原生應(yīng)用。因此,serverless 計(jì)算正變得越來(lái)越流行。
2019 年,Serverless 就曾被 Gartner 稱為最有潛力的云計(jì)算技術(shù)發(fā)展方向,并被賦予是必然性的發(fā)展趨勢(shì)。Serverless 從底層開始變革計(jì)算資源的形態(tài),為軟件架構(gòu)設(shè)計(jì)與應(yīng)用服務(wù)部署帶來(lái)了新的設(shè)計(jì)思路。
O'Reilly的一份調(diào)研數(shù)據(jù)表明,Serverless具備相當(dāng)高的市場(chǎng)接受度,且市場(chǎng)前景廣泛:
函數(shù)計(jì)算的優(yōu)勢(shì)
在傳統(tǒng) Serverful 架構(gòu)下,部署一個(gè)應(yīng)用需要購(gòu)買服務(wù)器,部署操作系統(tǒng),搭建開發(fā)環(huán)境,編寫代碼,構(gòu)建應(yīng)用,部署應(yīng)用,配置負(fù)載均衡機(jī)制,搭建日志分析與監(jiān)控系統(tǒng)。
應(yīng)用上線后,繼續(xù)監(jiān)控應(yīng)用的運(yùn)行情況,要管理云主機(jī)、操作系統(tǒng)接入控制及補(bǔ)丁,還需關(guān)心CPU數(shù)量、內(nèi)存大小、IP地址等;為應(yīng)對(duì)業(yè)務(wù)量的波峰波谷變化,還必須提前預(yù)配置彈性伸縮負(fù)載均衡等策略。
而為了節(jié)省成本以及資源配置最優(yōu)化,開發(fā)者或運(yùn)維人員必須在業(yè)務(wù)運(yùn)行過(guò)程中根據(jù)實(shí)際情況不斷調(diào)整彈性伸縮負(fù)載均等策略,以避免閑時(shí)資源太多。這個(gè)過(guò)程耗費(fèi)大量人力成本與時(shí)間成本,而資源配置卻未必能時(shí)刻達(dá)到最優(yōu)。
而在 Serverless 架構(gòu)下,開發(fā)者只需要關(guān)注應(yīng)用的開發(fā)構(gòu)建和部署,無(wú)需關(guān)心服務(wù)器相關(guān)操作與運(yùn)維,在函數(shù)計(jì)算架構(gòu)下,開發(fā)者只需要編寫業(yè)務(wù)代碼并監(jiān)控業(yè)務(wù)運(yùn)行情況。
這將開發(fā)者從繁重的運(yùn)維工作中解放出來(lái),把精力投入到更有意義的業(yè)務(wù)開發(fā)上。
實(shí)時(shí)彈性伸縮也是函數(shù)計(jì)算的核心優(yōu)勢(shì)之一,當(dāng)用戶負(fù)載出現(xiàn)波峰時(shí),系統(tǒng)能實(shí)時(shí)擴(kuò)張資源,平滑應(yīng)對(duì)峰值訪問(wèn)。函數(shù)計(jì)算系統(tǒng)會(huì)監(jiān)控用戶的負(fù)載變化,各組件均能夠根據(jù)用戶負(fù)載動(dòng)態(tài)伸縮,分配給用戶匹配事件處理對(duì)應(yīng)的能力。
由于函數(shù)計(jì)算采用分布式集群化部署,支持多可用區(qū),如果某個(gè)可用區(qū)因自然災(zāi)害或電力故障導(dǎo)致癱瘓,函數(shù)計(jì)算會(huì)迅速切換到同區(qū)域其他可用區(qū)的基礎(chǔ)設(shè)施運(yùn)行函數(shù),確保服務(wù)高可用,因此,函數(shù)計(jì)算還具備穩(wěn)定高可用性。
函數(shù)計(jì)算在不同場(chǎng)景下可以使用不同的計(jì)量模式,按照實(shí)際使用資源計(jì)費(fèi),最大化提高資源利用率,有效幫助使用者降低成本。
函數(shù)計(jì)算的應(yīng)用場(chǎng)景
第一,事件觸發(fā)類場(chǎng)景,如定制圖片, 定制事件,loT中的低頻請(qǐng)求,音頻轉(zhuǎn)換文字處理,自動(dòng)程序消息傳遞,基于定時(shí)器處理/定時(shí)器任務(wù),日志處理, SaaS事件處理,批量任務(wù)。
第二,流量突發(fā)類場(chǎng)景,如彈性擴(kuò)展應(yīng)對(duì)突發(fā)流量,轉(zhuǎn)碼和流量擴(kuò)容,多媒體(視頻、圖片等)數(shù)據(jù)備份,圖片上傳、裁剪、分享等。
第三,處理大數(shù)據(jù)類場(chǎng)景,例如數(shù)據(jù)驅(qū)動(dòng)后續(xù)分發(fā),實(shí)時(shí)文件處理, 實(shí)時(shí)數(shù)據(jù)流處理,數(shù)據(jù)庫(kù)數(shù)據(jù)提取、轉(zhuǎn)換、加載。
第四,后端類場(chǎng)景,例如Web應(yīng)用程序、loT后端、移動(dòng)后端、 人工觸發(fā)。
函數(shù)計(jì)算可以大幅減低云計(jì)算的使用成本并提高云計(jì)算的使用效率,作為這個(gè)云計(jì)算市場(chǎng)向下一個(gè)階段的進(jìn)化產(chǎn)物,函數(shù)計(jì)算將真正幫助企業(yè)實(shí)現(xiàn)只專注于業(yè)務(wù)和構(gòu)建應(yīng)用程序而不必?fù)?dān)心IT基礎(chǔ)設(shè)施,這也將成為云服務(wù)商未來(lái)競(jìng)爭(zhēng)的關(guān)鍵。