無服務(wù)器運(yùn)算服務(wù)AWS Lambda Functions的用戶,現(xiàn)在也可以選用ARM/Graviton2處理器,來執(zhí)行現(xiàn)有或是新的函數(shù)。AWS提到,得力于Graviton2架構(gòu),函數(shù)的執(zhí)行效率更高,而且執(zhí)行時(shí)間的費(fèi)用更低,因此甚至可以在降低20%成本的同時(shí),提高19%的性能。
由于Lambda的計(jì)費(fèi)方式,是根據(jù)函數(shù)的請(qǐng)求數(shù)量和持續(xù)時(shí)間,而持續(xù)時(shí)間是執(zhí)行程序代碼所需要的時(shí)間,以毫秒為單位計(jì)費(fèi)。使用ARM/Graviton2架構(gòu)的函數(shù),持續(xù)時(shí)間的費(fèi)用比x86處理器的定價(jià)低20%,而且在使用部署并行(Provisioned Concurrency)功能時(shí),持續(xù)時(shí)間同樣也可以減少支付20%的費(fèi)用。
除了價(jià)格降低之外,AWS表示,使用ARM/Graviton2架構(gòu)的函數(shù),因?yàn)槠鋬?nèi)置多執(zhí)行序、多行程等功能,因此可以有更少的執(zhí)行時(shí)間與成本,特別是用戶現(xiàn)在可以使用高達(dá)10 GB內(nèi)存和6 vCPU的計(jì)算資源來執(zhí)行Lambda函數(shù),這樣的用例在ARM/Graviton2架構(gòu)處理器可以獲得更大的好處。
只要用戶的函數(shù),不使用架構(gòu)特有的二進(jìn)制文件,像是相依項(xiàng)目,就可以輕易的從x86架構(gòu)切換到ARM/Graviton2架構(gòu)的Lambda函數(shù)上,AWS提到,直譯語(yǔ)言例如Node.js和Python,或是編譯成Java字節(jié)碼的函數(shù),通常都是可以直接轉(zhuǎn)換的情況。
ARM/Graviton2支持所有構(gòu)建在Amazon Linux 2之上的Runtime,這包括自定義Runtime,當(dāng)函數(shù)包中有二進(jìn)制文件,就需要為ARM/Graviton2架構(gòu)重新構(gòu)建函數(shù)程序代碼,以容器鏡像文件形式打包的函數(shù),也需要專為ARM/Graviton2架構(gòu)重新構(gòu)建。
用戶可以輕易地衡量這兩種架構(gòu)的差異,通過對(duì)同一函數(shù)創(chuàng)建x86和ARM/Graviton2兩種版本,并且使用權(quán)重分配流向兩個(gè)版本的流量,在Amazon CloudWatch就能比較兩種架構(gòu)的平均持續(xù)時(shí)間,和p99持續(xù)時(shí)間等指標(biāo)。
AWS提到,使用ARM/Graviton2架構(gòu)的Lambda函數(shù),可提升高達(dá)34%的性價(jià)比,而且使用Savings Plans,還可以進(jìn)一步讓成本下降17%。目前美東、美西、歐洲地區(qū),還有亞太的孟買、新加坡、東京與雪梨地區(qū),皆有提供ARM/Graviton2架構(gòu)的Lambda Functions。