您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何進行 Serverless CI/CD 自動化部署,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
將為大家講解 Serverless 工作原理、架構優勢和 Serverless 應用的開發流程,以及如何使用 Serverless CI/CD 能力進行自動化部署。
下圖一張邏輯架構圖,最上面application,下面是系統資源。我們可以通過虛擬機、容器、數據庫、存儲等來提供系統資源。同時,我們需要對這些系統資源進行維護,比如資源申請、環境搭建、容災、擴縮容等。
Serverless 是什么呢?Serverless 就是把底層的這些資源以及對這些資源的運維都交給云廠商來維護、這些資源對業務來說是黑盒的,業務只需要關注自己業務邏輯的開發即可。
這種架構思想和方法就是 Serverless。
Serverless 直譯過來叫無服務器,實際上他不是真的不需要服務器,只不過服務器由云廠商來維護。Serverless 是一種軟件系統架構思想和方法,不是軟件框架、類庫或者工具,它的核心思想:無須關注底層資源,比如:CPU、內存和數據庫等,只需關注業務開發。
Severless 的架構如下圖所示。客戶端請求將發送的 API 網關,由云函數進行處理,調用底層資源進行返回。利用云函數自動伸縮的優勢,免除用戶運維的煩惱。
使用 Severless 開發應用,能消除傳統海量服務器組件需求,降低開發和運維復雜性。Serverless 按需調用,按需伸縮,按使用收費,降低啟動成本。由于底層資源調配工作都由云廠商解決,用戶只需專注業務邏輯開發即可。
CI/CD 是 持續集成(Continuous Integration)和持續部署(Continuous Deployment)的簡稱。指在開發過程中自動執行一系列腳本來減低開發引入 bug 的概率,在新代碼從開發到部署的過程中,盡量減少人工的介入。
Serverless CI/CD 基于 CI/CD 持續集成的 pipeline 機制,實現用戶開發部署的全自動化,提升開發效率。
開發一個 serverless 應用,需要進行以下步驟:
引入組件:引入騰訊云封裝好的 severless 組件(如 tencent-express),可以快速進行開發。
配置 yml 文件:yml 文件是為了定義您的應用組織資源配置。不同組件對應不同的 yml 配置。
業務開發:進行用戶自身業務的開發、調試、測試。
部署上線:把測試通過的功能發布上線。為了業務的穩定,建議進行灰度發布。
更多詳細開發部署指南參考官網《 灰度發布與環境隔離 》
由于 serverless 應用開發過程中調試是直接調用云函數等資源,因此每次修改代碼后都需要執行部署命令,反復執行命令行比較繁瑣。環境的隔離與灰度發布如果人工配置容易產生錯誤,因此需要 CI/CD 能力支持。
前面講到 CI/CD 通過在開發過程中自動執行一系列腳本來減低開發引入 bug 的概率,在新代碼從開發到部署的過程中,盡量減少人工的介入。
使用 Serverless CI/CD,主要是利用 CI/CD 已有的優勢,讓 serverless 開發部署自動化,提高開發的效率,減少人工產生的出錯。
以上就是如何進行 Serverless CI/CD 自動化部署,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。