使用 AWS Lambda 執行程式碼,不必佈建或管理伺服器。只需為使用的運算時間支付費用,一旦未執行程式碼,就會停止計費。
有了 Lambda,您可以透過虛擬方式執行任何類型的應用程式或後端服務,全部免管理。只需上傳程式碼,Lambda 就會運用其高可用性來處理執行程式碼及擴展規模所需的各項工作。您可以將自己的程式碼設成可以從其他 AWS 服務自動觸發,或從任何 Web 或行動應用程式直接呼叫。
什麼是 AWS Lambda?
優勢
不必管理伺服器
AWS Lambda 可以自動執行您的程式碼,您不必再行佈建或管理伺服器。只需編寫程式碼,並上傳到 Lambda 即可。
持續擴展
AWS Lambda 會透過執行程式碼回應各個觸發,自動擴展您的應用程式規模。系統會平行執行程式碼並個別處理各個觸發,根據工作負載的大小精確擴展。
毫秒級計時精度
AWS Lambda 的收費標準分別是程式碼的執行時間 (每 100 毫秒加計一次費用),以及程式碼的觸發次數。一旦程式碼停止執行,就不會計算費用。
運作方式
使用案例
AWS Lambda 可以建置哪些內容? 進一步了解下列使用案例:
資料處理
您可以使用 AWS Lambda 執行程式碼以回應各個觸發,例如資料變更、系統狀態轉換,或使用者的動作。S3、DynamoDB、Kinesis、SNS 和 CloudWatch 等 AWS 服務可直接觸發 Lambda,或者由 AWS Step Functions 協調至工作流程。這可讓您建立各種即時無伺服器資料處理系統。
即時檔案處理
透過 Amazon S3,您可以觸發 AWS Lambda 在資料上傳後立即處理資料。例如,您可以使用 Lambda 即時為影像建立縮圖、為影片轉碼、為檔案編製索引、處理記錄、驗證內容,以及彙總和篩選資料。
參考架構:範本程式碼
The Seattle Times 使用 AWS Lambda 調整影像大小,以便在不同裝置 (例如桌上型電腦、平板電腦和智慧型手機) 上檢視影像。閱讀案例研究 »
即時串流處理
您可使用 AWS Lambda 和 Amazon Kinesis 處理即時串流資料,以便追蹤應用程式活動、處理交易訂單、處理點擊串流、分析點擊串流、清理資料、產生指標、篩選記錄、編製索引,以及物聯網裝置遙測和量測。
參考架構:範本程式碼
Localytics 可以即時處理數十億筆的資料點,並使用 Lambda 處理 S3 中儲存的歷史資料和即時資料,或 Kinesis 以串流傳輸的資料。閱讀案例研究 »
擷取、轉換、載入
您可以使用 AWS Lambda 對 DynamoDB 中的每個資料變更執行資料驗證、篩選、排序或其他轉換,並將轉換的資料載入其他資料存放區中。
Zillow 使用 Lambda 和 Kinesis 即時追蹤行動指標子集。透過 Kinesis 和 Lambda,我們能在兩週內開發和部署符合成本效益的解決方案。
後端
您可以使用 AWS Lambda 建置無伺服器後端,以處理 Web、行動、物聯網 (IoT) 及第三方 API 的要求。
IoT 後端
您可以使用 AWS Lambda 建置無伺服器後端,以處理 Web、行動、物聯網 (IoT) 及第三方 API 的要求。
參考架構:範本程式碼
行動後端
您可以使用 AWS Lambda 和 Amazon API Gateway 建置後端,以驗證和處理 API 要求。Lambda 可讓使用者輕鬆建立內容豐富、具備個人特色的應用程式體驗。
參考架構:範本程式碼
Bustle 使用 AWS Lambda 和 Amazon API Gateway,在其 Bustle iOS 應用程式和網站執行無伺服器後端。使用無伺服器架構之後,Bustle 無須處理基礎設施管理,因此每位工程師都能專注在建立新功能和創新。閱讀案例研究 »
Web 應用程式
將 AWS Lambda 與其他 AWS 服務結合後,開發人員可以建置強大的 Web 應用程式,這類應用程式不僅能夠在多個資料中心之間自行調整規模,還能在高可用性組態下執行,而對於擴充、備份或多資料中心備援作業,也不必花費心力管理。
參考架構:範本程式碼
案例研究
AWS Lambda 入門
進一步了解 AWS Lambda