實操教學(xué)|如何用Serveless3分鐘做好邀請函?



要想了解Serverless,我們需要先來梳理一下云服務(wù)架構(gòu)的前世今生。
在云計算還沒有誕生之前,你要搭建一個網(wǎng)站或者應(yīng)用,你會采用什么樣的方式呢?恐怕需要自己租服務(wù)器,自己開發(fā)各種底層工具,自己寫業(yè)務(wù)代碼:

后來,有了云服務(wù)廠商,我們可以租用云端的物理機或虛擬機,在遠程操作和部署我們的項目。這種方式就是IaaS,基礎(chǔ)設(shè)施即服務(wù)。

我們也可以更進一步,使用云端的各種底層工具來提升我們的開發(fā)效率,而我們更多地關(guān)注在自己的業(yè)務(wù)代碼。這種方式是PaaS,平臺即服務(wù)。

IaaS和PaaS,雖然不需要我們在本地管理服務(wù)器,但我們?nèi)匀恍枰h程登錄服務(wù)器去進行各種繁瑣的部署和配置。
有什么辦法,可以把程序員用戶從服務(wù)器的各種瑣碎事宜當(dāng)中完全解放出來呢?這時候我們的Serverless架構(gòu)就登場了。






云函數(shù)(Serverless Cloud Function,SCF)是騰訊云為企業(yè)和開發(fā)者們提供的無服務(wù)器執(zhí)行環(huán)境,幫助大家在無需購買和管理服務(wù)器的情況下運行代碼。開發(fā)者只需使用平臺支持的語言編寫核心代碼并設(shè)置代碼運行的條件,即可在騰訊云基礎(chǔ)設(shè)施上彈性、安全地運行代碼。
云函數(shù)的這種設(shè)計架構(gòu),又被稱為FaaS,函數(shù)即服務(wù)。






首先,我們來創(chuàng)建云存儲COS,這是騰訊云的分布式存儲服務(wù),可以用來存放邀請函的圖片資源:


接下來,我們尋找對應(yīng)的云函數(shù)模板,并根據(jù)模板創(chuàng)建我們自己的云函數(shù):



在云函數(shù)的觸發(fā)器管理中,我們可以找到云函數(shù)的公網(wǎng)訪問路徑:

云函數(shù)創(chuàng)建完,我們就可以進入到終端,利用命令行來調(diào)用這個云函數(shù),生成邀請函:

執(zhí)行云函數(shù)以后,邀請函圖片出來啦:
以上是對云函數(shù)的使用,我們?nèi)绾涡薷脑坪瘮?shù)并重新部署呢?
首先需要安裝Serverless FrameWork,這是業(yè)界非常受歡迎的無服務(wù)器應(yīng)用框架,可以幫助通過聯(lián)動云資源,迅速構(gòu)建Serverless應(yīng)用:


然后我們來下載云函數(shù)的代碼并解壓:


進入代碼,我們修改一下邀請函的字體大小和顏色:

接下來下載和復(fù)制新的邀請函背景圖:

隨后,我們把線上的serverless.yml文件內(nèi)容復(fù)制到本地,這個文件決定了云函數(shù)的各種配置:

使用sls deploy命令重新部署:


部署成功以后,我們來重新執(zhí)行一下發(fā)送邀請函的云函數(shù):

邀請函更新啦,效果如下:



最后來談一談小灰本人的感受。小灰當(dāng)年做程序員的時候,業(yè)界的主流技術(shù)還處于分布式容器的時代。盡管Docker等工具已經(jīng)為我們的線上運維帶來了便利,但我們在開發(fā)、測試、上線的過程中,仍然會為各種各樣的環(huán)境問題帶來困擾,而不能全身心投入到業(yè)務(wù)代碼的研發(fā)當(dāng)中。
最近這幾天,騰訊舉辦了Techo Day技術(shù)開放日活動,在活動上,也針對Serverless服務(wù)做了主題分享及動手實驗。
騰訊云的技術(shù)小哥哥生動又耐心地為我們講述了Serverless和云函數(shù)的原理,基于Serverless服務(wù)的大數(shù)據(jù)處理任務(wù)解決思路和基于云函數(shù)的“事件函數(shù)”、“觸發(fā)器”的業(yè)務(wù)設(shè)計思路,還有關(guān)于通過云函數(shù)web托管的方式自定義邀請函的動手實操,真的令小灰受益匪淺。

關(guān)于課程其他產(chǎn)品更多的內(nèi)容,騰訊整理了一份《騰訊云輕量級工具指南》,對于有這種邀請函批量設(shè)計,或者其他輕量化開發(fā)需求的開發(fā)者,可以點擊“閱讀全文”領(lǐng)取,我個人覺得還是干貨滿滿的!


