本文將為大家講解 Serverless 作業原理、架構優勢和 Serverless 應用的開發流程,以及如何使用 Serverless CI/CD 能力進行自動化部署,
本次和大家分享的提綱如下:
-
什么是 Serverless CI/CD?
- Serverless 介紹
- Serverless 架構
- CI/CD 與 Serverless CI/CD
-
Serverless CI/CD 應用
- Serverless 應用開發流程
- Serverless CI/CD 優勢
-
Serverless CI/CD 實戰
- 基于 Coding CI/CD 的自動化部署
- 基于 Github CI/CD 的自動化部署
什么是 Serverless CI/CD?
1. Serverless 介紹
下圖一張邏輯架構圖,最上面application,下面是系統資源,我們可以通過虛擬機、容器、資料庫、存盤等來提供系統資源,同時,我們需要對這些系統資源進行維護,比如資源申請、環境搭建、容災、擴縮容等,

Serverless 是什么呢?Serverless 就是把底層的這些資源以及對這些資源的運維都交給云廠商來維護、這些資源對業務來說是黑盒的,業務只需要關注自己業務邏輯的開發即可,
這種架構思想和方法就是 Serverless,

Serverless 直譯過來叫無服務器,實際上他不是真的不需要服務器,只不過服務器由云廠商來維護,Serverless 是一種軟體系統架構思想和方法,不是軟體框架、類別庫或者工具,它的核心思想:無須關注底層資源,比如:CPU、記憶體和資料庫等,只需關注業務開發,
2. Serverless 架構
Severless 的架構如下圖所示,客戶端請求將發送的 API 網關,由云函式進行處理,呼叫底層資源進行回傳,利用云函式自動伸縮的優勢,免除用戶運維的煩惱,

使用 Severless 開發應用,能消除傳統海量服務器組件需求,降低開發和運維復雜性,Serverless 按需呼叫,按需伸縮,按使用收費,降低啟動成本,由于底層資源調配作業都由云廠商解決,用戶只需專注業務邏輯開發即可,
3. CI/CD 與 Serverless CI/CD
CI/CD 是 持續集成(Continuous Integration)和持續部署(Continuous Deployment)的簡稱,指在開發程序中自動執行一系列腳本來減低開發引入 bug 的概率,在新代碼從開發到部署的程序中,盡量減少人工的介入,
Serverless CI/CD 基于 CI/CD 持續集成的 pipeline 機制,實作用戶開發部署的全自動化,提升開發效率,

Serverless CI/CD 應用
1. Serverless 應用開發流程
開發一個 serverless 應用,需要進行以下步驟:
- 引入組件:引入騰訊云封裝好的 severless 組件(如 tencent-express),可以快速進行開發,
- 配置 yml 檔案:yml 檔案是為了定義您的應用組織資源配置,不同組件對應不同的 yml 配置,
- 業務開發:進行用戶自身業務的開發、除錯、測驗,
- 部署上線:把測驗通過的功能發布上線,為了業務的穩定,建議進行灰度發布,
更多詳細開發部署指南參考官網《 灰度發布與環境隔離 》

由于 serverless 應用開發程序中除錯是直接呼叫云函式等資源,因此每次修改代碼后都需要執行部署命令,反復執行命令列比較繁瑣,環境的隔離與灰度發布如果人工配置容易產生錯誤,因此需要 CI/CD 能力支持,
2. Serverless CI/CD 優勢
前面講到 CI/CD 通過在開發程序中自動執行一系列腳本來減低開發引入 bug 的概率,在新代碼從開發到部署的程序中,盡量減少人工的介入,
使用 Serverless CI/CD,主要是利用 CI/CD 已有的優勢,讓 serverless 開發部署自動化,提高開發的效率,減少人工產生的出錯,
附:Demo 原始碼地址
One More Thing
立即體驗騰訊云 Serverless Demo,獲取免費試用額度 ?? serverless/start
歡迎訪問:Serverless 中文網!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/73631.html
標籤:其他
上一篇:求大佬救救小白
