什麼是無伺服器計算?|無伺服器定義

無伺服器計算是根據已使用狀態提供後端服務的方法。雖然仍會使用伺服器,但會向透過無伺服器廠商取得後端服務的公司根據使用情況收費,而非根據固定的頻寬量或伺服器數量。

Share facebook icon linkedin icon twitter icon email icon

無伺服器

學習目標

閱讀本文後,您將能夠:

  • 定義無伺服器計算
  • 概述使用無伺服器架構的優勢

什麼是無伺服器計算?

無伺服器計算是根據已使用狀態提供後端服務的方法。無伺服器架構允許使用者撰寫和部署程式碼,不必擔心基礎結構。會根據計算向透過無伺服器廠商取得後端服務的公司收費,這些公司不必保留和支付固定的頻寬量或伺服器數量,即服務是自動調整規模。請注意,雖然稱為無伺服器,但仍會使用實體伺服器,不過開發人員不需要注意。

在網路時代早期,任何想要建置網頁應用程式的人都必須擁有執行伺服器所需的實體硬體,這是繁瑣又昂貴的一件事。

接著出現了雲端,藉此可以遠端租用固定的伺服器數量或伺服器空間量。租用這些固定伺服器空間單位的開發人員和公司通常會購買較多的量,以確保流量或活動的高峰期不會超過每月限制並導致應用程式的服務中斷。這表示,許多付費的伺服器空間通常是浪費掉了。雲端廠商採用了自動調整規模模型,以解決這個問題,但即使使用了自動調整規模,不必要的活動高峰期 (例如 DDoS 攻擊) 最終也會讓人付出非常昂貴的代價。

無伺服器的優勢

無伺服器計算允許開發人員以彈性的「隨用隨付」方式購買後端服務,代表開發人員只需要支付使用的服務。這就像從每月固定限額的手機數據方案,改成僅根據實際使用的每位元組數據量來收費。

「無伺服器」一詞有些誤導,因為仍然有伺服器提供這些後端服務,但所有伺服器空間和基礎結構問題都由廠商處理。無伺服器代表開發人員可以專心工作,完全不必擔心伺服器問題。

什麼是後端服務?前端和後端有什麼差異?

應用程式開發通常分為兩個領域:前端和後端。前端是使用者看見並互動的應用程式部分,例如視覺版面配置。後端是使用者看不見的部分:這包括應用程式檔案所在的伺服器,以及使用者資料和商務邏輯所在的資料庫。

應用程式的前端與後端比較

例如,想像一下銷售音樂會票券的網站。使用者在瀏覽器視窗中輸入請求後,瀏覽器會將請求傳送至後端伺服器,後端伺服器會以網站資料回應。然後使用者將會看見網站前端,其中包括文字、影像以及讓使用者填寫的表單欄位。接著使用者可以與前端的表單欄位之一互動,以搜尋最愛的音樂活動。使用者按一下「提交」後,會觸發另一個傳送至後端的請求。後端程式碼會檢查其資料庫,以查看此名稱的表演者是否存在,如果存在,還會查看下次表演時間,以及剩下多少票券。然後後端會將該資料傳回前端,前端將會以使用者可讀的方式顯示結果。同樣地,當使用者建立帳戶並輸入財務資訊以購買票券時,就會發生另一個在前端與後端之間往返的通訊。

無伺服器計算可以提供哪一種後端服務?

大部分的無伺服器提供者都向客戶提供資料庫和儲存服務,許多提供者也有功能即服務 (FaaS) 平台,如同 Cloudflare Workers。這些平台可以在邊緣執行程式碼物件,不需要儲存任何資料。

無伺服器計算有哪些優勢?

  • 低成本 - 無伺服器計算通常非常合乎成本效益,因為傳統的後端服務 (伺服器分配) 雲端提供者經常造成使用者支付未使用的空間或閒置的 CUP 時間。
  • 簡化的可擴展性 - 使用無伺服器架構的開發人員不必擔心擴展程式碼的原則。伺服器廠商會按需求處理所有規模調整。
  • 簡化的後端程式碼 - 透過 FaaS,開發人員可以建立簡單的功能,獨立執行單一用途,例如進行 API 呼叫。
  • 更快的處理時間 - 無伺服器架構可以大幅減少上市之前的準備時間。開發人員不需要透過複雜的部署流程來實施錯誤修正和新功能,而可以逐步新增和修改程式碼。