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