What is Serverless?
Serverless最初的精神是依靠第三方的應用和服務,來控制 server-side 的邏輯和狀態,也就是 BaaS (Backend as a Service),這樣代表像是 FireBase。
但是,現在談 Serverless 大部分都是指 FaaS (Function as a Service),其代表為 AWS Lambda, Azure Function, Google Cloud Functions。
Serverless出現在AWS re:Invent 2015 | (ARC308) The Serverless Company Using AWS Lambda之後就開始很多的文章討論這件事情。
Serverless Manifesto
這裡提到了幾個重點:
- Deploy 單位是 Functions
- Machines, VM, Containers被抽象化
- 因為執行的單位是 functions,意味著 Stateless,必須把永久的資料存到別的服務,例如 MySQL
- Scales, capacity, and fault tolerant 交給平台去管理
開發者只要專注在程式碼開發(BYOC - Bring your own code).