AWS Lambda是一種計算服務(wù),可讓您運行代碼而無需置備或管理服務(wù)器。AWS Lambda僅在需要時執(zhí)行您的代碼并自動擴展,從每天幾個請求到每秒數(shù)千個。您只需為您消耗的計算時間付費-代碼未運行時不收費。借助AWS Lambda,您幾乎可以為任何類型的應(yīng)用程序或后端服務(wù)運行代碼-只需進行零管理即可。AWS Lambda在高可用性計算基礎(chǔ)架構(gòu)上運行代碼,并執(zhí)行對計算資源的所有管理,包括服務(wù)器和操作系統(tǒng)維護,容量供應(yīng)和自動擴展,代碼監(jiān)視和日志記錄。您需要做的就是在其中之一中提供您的代碼AWS Lambda支持的語言。
您可以使用AWS Lambda運行代碼以響應(yīng)事件,例如對Amazon S3存儲桶或Amazon DynamoDB表中的數(shù)據(jù)進行更改;使用Amazon API Gateway運行代碼以響應(yīng)HTTP請求;或使用通過AWS開發(fā)工具包進行的API調(diào)用來調(diào)用您的代碼。借助這些功能,您可以使用Lambda輕松為Amazon S3和Amazon DynamoDB之類的AWS服務(wù)構(gòu)建數(shù)據(jù)處理觸發(fā)器,處理Kinesis中存儲的流數(shù)據(jù),或者創(chuàng)建自己的后端,以AWS規(guī)模,性能和安全性運行。
您還可以構(gòu)建由事件觸發(fā)的功能組成的無服務(wù)器應(yīng)用程序,并使用CodePipeline和AWS CodeBuild自動部署它們。
我什么時候應(yīng)該使用AWS Lambda?
AWS Lambda是適用于許多應(yīng)用程序場景的理想計算平臺,前提是您可以使用AWS Lambda支持的語言編寫應(yīng)用程序代碼,并且可以在Lambda提供的AWS Lambda標(biāo)準(zhǔn)運行時環(huán)境和資源中運行。
使用AWS Lambda時,您僅對代碼負(fù)責(zé)。AWS Lambda管理可平衡內(nèi)存,CPU,網(wǎng)絡(luò)和其他資源的計算團隊。這是為了換取靈活性,這意味著您無法登錄到計算實例,也無法在提供的運行時上自定義操作系統(tǒng)。這些限制使AWS Lambda可以代表您執(zhí)行操作和管理活動,包括供應(yīng)容量,監(jiān)視車隊運行狀況,應(yīng)用安全補丁,部署代碼,
如果您需要管理自己的計算資源,Amazon Web Services還提供其他計算服務(wù)來滿足您的需求。
·Amazon Elastic Compute Cloud(Amazon EC2)服務(wù)提供了靈活性和多種EC2實例類型供您選擇。它為您提供了自定義操作系統(tǒng),網(wǎng)絡(luò)和安全設(shè)置以及整個軟件堆棧的選項,但是您負(fù)責(zé)配置容量,監(jiān)視車隊的運行狀況和性能以及使用可用區(qū)進行容錯。
·Elastic Beanstalk提供了一個易于使用的服務(wù),用于在Amazon EC2上部署和擴展應(yīng)用程序,您可以在其中保留所有權(quán)并完全控制基礎(chǔ)EC2實例。
Lambda是一項高可用性的服務(wù)。