iT邦幫忙

2021 iThome 鐵人賽

DAY 26
0
DevOps

AWS Solution Architect Associate的鐵人不只三項證照之路系列 第 26

Day 26 Serverless的運算服務-AWS Lambda

因應容器化的服務,AWS雲上也產生了相對應的服務-Lambda,讓我們可以不用顧及作業系統底層惱人的config設定問題,專注於應用的開發。

1. Lambda應用價值

如前所述,Lambda可以實現容器化服務的應用概念,讓我們不需要花費額外時間去處理底層的作業系統與硬體的配置。

2. Lambda應用架構

2.1.1 Lambda的服務流

當外在使用者對於Lambda服務有網路request時,這些requests被定義為Event。此時,Lambda內配置的Trigger,將接收這些Event,並按照Event的內容,去驅動相對應的Lambda服務。Lambda如同程式開發內的function一樣,在完成runtime的設定後(例如python),可編寫程式碼,定義明確的執行任務。以下兩個情境,是Lambda需要外部其他資源來完成任務時,可以完成的配置:

  1. 安裝Runtime以外的套件:
    Lambda內設有Layer,讓我們在開發過程當中,可以新增其他套件,優化整體程式開發。
  2. 介接AWS的其他服務資源:
    當Lambda內特定任務需要透過其他AWS雲端資料一起來完成時,也可以設置IAM Role,讓Lambda可以接收來自其他AWS服務的資源。例如,當任務需要存放於S3上的資料來進行分析或交叉比對時,我們便可以設置一個讓Lambda可以存取S3服務的IAM Role,讓Lambda可以順利取得S3上的資料來做運算。

2.1.2 版本控制

開發Lambda過程,就像是開發Function過程,隨著需求與測試的結果,我們會有不同的階段的程式碼內容。有鑑於此,Lambda提供版控服務,並按照開發需求,提供Alisa的版控命名服務,讓整版控可以更彈性和精準的來去做管理。

2.1.3 收費依據

又到了很重要的一個環節,Lambda服務這麼好,費用怎麼收呢?Lambda收費主要根據兩項指標來計價:運行時間和記憶體大小。記憶體開得越大、運行時間越長,當然就會越貴。


上一篇
Day 25 大數據下的三兄弟-從Kinesis到EMR與Redshift
下一篇
Day 27 雲端郵差來囉-SNS
系列文
AWS Solution Architect Associate的鐵人不只三項證照之路30

尚未有邦友留言

立即登入留言