iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0
Build on AWS

最適合小型工作室精打細算的服務使用法系列 第 15

Day 15 - AWS Lambda 介紹:雲端當之無愧的神器 - Part 1

  • 分享至 

  • xImage
  •  

前言:誰偷了我的 VM?

https://ithelp.ithome.com.tw/upload/images/20250925/20141071IXBZO3pVC9.png
身為維運工程師,我們的日常大概就是這樣:

  1. 開一台 VM。
  2. 安裝套件。
  3. 更新系統。
  4. 修防火牆。
  5. 等老闆問:「為什麼這麼慢?不是上週就說好要上線了嗎?」

講白了,我們常常不是在寫維運腳本,就是在跟 Server 的設定檔做拉距戰。還常常系統崩給你看。

這時候 AWS Lambda 就跳出來說:「兄弟,要不要試試 Serverless?」
Serverless 不是沒有 Server,而是 Server 的事情不用你管,AWS 幫你養、幫你顧。
就像你家隔壁新開了一間自助洗衣店,你不但不用再拿洗衣板蹲在浴室,也不用管洗衣機、烘乾機的維護了。
有這種好事?!有哦!Server 不用你管,也不用你更新,你只要負責用就好(還有付錢)。

什麼是 AWS Lambda?

https://ithelp.ithome.com.tw/upload/images/20250925/20141071Crn1jPrB1r.png
用最簡單的話說,AWS Lambda 就是一個雲端「程式碼即服務(Function as a Service, FaaS)」。

不知道有沒有人想過,如果可以不用建 VM,只要把需要執行的程式碼上傳。然後什麼都不用管,執行碼就可以順利執行,只要等最後執行的結果就好。

AWS Lambda 就是在幫你實現這種爽事。
你只要丟程式碼上去,它就幫你想辦法跑完。執行環境、擴展、資源分配?AWS 幫你處理。
工程師的手只要動一次,剩下的就交給雲端自動化小精靈。

對!你沒看錯,擴展也是他幫你處理。一次執行一千個也沒問題哦!

讚啦!那二千個呢?...... 嗯...... 不~行~
為什麼?不是會自行處理擴展呢?因為 AWS 預設並發數量限制是 1000,如果需要更多的話,可以透過申請表格進行申請。有些新建出來的帳號,可能預設數量還不到 1000。使用前可以參考AWS 服務配額先查詢你的環境中限制的數量是多少!

Lambda 怎麼運作?

  1. 事件觸發:有人丟檔案進 S3?有人打 API?定時排程到點?手動執行?→ Lambda 被叫醒。
  2. 程式執行:Lambda 幫你把 Handler 叫起來,跑你的邏輯。
  3. 輸出結果:跑完結果丟回去,收工。

Lambda 雖然號稱是一個「反應時間毫秒等級」的雲端神器,但大家最關心的是:到底要多久才會真的動起來?
這就牽扯到兩個狀況:冷啟動跟熱啟動。

  • 冷啟動:就像早上被鬧鐘叫醒的工程師,翻個身還要再掙扎個幾秒才會起來。你如果 Lambda 放著很久沒人叫,它再被喚醒時就會稍微「矇一下」。
  • 熱啟動:則像下午剛喝完手搖咖啡的工程師,一叫就跳起來開工。如果你的程式是幾分鐘就會執行一次,那基本上都是熱熱的,反應快到你懷疑它是不是偷偷超頻。

但就算是冷啟動,以我實際用下來的感覺,大部分情況也都能在一秒內開工。
換句話說,雖然它可能會打個哈欠,但絕對比你重開一台 VM 還快,算是對得起毫秒級服務的名號。

Lambda 的優點:免Server = 免煩惱

https://ithelp.ithome.com.tw/upload/images/20250925/20141071hqCFQKXx1L.png

  • 自動擴展:今天一個人用、明天一千人用,Lambda 自己幫你多生出 worker。(記得並發數量不是無限的哦!)
  • 不用維護Server:不用再半夜起來打 patch。(重點是不用資安稽核啦!爽~~)
  • 跟 AWS 家族無縫接軌:S3、DynamoDB、API Gateway,基本上 AWS 的親戚都能跟 Lambda 打成一片。

AWS 幫你顧基礎設施,你就專心寫功能。這就像你生了小孩卻把養小孩的責任丟給保母,只負責拍照上傳 IG。(千萬別真的這樣,小孩跟你會不親的!)

Lambda 的缺點:即使好用還是有限制

沒錯,Serverless 用起來很爽,但總是有限制的,天底下沒有只有優點沒缺點的東西。

  • 時間限制:每次執行最長只能 15 分鐘。你要跑 2 小時大數據?別鬧了。
  • 資源限制:記憶體和 CPU 的用量在執行前設定,這個沒法擴展。
  • Debug 不方便:有時候你在 local 跑得好好的,上到雲端就跟你 say goodbye。

所以,Lambda 很像便利商店的微波爐:

  • 熱個便當 OK。
  • 烤全雞?抱歉,爆炸。

也就是說做些自動化的操作和日常作業是 OK 的,但要做成大型應用程式還是有難度的。
如果你要把他當微服務來實作,組合成大系統也不是不行。

又開始打瞌睡了,讓我們明天繼續開講吧!


上一篇
Day 14 - AWS Route 53:DNS 界的特種部隊
下一篇
Day 16 - AWS Lambda 介紹:雲端當之無愧的神器 - Part 2
系列文
最適合小型工作室精打細算的服務使用法17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言