Serverless 作爲近幾年興起的新概念,相信不少人都對其有所耳聞,但究竟什麼是 Serverless?它真的不需要服務器了嗎?傳統業務到底如何和 Serverless 適配呢?
本文將通過 WordPress 建站場景,爲您介紹基於 Serverless 的低成本、高性能的全新建站方案。
01. Serverless 介紹
Serverless 顧名思義,即爲 “無服務器”,這裏的 “無服務器” 並不是真正不需要服務器,而是將服務器的維護交給雲廠商處理,開發者只需要管理業務層代碼,並且按照計算使用量計費,大大節省了運維成本。 以下圖爲例,傳統部署方案,開發者必須先預估業務流量,並根據業務流量最大值購買服務器,往往會導致預估偏差導致流量溢出或資源浪費的問題。
Serverless 方案則類似於網約車,根據請求量,自動進行擴縮容,真正實現資源都按照請求來計費,不使用不付費。
目前,Serverless 的應用場景廣泛,大部分傳統業務均可以在 Serverless 雲函數上完美支持,接下來將以部署一個 WordPress 網站爲例,具體 Http 服務在 Serverless 架構的具體實現。
02. 架構介紹
首先我們看一下傳統的 PHP 服務架構:
- 用戶請求通過 Apache 或 Ngnix Web 服務器,經 php-fpm 模塊傳遞給服務端解析,最後然後將解析後的結果返回給用戶,如下圖所示:
而在雲函數架構下,這套邏輯通過函數的不同模塊實現:
- WordPress 原生代碼掛載在 CFS 上,用戶的請求經過 API 網關到達函數環境,函數通過內置的 PHP 運行環境完成請求的轉發和處理,將獲取的 WordPress 解析結果返回給用戶,如下圖所示:
- 傳統服務中的 Apache/Nginx 服務器模塊,由函數內置環境模塊完成,用戶不需要再進行配置;
- PHP 環境,可以在函數運行環境內,通過 Custom Runtime 打包自己的環境和代碼一起上傳部署;
- php-fpm 模塊由 PHP 模塊替代,由於雲函數爲單實例單併發,多個請求可自動擴縮容,無需通過 php-fpm 進行進程管理;
- Location 轉發管理,由用戶函數 handler.php 實現,handler.php 文件和 WordPress 原生代碼一起掛載在 CFS 上;
03. 方案優勢
和傳統 Web 應用部署方案對比如下:
傳統虛擬機部署 | Serverless WordPress | |
---|---|---|
部署步驟 | 購買機器 --> 搭建 PHP 環境 --> 配置數據庫 --> 安裝應用。 | 選擇模版 --> 直接部署,自動創建所有云上服務資源。 |
成本 | 預付費,需要提前購買機器。 | 按量計費,只根據使用量付費,一個日訪問量 100 的個人博客網站,運行成本最低不到 10 元/月。 |
性能 | 服務器和數據庫在同一臺虛擬機上部署, 缺少主備容災。 | 基於底層各個雲資源完成部署,數據庫和應用分離,同時各個服務均支持容災備份。 |
對比而言,雲函數建站方案主要優勢如下:便宜、簡單,對於中長尾的低負載業務,可以做到無請求時不計費;自帶彈性伸縮、容災能力。
04. 部署實踐
目前,您可以通過騰訊雲 Serverless 應用控制檯或 CODING Pages 網站託管服務,一鍵創建 WordPress 應用,將自動爲您創建以下資源:
模塊 | 說明 |
---|---|
雲函數 SCF | 負責 Serverless WordPress 的接入層實現,從而運行 WordPress。 |
API 網關 | WordPress 的對外入口,實現了 RESTful API。 |
文件存儲 CFS | WordPress 的 Serverless 存儲倉庫。 |
雲原生數據庫 TDSQL-C Serverless | 通過創建 TDSQL-C Serverless (原 CynosDB) 的 MySQL 類型數據庫,實現數據庫按量計費,自動擴縮容。 |
私有網絡 VPC | 內網打通SCF雲函數、CFS、TDSQL-C Serverless之間的網絡,保障網絡隔離。 |
- Serverless 應用控制檯部署
-
進入 Serverless 應用控制檯,點擊 「新建應用」 按鈕,選擇 「應用模版創建」,填入您的應用名稱,並選擇 **「WordPress 框架」**創建卡片;
- 點擊 「創建」,自動進入應用部署日誌頁面,此過程通常需要 90s 左右,請耐心等候;
- 部署完成後,可以在應用詳情頁登錄您的 WordPress 網站,並實現頁面監控,綁定自定義域名等後續操作;
- CODING Pages 網站託管服務部署
除了 Serverless 控制檯外,目前 CODING Pages 網站託管服務也已經支持 WordPress 一鍵部署,如果您已有 CODING 賬號,歡迎體驗。
Serverless 建站驚喜福利大派送!
建站計算資源雲函數 SCF、文件存儲 CFS、雲原生數據庫 TDSQL-C、內容分發 CDN、API 網關資源月月送,點擊查看 領取驚喜福利!
One More Thing
立即體驗騰訊雲 Serverless Demo,領取 Serverless 新用戶禮包 👉 騰訊雲 Serverless 新手體驗
歡迎訪問:Serverless 中文網!