之前了解過 Tencent Serverless Toolkit for VS Code 的IDE 插件,剛好借此使用下,相較于之前沒有 IDE 插件,編碼在本地,但是 debug 非常繁瑣,需要上傳代碼到云端控制臺操作,現在有了 IDE 插件從本地編碼測驗上傳部署一條路,快速體驗下此為 SCF 添翼的神器,
接下來看看 Serverless + CVM 實戰
專案背景
目前有客戶有需求對數量眾多的測驗環境想通過非作業時間進行關機操作,同時騰訊提供關機不收費的 CVM 操作,一定程度可以節省 IT 開支,每天早上作業時間提前進行開機,如此如果人工來操作重復周期性的操作顯然非常不合適,但是共有云目前沒有提供這種對服務器定時開關機操作的產品功能,只能利用其 API 來進行,但是需要一臺具備公網能力的服務器來發起API呼叫請求,此時剛好利用 Serverless 的 Tencent Serverless Toolkit for VS Code 小試牛刀,本次示例利用騰訊云函式(SCF)簡單示例下 Serverless 的一小部分功能,
之前由于沒有IDE,將程式部署到SCF后運行不便與除錯,現在有了神器Tencent Serverless Toolkit for VS Code,簡單方便的本地配置,快速拉取云端函式并可以在本地模擬COS,CMQ,API網關等出發事件運行還書,本地化的開發,除錯,可謂補齊了SCF不便于代碼上傳除錯的缺點,利用此插件可在本地快捷除錯代碼,一鍵上傳程式,為SCF如虎添翼,
專案撰寫
1. 根據模版創建專案

2. 填寫專案名稱
填寫專案名稱完成專案創建

3. 了解專案結構
在專案模版中,主要關注index.py 和template.yaml
-
Index.py 為業務邏輯代碼
-
Template.yaml 為騰訊云SCF配置相關,如下為我的定時任務配置
為提高安全性其中由于使用的了騰訊云的secretid/secretkey,將其作為變數放置在配置中,業務代碼從配置中獲取,
其中也配置了超時時間以及定時cron
Resources:
default:
Type: TencentCloud::Serverless::Namespace
cvm_oper:
Properties:
CodeUri: .
Description: cvm oper
Environment:
Variables:
secretid: AKIDZyGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
secretkey: kFUTDkxxxxxxxxxxxxxxxxxxxxxxxx
Events:
stop_cvm:
Properties:
CronExpression: 0 59 11 * * MON-FRI *
Enable: true
Type: Timer
Handler: index.main_handler
MemorySize: 128
Runtime: Python3.6
Timeout: 10
VpcConfig:
SubnetId: ''
VpcId: ''
Type: TencentCloud::Serverless::Function

撰寫代碼
1. 代碼程式
在此我利用騰訊云的CVM的SDK進行了云服務器的停止與開機操作,在此簡單實體下cvm啟動

其中有event,正式環境可以為其傳入自己業務需求的引數來處理具體業務邏輯,
2. 本地測驗
在本地 IDE 進行運行測驗

查看以及運行成功,服務器也正常啟動

上傳專案到云端
1. 上傳到云端進行測驗

2. 云端查看專案



云端測驗

查看運行日志

至此我們以及利用Tencent Serverless Toolkit for VS Cod完成了簡單的專案撰寫部署,在此只是拋磚引玉,實際代碼需要考慮到傳入引數,多專案協調部署等,
思考
從裸金屬物理服務器到虛擬化平臺,再到云服務器,現在到容器技術,Serverless 以函式為擴展單位,虛擬化運行時環境 (Runtime),是現有計算資源的最小單位,具有完全自動、一鍵部署、高度可擴展等特點,開發者在構建和運行應用時無需管理服務器等基礎設施,應用被解耦為細粒度的函式,函式是部署和運行的基本單位,用戶只為實際使用的資源付費,
擁有了 Tencent Serverless Toolkit for VS Code,對于 SCF 如魚得水,本地化代碼撰寫測驗上傳部署一條龍,配置也托管在代碼中,無需在登錄云平臺進行配置,config as code 模式大大提升了 SCF 的效率,簡化操作,適用于開發人員,
在此只是最簡單的試用了一下 SCF,其更強大的功能及優勢在云計算的潮流下后期會越顯明顯,適用場景眾多,業務進行拆分,分工更加精細,截取官網的一張最常用的移動與 WEB 應用圖,業務各模塊分離,函式具有彈性伸縮,前端入口為各業務模塊的 API 網關,配合 CDB/COS 完成總體架構,
參考鏈接:https://cloud.tencent.com/act/event/vscode
One More Thing
3 秒你能做什么?喝一口水,看一封郵件,還是 —— 部署一個完整的 Serverless 應用?
復制鏈接至 PC 瀏覽器訪問:https://serverless.cloud.tencent.com/deploy/express
3 秒極速部署,立即體驗史上最快的 Serverless HTTP 實戰開發!
傳送門:
- GitHub: github.com/serverless
- 官網:serverless.com
歡迎訪問:Serverless 中文網,您可以在 最佳實踐 里體驗更多關于 Serverless 應用的開發!
推薦閱讀:《Serverless 架構:從原理、設計到專案實戰》
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/79616.html
標籤:其他
上一篇:一文了解HAProxy主要特性
下一篇:僅需4步,輕松升級K3s集群!
