Serverless作為近幾年興起的新概念,相信不少人都對其有所耳聞,但究竟什么是Serverless?它真的不需要服務(wù)器了嗎?傳統(tǒng)業(yè)務(wù)到底如何和Serverless適配呢?
本文將通過WordPress建站場景,為您介紹基于Serverless的低成本、高性能的全新建站方案。
01.
Serverless介紹
Serverless顧名思義,即為“無服務(wù)器”,這里的“無服務(wù)器”并不是真正不需要服務(wù)器,而是將服務(wù)器的維護(hù)交給云廠商處理,開發(fā)者只需要管理業(yè)務(wù)層代碼,并且按照計(jì)算使用量計(jì)費(fèi),大大節(jié)省了運(yùn)維成本。以下圖為例,傳統(tǒng)部署方案,開發(fā)者必須先預(yù)估業(yè)務(wù)流量,并根據(jù)業(yè)務(wù)流量最大值購買服務(wù)器,往往會導(dǎo)致預(yù)估偏差導(dǎo)致流量溢出或資源浪費(fèi)的問題。
Serverless方案則類似于網(wǎng)約車,根據(jù)請求量,自動進(jìn)行擴(kuò)縮容,真正實(shí)現(xiàn)資源都按照請求來計(jì)費(fèi),不使用不付費(fèi)。
目前,Serverless的應(yīng)用場景廣泛,大部分傳統(tǒng)業(yè)務(wù)均可以在Serverless云函數(shù)上完美支持,接下來將以部署一個WordPress網(wǎng)站為例,介紹HTTP服務(wù)在Serverless架構(gòu)的具體實(shí)現(xiàn)。
02.
Serverless WordPress架構(gòu)介紹
首先我們看一下傳統(tǒng)的PHP服務(wù)架構(gòu):
用戶請求通過Apache或Ngnix Web服務(wù)器,經(jīng)php-fpm模塊傳遞給服務(wù)端解析,最后然后將解析后的結(jié)果返回給用戶,如下圖所示:
而在云函數(shù)架構(gòu)下,這套邏輯通過函數(shù)的不同模塊實(shí)現(xiàn):
WordPress原生代碼掛載在CFS上,用戶的請求經(jīng)過API網(wǎng)關(guān)到達(dá)函數(shù)環(huán)境,函數(shù)通過內(nèi)置的PHP運(yùn)行環(huán)境完成請求的轉(zhuǎn)發(fā)和處理,將獲取的WordPress解析結(jié)果返回給用戶,如下圖所示:
·傳統(tǒng)服務(wù)中的Apache/Nginx服務(wù)器模塊,由函數(shù)內(nèi)置環(huán)境模塊完成,用戶不需要再進(jìn)行配置;
·PHP環(huán)境,可以在函數(shù)運(yùn)行環(huán)境內(nèi),通過Custom Runtime打包自己的環(huán)境和代碼一起上傳部署;
·php-fpm模塊由PHP模塊替代,由于云函數(shù)為單實(shí)例單并發(fā),多個請求可自動擴(kuò)縮容,無需通過php-fpm進(jìn)行進(jìn)程管理;
·Location轉(zhuǎn)發(fā)管理,由用戶函數(shù)handler.php實(shí)現(xiàn),handler.php文件和WordPress原生代碼一起掛載在CFS上;
03.
Serverless WordPress方案優(yōu)勢
和傳統(tǒng)Web應(yīng)用部署方案對比如下:
對比而言,云函數(shù)建站方案主要優(yōu)勢如下:便宜、簡單,對于中長尾的低負(fù)載業(yè)務(wù),可以做到無請求時不計(jì)費(fèi),自帶彈性伸縮、容災(zāi)能力。
04.
Serverless WordPress部署實(shí)踐
目前,您可以通過騰訊云Serverless應(yīng)用控制臺或CODING Pages網(wǎng)站托管服務(wù),一鍵創(chuàng)建WordPress應(yīng)用,將自動為您創(chuàng)建以下資源:
Serverless應(yīng)用控制臺部署
1.進(jìn)入Serverless應(yīng)用控制臺,點(diǎn)擊「新建應(yīng)用」按鈕,選擇「應(yīng)用模版創(chuàng)建」,填入您的應(yīng)用名稱,并選擇「WordPress框架」創(chuàng)建卡片;
控制臺鏈接:https://console.cloud.tencent.com/sls?from=wx
2.點(diǎn)擊「創(chuàng)建」,自動進(jìn)入應(yīng)用部署日志頁面,此過程通常需要90s左右,請耐心等候;
3.部署完成后,可以在應(yīng)用詳情頁登錄您的WordPress網(wǎng)站,并實(shí)現(xiàn)頁面監(jiān)控,綁定自定義域名等后續(xù)操作;
CODING Pages網(wǎng)站托管服務(wù)部署
除了Serverless控制臺外,目前CODING Pages網(wǎng)站托管服務(wù)也已經(jīng)支持WordPress一鍵部署,如果您已有CODING賬號,歡迎體驗(yàn)。