Serverless = 你不用管伺服器,只要管程式。
口語一點講,就是:
- 以前要自己管 server
- 現在你只要把 code 丟上去
- AWS 會幫你處理後面的機器、擴展、運行
幾個核心觀念
- 不是沒有伺服器
伺服器其實還是有,只是你看不到,也不用自己管。 - 開發者只專心寫程式
不用自己準備 server,也不用自己維護 server。 - 不用自己考慮怎麼擴展
流量變大時,AWS 會幫你處理後面的擴展。
最早的代表:AWS Lambda
AWS Lambda 可以說是最典型的 Serverless 服務。
- 你把 function 丟上去
- Lambda 幫你執行
- 每個 function 都可以獨立運作
現在的 Serverless 不只 Lambda
現在只要是 AWS 幫你把底層主機、維運、擴展都管好 的服務,很多都可以算是 Serverless。
例如資料庫、儲存、訊息服務,很多都屬於這一類。
課程裡常見的例子
1. Amazon S3
你只要把檔案上傳上去,不用管後面到底有多少 storage server,也不用自己維護硬體,所以它可以算是 Serverless。
2. Amazon DynamoDB
你只要建立 table,不用自己開資料庫主機,也不用自己維護資料庫伺服器,而且還能自動擴展,所以它也算是 Serverless。
3. AWS Fargate
Fargate 是拿來跑 Docker container 的。
- 如果你用 ECS + EC2,底下的 EC2 還是要自己管,這就不算 Serverless。
- 如果你用 Fargate,你只要把 container 丟上去,AWS 幫你跑,這就算是 Serverless。
4. AWS Lambda
Lambda 是 Serverless 的代表服務,可以直接在雲端執行 function,不需要自己準備主機。
一句話總結
Serverless 不是沒有 server,而是 AWS 幫你管 server,你只要專心部署 code。
沒有留言:
張貼留言