云计算之所以能够成为DT时代的颠覆性力量,是因为其本质是打破传统的架构模式,降低成本,简化架构,并用全新的思维更好地满足用户需求。而无服务器计算(ServerlessComputing)作为这一巨大市场下一阶段的演进产物,将真正帮助企业专注于业务、构建应用,而无需担心IT基础设施,这也将成为云服务商未来的竞争。钥匙。什么是无服务器计算云原生计算基金会(CNCF)对无服务器计算的定义如下:无服务器计算是指构建和运行不需要服务器管理的应用程序的概念。它描述了一种更细粒度的部署模型,其中将捆绑为一个或多个功能的应用程序上传到平台,然后根据当前所需的确切需求执行、扩展和计费。无服务器计算是指当开发人员构建和运行应用程序时,不需要管理服务器等基础设施。应用程序被解耦为细粒度的功能,功能是部署和运行的基本单元;用户只需为实际使用的资源付费。可见,Serverless计算可以帮助应用开发者摆脱服务器等底层基础设施管理的负担,专注于业务层的创新。图1-Serverless计算的特点ServerlessComputingHistory事实上,Serverless并不是一个新概念。计算、存储等领域的很多服务都是Serverless的。例如,阿里云推出的第一个云服务对象存储(OSS)就是一个无服务器存储服务。用户无需关心数据在底层服务器上如何存储,只需为实际使用的存储资源付费。统计数据显示,近年来,各类云服务商推出的新服务/新功能中,70%以上都是以Serverless的形式出现。随着云端Serverless服务的种类越来越多,用户可以快速使用多种服务构建弹性高可用的云原生应用。因此,无服务器计算变得越来越流行。图2–Serverless计算已经无处不在从功能计算架构看Serverless计算的特点在Serverless计算中,平台服务接管了底层基础设施的管理,因此平台服务必须处理容错和资源扩展等问题才能充分利用无服务器计算的能力。从阿里云函数计算架构图中不难看出,API服务层完成身份验证、元数据读写等功能。同步调用函数时,API服务模块从资源调度模块获取可用的函数执行引擎并发送请求,最终获取结果;当异步调用该函数时,它将事件写入消息队列,然后返回。事件由事件分发模块分发,整个过程类似于同步调用。图3-阿里云函数计算架构的实时弹性伸缩是函数计算的核心优势。当用户负载达到峰值时,系统可以实时扩展资源,平滑应对高峰访问。以异步事件处理为例,整个处理过程分为三步:事件写入函数计算的事件队列;事件调度器从队列中读取事件并调用相应的函数处理事件;用户函数处理事件。图4-函数计算实时伸缩函数计算系统监控用户负载变化,每个组件都可以根据用户负载进行动态伸缩。如上图所示,当用户A的事件产生率增加时,系统会在各个环节自动为用户A分配更多资源,以匹配事件处理能力。函数计算采用多级资源调度策略。系统会根据用户负载和资源池水位预测需求,提前准备好计算资源。依托阿里云飞天分布式系统平台多年的技术积累,在调度的实时性和准确性上取得了很好的平衡,具备毫秒级的弹性伸缩能力。Serverless计算的典型应用场景借助函数计算,用户可以构建几乎任何类型的应用程序或后端服务,包括Web应用程序后端服务、大规模文件处理、实时数据流等等。比如对象存储和函数计算的融合,用户只需要写函数就可以处理单个视频。当大量视频文件上传到对象存储服务时,会自动触发多个函数实例并发处理。图5-Serverless视频转码服务使用函数计算的HTTP触发器,用户只需要编写函数来处理单个请求。当TPS增加时,函数计算会自动扩展计算资源,执行多个函数实例来处理请求。图6-Serverless网站后台服务Serverless计算对用户的价值自阿里云函数计算上线以来,被开发者广泛应用于大规模多媒体数据并行处理、日志/IoT数据流处理、网站后台服务和其他场景。从实际使用来看,Serverless计算在工程效率、可靠性、性能、成本、安全等方面为用户带来了巨大的价值。工程效率:通过函数计算与其他云服务的融合,用户只需编写少量代码即可连接多个服务,完成复杂的功能。用户无需承担服务器配置/升级、资源扩容/缩减等繁琐工作,运维成本大大降低;可靠性:用户无需购买或维护任何服务器,无需安装任何软件。借助函数计算,系统自动处理基础设施层的各种错误,减少宕机、网络中断等危机情况,提高系统可靠性;弹性伸缩:应用所需计算资源的伸缩可由Serverless计算平台在毫秒级自动完成,用户无需负责增减服务器数量;低成本:无需为计算、存储等业务预留容量。如果代码未运行,则不收费。研究数据表明,超过70%的服务器资源没有得到充分利用。函数计算采用全新模型,资源利用率达到100%。实践结果表明,通常可以节省10%-90%的成本。换句话说,使用函数计算意味着开发人员可以专注于产品代码,而无需管理和操作云或本地服务器或运行时。在生产实践中,用户可以用几百行代码实现一个亿级、亿级规模的图片处理服务。从云计算1.0时代到云计算2.0时代,基础设施云化(IaaS)为用户提供了与传统IT环境几乎无异的体验,让用户可以将应用无缝迁移到云端。当每个人都能获得自己需要的计算资源时,如何更高效地管理和使用计算资源,即功能即服务(FaaS)是云计算2.0时代最重要的问题。阿里云函数计算等Serverless计算服务可以在工程效率、可靠性、性能、成本、安全等方面为用户带来巨大价值,为开发者打开一扇通往美好新世界的大门。10月9日,阿里云宣布正式推出函数计算2.0解决方案,为用户提供更具性价比、更高效的开发和维护体验的Serverless计算服务。函数计算2.0提供了丰富的计费方式、全新的实例类型、灵活的自定义运行时、全方位升级的工具链。图7-PrepaidandPostpaidFunctionComputing2.0通过一系列创新功能解决了当前Serverless计算服务在成本、性能、应用构建等方面的痛点,极具竞争力。全球率先推出预付费(包年包月)计费模式。与postpaid相比,prepaid的单价降低了70%以上。应用所需资源的稳定部分采用预付费模式,单价低;弹性部分用后付费,资源利用率高。结合预付费和后付费,用户可以显着降低成本。图8-预留实例和按需实例更重要的是,函数计算2.0增加了一种新型的预留实例,允许用户自行管理实例的申请和释放。通过预留实例,用户可以提前预热功能或长期驻留实例,消除实例启动带来的请求延迟。当负载超过预留实例的处理能力时,系统会自动扩容,使用按需实例处理请求。同时,函数计算提供了详细的实例使用指标,帮助用户轻松预留合理数量的实例。图9-用户体验用户在函数计算平台上构建弹性高可用的云原生应用。如果没有好用的开发、调试、运维工具,用户体验会大打折扣。函数计算2.0大大提升了Serverless应用构建运维的用户体验。用户可以在自己的开发机本地环境中创建一个与云端运行环境一致的沙箱,进行依赖包安装、断点调试等操作。函数计算2.0还为VSCode、IntellijIdea、PyCharm等流行的开发工具提供了插件,通过图形用户界面的交互方式进一步降低了工具的使用门槛。
