什麼是無伺服器運算
把伺服器的準備、數量管理、作業系統更新等交給雲端業者,使用者不必意識這些就能執行應用程式的形態。代表是 FaaS(Function as a Service),只在要求或事件到來時執行函式,依執行次數、時間與記憶體量計費。依負載的增減自動進行,不使用時幾乎不產生費用。另一方面,有一段時間未使用後第一次呼叫變慢的冷啟動,以及執行時間上限等限制。
日文名稱: サーバーレス
「無伺服器運算」出現在1領域的1道練習題中(雲端與容器基礎等)。
這個名詞所屬的領域: 雲端與容器基礎
把伺服器的準備、數量管理、作業系統更新等交給雲端業者,使用者不必意識這些就能執行應用程式的形態。代表是 FaaS(Function as a Service),只在要求或事件到來時執行函式,依執行次數、時間與記憶體量計費。依負載的增減自動進行,不使用時幾乎不產生費用。另一方面,有一段時間未使用後第一次呼叫變慢的冷啟動,以及執行時間上限等限制。
日文名稱: サーバーレス
「無伺服器運算」出現在1領域的1道練習題中(雲端與容器基礎等)。
這個名詞所屬的領域: 雲端與容器基礎
「無伺服器」不是沒有伺服器,而是使用者不必管理伺服器的意思。業者依要求準備容器或輕量虛擬機器等執行環境來執行函式。常與託管的資料庫、儲存空間、訊息佇列等組合,構成整個應用程式。
一段時間沒被呼叫,執行環境就會被收掉,下次呼叫時需要準備環境、啟動語言的執行環境並初始化函式。這段延遲就是冷啟動,依使用的語言與函式庫的量,可能從數百毫秒到數秒。可藉由減輕初始化、使用預先準備一定數量環境的設定等來抑制。
適合像轉換上傳的圖片、定期彙總、接收 Webhook 這類依事件在短時間內結束的處理,以及負載波動大、閒置時間長的處理。對於持續承受高負載的處理,一直運作的伺服器或容器有時反而便宜。函式內不保留狀態,狀態放在資料庫等處。
正確答案:B. 需要時間重新準備執行函式的環境,並啟動語言的執行環境、進行初始化處理(冷啟動)
在無伺服器函式中,業者依需要準備執行環境(容器或輕量虛擬機器等),一段時間未使用就會收掉。收掉之後的第一次呼叫,需要準備環境、啟動語言的執行環境並進行函式的初始化處理,回應就慢了這麼多。連續呼叫時會重複使用已準備好的環境,因此較快(暖啟動)。對策包括減輕初始化處理與載入的函式庫、使用預先準備一定數量環境的設定等。
不是對立的。許多無伺服器平台內部使用容器或輕量虛擬機器,也有能把容器映像檔直接當作函式執行的服務。差別在於由誰管理數量與執行環境。
不一定。因為用多少付多少,用量少且波動大的處理會比較便宜,但持續有一定以上負載的處理,一直運作的伺服器有時更便宜。比較時也必須把資料傳輸費等納入。
在無伺服器函式中,業者依需要準備執行環境(容器或輕量虛擬機器等),一段時間未使用就會收掉。
在無伺服器函式(FaaS)中,有時只有一段時間沒被呼叫的函式的第一次呼叫,回應會慢數百毫秒到數秒。關於這個現象的說明,…不可變基礎設施 可用區域 可觀測性 共同責任模型 自動擴展 物件儲存 金絲雀部署 容器技術 容器映像檔 基礎設施即程式碼(IaC)