本文来自一位专家朋友Winnie shao的原创大作,希望大家喜欢。
Serverless计算服务,按狭义的说法,又被称为功能即服务,是云计算的一种模型。云服务提供商提供一个微型的架构,终端客户不需要部署、配置或管理服务器服务,代码运行所需要的服务器服务皆由云端平台来提供。
Serverless的核心在于无需管理或者配置服务器这种基础设施,将关注重点集中在业务本身,是真正的按需计算。Serverless对于开发者来说,是一次极大的简化,可以真正的专注在产品代码本身,有人类比成从汇编到C语言。对于云服务提供商来说,则是一次更大范围的集成挑战。一方面,无需程序员关注的基础设施的操作管理,要由云服务商来协助完成,某种程度上,软件工程师离服务器远一步, 云服务平台则对硬件的掌控就强一分。另一方面, Serverless要给最终用户真正带来效率提升,从而降低成本,是真正要比拼计算平台能力的。
2014年11月份,亚马逊推出的Lambda,算是业界第一款真正意义上Serverless服务。也因为Lambda, Serverless的概念才进入了大多数人的视野。
今年的9月29日,在AWS发布Graviton 2 ARM服务器处理器的近一年后,AWS推出了基于Graviton 2的ARM架构Lambda服务。
自研ARM Server芯片上的Serverless服务。很有意思,也很有深意的组合。
根据AWS所述,基于Graviton的Lambda可以实现降低20%的价格来提供提高19%性能的计算服务。凡是多线程多处理或者重IO操作的业务,可以通过ARM架构获得较低的执行时间,也会因此有较低的价格。而且,只要用户的任务没有使用任何架构相关的二进制代码,就可以轻松从一个架构切换到另一个架构。特别是使用解释语言,例如Node.js,Python或者编译成java bytecode的任务。
这个月月初,有人公布了一系列的arm架构的Lambda服务的实测数据, 原文见:https://filia-aleks.medium.co...。从下表可以看到, 在lambda支持的NodeJs (14.x),Python (3.9),Go(1.x) ,Ruby(2.7),.Net(3.1),Java (11), Rust(1.54.0),GraalVM(21.3)中,GraalVM是x86略快, Ruby和Java几乎性能一样,其余的测试都是arm架构快一些。
如果说低20%的价格是AWS自研Graviton带来的优势,那么高出来的这些性能(更快的完成计算任务),就是arm架构在服务器领域的优势了。
结论:Serverless则给予了云服务平台的更多的基础设施掌控权,自研的ARM处理器芯片给予了云服务平台商更多的定价权。一直以来IaaS服务的技术差异微小,完全靠规模的问题一直被诟病,现在看Serverless + ARMServer这个组合已经在另辟蹊径。
作者:企业存储技术
原文:https://mp.weixin.qq.com/s/d8_uRkXtAUt2pjxDxoeQ-g
推荐阅读
欢迎关注企业存储技术极术专栏