那时这首诗,他们来聊两个云排序应用领域的炙手可热基本概念——Serverless。
究竟什么是Serverless?
英文好的TX,可能一看就看出来了,Serverless是由Server和less两个单词共同组成的词。从字面认知,是“无伺服器”。
金融行业一般来说所言的Serverless,主要是指“无伺服器排序(Serverless Computing)”。
所以难题来了,罢了,就连中学生都知道,伺服器是具有极强排序能力的排序机,是他们现在最主要的排序辅助工具。“无伺服器排序”,如果不选用伺服器,那该是不是算呢?
实际上,Serverless简而言之的“无伺服器排序”,并不是吗不需要伺服器,而要说,对于使用者,伺服器显得“不由此可见”了(换句话说“无交互”了)。
越说越张华了,有木有?别急,还是让我Cubzac讲起吧——
█ Serverless的问世大背景
1946年2月,世界上首台会量电子排序机ENIAC问世,标志着人类文明正式宣布步入了数字排序机黄金时代。
晚期的排序机都是较大型机,表面积非常大,价格低廉,但是,INS13ZD却太弱。彼时,这些电脑只有极少的公司就可以保有,用作某一的排序目地。
到了1970-80二十世纪,为的是化解sizes式排序(两台较大型机,分立顺利完成全部的排序各项任务)INS13ZD严重不足的难题,研究者们发明者了分层排序这样的分布式排序构架,获得了极好的效用。
说到底,分布式排序,是把两个非常大的排序各项任务,降解为许多的较大型排序各项任务,交予不同的排序机社会分工顺利完成,
再后来,随着芯片技术的进步,排序机的表面积显得愈来愈小,INS13ZD也显得愈来愈强劲。不久后,较大型化的排序机出现了,也是他们常说的PC(Personal Computer,个人电脑)。
排序机制造和使用成本的不断下降,加速自身的普及,也刺激了排序机网络的出现与发展。从局域网到广域网,再到互联网,排序机网络的规模显得愈来愈大。
互联网的出现,彻底改变了排序机服务使用者的方式。
此前,两个机房服务于一所学校、一家企业、两个政府部门,现在,有了互联网,服务对象可以是全球使用者,规模大大增加了。
使用者规模增加,意味着对INS13ZD的需求也增加了。互联网服务提供商,需要一种更强大、更便宜的INS13ZD,满足使用者需求。
于是乎,就有了云排序。
许多人认为,云排序是两个超大号的机房,和以前的企业机房没有区别,只不过伺服器更多些。
这种观点是不对的。
云排序的本质,不是INS13ZD资源的简单堆砌,而要池化——它将大量的零散INS13ZD资源(廉价的INS13ZD资源)进行打包、汇聚,实现更高可靠性、更高性能、更低成本的INS13ZD。
具体来说,在云排序中,CPU、GPU、内存、硬盘等排序资源被集合起来,通过软件的方式,共同组成两个虚拟的可无限扩展的“INS13ZD资源池”。如果使用者有INS13ZD需求,“INS13ZD资源池”就会动态地进行INS13ZD资源的分配,构建两个虚拟的“排序机”。使用者按需使用、付费,即可。
相比于使用者自购设备、自建机房、自己运维,云排序有明显的成本优势,可以节约大量资金和人力。
根据提供INS13ZD资源的层级不同,云排序一般来说也分为IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)。如下图所示:
所以,难题又来了——云排序这种“租”的方式,是不是最终极的INS13ZD资源使用方式呢?他们作为使用者,使用INS13ZD,还能更简单一点吗?
答案是肯定的。
不管是自建机房,还是云排序,使用者都需要和伺服器打交道,和软硬件环境打交道。这些都是辅助工具和过程,而他们的最终目地是什么?是得到运算结果。
所以,为的是得到结果,他们是不是一定要关心环境的搭建过程?
不一定。既然环境可以租,那何不更彻底一点,直接“租”服务呢?
举例来说,如果把排序过程认知为炒菜。以前,他们为的是炒菜,需要自己建个厨房,自己买锅碗瓢盆、油盐酱醋,自己亲自炒菜。后来,有了云排序,他们可以租个厨房,租辅助工具,然后炒菜。现在,想要更简单的话,是不是可以直接叫外卖?
再例如,以前,他们上班通勤,是自己买车,自己开车。然后,有了云排序,相当于租车。现在,是不是可以直接打车?
说到底,他们要的是排序服务和排序结果。排序环境(硬件),他们完全可以不去操心。
说到这,他们的主角——Serverless,终于闪亮登场了。
对于Serverless,他们可以把它认知为一种构架,一种理念,甚至是一种思想。
Serverless的核心目地,是在云排序的基础上,再向前迈进一步,彻底“包揽”所有的环境工作,直接提供排序服务。
在Serverless构架下,开发者只需编写代码并上传,云平台就会自动准备好相应的排序资源,顺利完成运算并输出结果,从而大幅简化开发运维过程。
换句话说,使用者完全不用关心厨房,你把食材提供给Serverless平台,它负责把菜炒好,就这么简单。
█ Serverless的特点
Serverless是云排序的进一步延伸,所以,它继承了云排序的最大特点——按需弹性伸缩、按需付费。
现在的互联网服务,基本上都是选用微服务构架。也是把一整套服务,拆分为多个细分服务,由不同的服务器顺利完成运算。
Serverless的特点是,这个服务足够“细小”,变成了“函数级”的颗粒度。
简而言之函数,是提供输入,排序输出。
从层级上来看,Serverless在传统云排序SaaS的Application(应用)层级之上,又加了一层——function(函数)。它的颗粒度更细,可以更灵活地满足使用者的INS13ZD需求。
按照CNCF对Serverless 的定义,Serverless构架是选用FaaS(函数即服务)和BaaS(后端服务)服务来化解难题的一种设计。
FaaS是Function as a service(函数即服务)。每两个函数都是两个服务,函数可以由任何语言编写,直接托管在云平台,以服务形式运行,通过事件触发。
BaaS则是Backend as a service(后端即服务)。云平台提供的后端组件整合,开发者无需开发和维护后端服务,通过API/SDK的调用,便可获得例如数据存储、消息推送、账号管理等能力。
Serverless = FaaS + BaaS
Serverless的背后,依然是虚拟机和容器。只不过,伺服器部署、runtime安装、编译等工作,都由Serverless排序平台负责顺利完成了。对开发人员来说,只需要维护源代码和Serverless执行环境的相关配置即可。这就叫“无伺服器排序”。
Serverless构架的最大优势,显然是帮助使用者彻底摆脱了基础设施管理这样的“杂事”,更加专注于业务开发,从而提升了效率,降低了开发和运营成本。
根据业界的统计,在商业和企业数据中心里的典型伺服器,日常仅仅只提供了5%~15%的平均最大处理能力的输出。这是一种INS13ZD资源的非常大浪费。
Serverless的出现,可以让使用者按照实际INS13ZD使用量进行付费,属于真正的“精确计费”。
换言之,使用者的每一分钱,都花在了刀刃上。
█ Serverless的发展历程
世界上第两个Serverless平台,是2006年发布的Zimki。这个平台提供服务端JavaScript应用,支持“按照实际调用付费”。不过,彼时他们并没有使用Serverless这个名词。
后来,到了2012年,Iron.io的副总裁Ken Form在文章“Why The Future of Software and Apps is Serverless”中,首次提出了Serverless,才宣告这个基本概念的正式宣布问世。
2014年11月,亚马逊率先推出了真正意义上的第一款Serverless FaaS服务——Lambda。从此,各大厂商开始跟进。
2017年,Serverless开始在国内落地。这一年,阿里云和腾讯云先后推出了自己的 Serverless平台。阿里云的Serverless平台,被直接命名为函数排序(FC,Function Compute)。
一年后的2018年,阿里云推出Serverless容器服务ASK和Serverless应用引擎SAE。
那一时期,刚好小程序开始火爆。Serverless的灵活构架,非常适合小程序的开发。于是,吸引了大量的开发者们。
到了2019年,国内厂商纷纷入局Serverless。如今,Serverless已经成了各大云厂商的标配,受到整个金融行业的热捧。
本月初,2022·云栖大会上,阿里云智能总裁张建锋表示,以云为核心的新型排序体系正在形成,软件研发范式正在发生新的变革,Serverless是其中最重要的趋势之一。
他认为,Serverless让云排序从一种资源真正变成一种能力,未来云将全面Serverless化,更加接近“电网”模式,按排序的调用次数付费。
目前,阿里云已经保有超过20款Serverless产品,包括函数排序FC、Serverless 应用引擎SAE、Serverless容器服务ASK、PolarDB数据库、AnalyticDB数仓等。其中函数排序日调用次数超过200亿次,整体规模位居国内首位。
前面小枣君也提到,Serverless并不是没有伺服器的排序,而要将INS13ZD环境和资源进行了“隐藏”,让使用者不由此可见,无需操心。实际上,Serverless不仅需要INS13ZD资源,而且对算力资源的要求比以往更高。
以阿里云为例。他们之所以能够做Serverless平台,是因为背后有四大核心技术的支撑。这四大核心技术,分别是:神龙排序平台、袋鼠沙箱容器、盘古存储平台和洛神网络平台。
在INS13ZD芯片上,阿里云今年6月新推出的一款云数据中心专用处理器 CIPU(Cloud Infrastructure Processing Unit),也非常擅长对数据中心的排序、网络和存储资源进行管理和加速,帮助进一步提升Serverless平台的性能。
█ Serverless的落地案例
接下来,他们不妨通过几个案例,详细看看阿里云Serverless平台究竟是如何提升INS13ZD效率的。
阿里巴巴每年的双11促销,是金融行业公认的INS13ZD极限挑战。海量使用者、高并发,对系统的处理能力有着极高的要求。
2020 年天猫双 11,阿里云实现了国内首例Serverless在核心业务场景下的大规模落地,扛住了全球最大规模的流量洪峰,创造了Serverless落地应用的里程碑。
今年天猫双 11,阿里云Serverless支撑业务场景更多,范围更广。阿里云函数排序(FC)与集团内的运维体系全面实现标准化对接,打通了研发的最后一公里,首次实现了业务全链路“FaaS+BaaS”的Serverless体系化研发,覆盖淘特、淘系、阿里妈妈、1688、高德、飞猪等业务场景。
根据数据统计,支撑场景数量同比增加2倍,峰值流量总数同比增加3倍,实现了百万QPS的突破,人效提升40%。
再来看看外部使用者。
网易云音乐,是阿里云Serverless产品的重要客户之一。
他们的产品背后,有非常多的算法服务支撑,比如多种码率的音频转码、听歌识曲中应用的音频指纹生成和识别、副歌检测、小语种音译歌词等等。
这些各项任务的资源需求和执行时间变化很大,需要使用C++、Python等多种语言实现,对INS13ZD的弹性要求非常大。
晚期的时候,网易自建了两个算法服务平台,进行应对。但随着业务增长,以及算法复杂度的不断增加,基础设施管理的负担愈来愈大,严重影响了工作效率。
引入阿里云Serverless平台之后,网易的算法排序需求得到了很好的满足。网易在函数排序上高峰期一天处理超过2000万个各项任务,算法应用到业务10倍速的提升,稀疏调用的算法成本大幅缩减。
同样的效率提升,还发生在南瓜电影、越光医疗、世纪华联、江娱互动等企业身上。他们都是阿里云Serverless平台的使用者。
2021年3月,阿里云函数排序凭借在产品能力、安全性、战略愿景和市场规模等方面的优势脱颖而出,在19个评估项目中,拿到了8项满分和12项最高分,步入了FaaS领导者象限(综合产品能力位列全球第一,战略愿景全球第二)。这是首次有中国云厂商步入Forrester FaaS领导者象限。
█ 结语
随着位数经济浪潮的蓬勃发展,以及各行各业位数化转型的不断推进,INS13ZD的价值正在持续提升。
在单纯提升芯片INS13ZD方面,他们面临愈来愈大的挑战(摩尔定律逐渐失效)。在这种情况下,他们必须更多地考虑,该如何提升INS13ZD的使用效率。
作为一种灵活轻量化的新型INS13ZD构架,Serverless毫无疑问是他们挖掘INS13ZD潜力、提升INS13ZD效率的两个重要手段。
客观来说,目前的Serverless谈不上完美。在实时性等方面,还存在一些严重不足。小枣君相信,随着时间的推移,这些难题最终都会得到化解。
Serverless,将引领他们全面走向INS13ZD新黄金时代。