
Java app 的部署平台、基礎設施,以及持續交付 |
67
• 將每一個敏感的組態與詮釋資料存放在 HashiCorp 的 Vault 之類的安全與密鑰管理
app。
• 將你學到的知識(與錯誤)編入管道
—
例如優雅地處理服務故障、負載測試、安
全測試與混亂 / 韌性測試。
• 你不但要對 app 做負載測試,也要對底層平台的能力做負載測試,以確保可以視需
要進行擴展。
功能即服務 / 無伺服器功能
FaaS 是一種計算服務,可讓你在不提供或管理伺服器的情況下執行程式碼。FaaS 平台
只會在需要時執行你的程式碼,並且可自動擴展,從一天幾個請求到每秒上千個。你只
要為你使用的計算時間付費,當你的程式碼沒有執行時不需付費。使用 FaaS 時,你幾
乎可以執行任何一種 app 或後端服務的程式碼,全部都無需管理。FaaS 供應商會在高可
用性的計算基礎設施上執行程式碼,並進行所有的計算資源管理,包括伺服器與作業系
統維護、功能提供,以及自動擴展、代碼監視與 log。你只要用平台支援的語言來提供
程式碼即可。
額外的讀物
FaaS 與無伺服器的演變異常快速,但是如果你想要了解核心原則及相關架構需
求,我們推薦 Peter Sbarski 的
Serverless Architectures on AWS
(Manning)。
FaaS 概念
你可以使用 FaaS 執行程式碼來回應事件,例如在 blob 儲存桶(storage bucket)或代
管的 NoSQL 資料庫表格裡面的資料變動,或執行程式碼來回應 API ...