1. 程式人生 > >無伺服器架構的三個意義

無伺服器架構的三個意義

如果將如今網際網路體驗中最方便實用的那一部分去掉,那麼留下來的基本就是 客戶端-服務端(client-server)模式了。這一個模式在網際網路建立初期就已經在使用了,直到目前都沒有太大的變化,也就是說,這個模式仍然在為我們服務。

那麼,當人們談論 無伺服器(Serverless)架構的時候,到底是指什麼呢?其實,無伺服器架構並不是說不使用伺服器了。恰恰相反,客戶端-服務端模式仍然在其中發揮著重要的作用。

無伺服器架構實際上指的是能夠讓開發者在不需要關心伺服器上架、為作業系統打補丁、建立容器映象這些工作的情況下,就能夠完成編碼、部署和建立應用這一整套流程的架構。

無伺服器架構的三個重要意義

  1. 一些缺乏開發經驗的人員現在要參與到開發工作中來了。無伺服器架構能夠讓他們儘量只學習必要的工作內容,把更多的時間放在更具創造性的開發工作中。
  2. 開發者不再需要重複造輪子。執行和維護伺服器、為作業系統打補丁、建立容器等這一系列工作,都可以由更專業的無伺服器架構提供商來完成。
  3. 最現實的一點是,如果不使用無伺服器架構,那麼在伺服器管理方面,總需要有一個作最終決策的人。當伺服器發生崩潰時,或是需要在伺服器上執行某些操作時,總是需要這樣一個統領全域性的人來作出決策。因此最佳的方案是使用無伺服器架構。

什麼時候該用或者不該用無伺服器架構?

聽起來無伺服器架構是個好東西。但事實上,無伺服器架構並不是萬能的,在使用之前還需要考慮以下這些因素:

  1. 成本
  2. 使用範圍
  3. 時間
  4. 控制方式

其中值得注意的是控制方式。現在已經有一些專案為開發者提供了操作和控制無伺服器架構計算環境的工具了, Apache OpenWhisk 就是其中之一。

為什麼要將無伺服器架構開源?

關於這方面的更多內容,可以觀看無伺服器架構方面的專家 Saron Yitbarek 在 Command Line Heroes 節目中的訪談。