2022云栖精选—Serverless Computing技术架构

简介: 陈全上海交通大学教授

lQLPJxbcF2cqNBvMiM0FeLCMz4ifcSGHeANpqgFLAEAA_1400_136.png

一、Serverless Computing技术特点

幻灯片4.PNG

Serverless Computing 是介于基础云计算平台和上层用户应用之间的新层次,通过函数计算提供通用计算能力。这种新型计算模式具有以下几个典型特点:

第一,无需进行底层运维管理,所有运维交由云提供商进行上层业务人员仅需关注业务本身逻辑。

第二,采用 Pay-as-you-go 计费模式,无需长时间租用服务器。

第三,按需资源扩展,需要多少资源使用多少资源。

第四,事件驱动可以提供更加灵活函数和容器调度。


幻灯片5.PNG

想要实现以上目标,将会面临以下挑战。

第一,底层运维时,云提供商需要考虑如何能够实现多个租户不同函数之间高效隔离,保证其安全性。

第二,因为事件驱动内在调用方式,需要保在新型函数调用方式下实现快速响应。

第三,如何实现高效任务调度,提高云计算平台资源利用率。

针对以上挑战,我们需要解决以下几个问题:

第一,如何将底层各式各样硬件进行高效抽象基于抽象即可设计高效隔离策略。

第二,如何权衡性能和资源问题,分配给函数多少资源能够恰好满足性能需求

第三,需要在整个云层面、集群层面进行高效负载均衡,提高其资源利用率。


二、Serverless Computing的分层架构

幻灯片7.PNG

在分层结构上,我们调研了大量学术界和工业界采用 Serverless Computing 平台,发现他们大多将平台分为三个层面,从下至上分别为虚拟化层、封装层和系统层。系统层又可以进一步分为协调层和编排层。

幻灯片8.PNG

上层系统层主要负责协调和调度工作。其中协调指提供很多后台软件支持,比如数据库支持、内存数据库支持通过后台软件,函数计算才能正确地运行。调度功能主要解决单个函数资源扩展问题,函数调用多次,需要为其分配多少副本多少容器才能满足性能需求,是调度层需要解决事情,另外,海量容器同时存在一个节点上如何进行负载均衡也是调度层需要解决的问题

容器封装层将用户函数调用封装在低开销容器中运行要避免容器本身启动开销导致函数响应时间过长,因此涉及到预热,需要预先为函数启动好容器。

虚拟化层提供了更基础支持,比如函数具体实现容器具体实现以及资源隔离机制计算资源存储资源具体的隔离机制在虚拟化层实现。

幻灯片9.PNG

虚拟化层有多种实现方式,可以基于容器实现资源分配和隔离,也可以基于传统虚拟机实现资源分配和隔离。

幻灯片10.PNG

现有的虚拟化层隔离技术基本可以分为四类,各具优缺点。

第一类:基于虚拟机虚拟化方法。它具有更高安全性,因为虚拟机实现了资源完全隔离。

第二类基于传统 runc容器runc 容器资源开销较小,运行快但是隔离性安全性较差。

第三类:基于安全容器。安全容器将虚拟机技术和传统容器技术做了一定权衡,运行资源开销较小,同时隔离性和启动速度比虚拟机更好。现有发展趋势大多为使用安全容器技术。

第四类:基于 unikernel 。兼容性较差,需要针对特定函数以及特定应用提前编译镜像,且一旦编译好之后则无法修改。

幻灯片11.PNG

封装层需要解决容器冷启动开销问题,我们不希望容器启动开销造成函数运行时间急速增长。最为广泛的解决方法容器预热技术。

幻灯片12.PNG

容器预热技术分为两种。

独立容器预热池:该方法会为每个函数构建独立预热容器池。但缺点在于会占用过多系统资源因为每容器都有自己池,池中都需要预热一批容器为函数服务。

模板容器池:该方案会为所有函数预热同一套模板容器,里面可以运行所有函数。当函数需要容器时,会从模板池中取出容器出,对其进行特异化。特异化是指为其安装函数本身需要各种依赖数据。其优点在于资源占用较少但特异化本身也存在开销,甚至可能比冷启动容器开销更大。

幻灯片13.PNG

系统层主要负责协调和编排工作。


幻灯片14.PNG

目前学术界对系统层进行研究的关键问题包括:

① 复杂拓扑逻辑支持单个函数功能非常有限,需要将多个函数将组合成有无环DAG实现复杂功能。对应 Serverless Computing 平台需要提供DAG图引擎支持复杂拓扑逻辑。

② 集群资源管理器需要实时地监控集群中各个节点上资源使用量,保证可用性和性能稳定。

③ 负载均衡器需要考虑应用中各个服务之间冲突情况数据传输压力以及资源使用量进行全局负载均衡,设计高效调度策略满足资源利用率提升目标。


三、Serverless Computing的未来展望

幻灯片16.PNG

未来,Serverless Computing 向着通用化、高效化和智能化三个方向进行发展。

通用化除了计算,也可以设计 Serverless存储系统,设计更高效的执行架构以用于各种应用场景,不再局限于普通计算加速。

高效化:能够做硬件异构硬件统一抽象,使得 Serverless Computing平台不仅支持 CPU 函数,可以使用 GPU 神经网络加速器等各种异构硬件,做统一抽象和管理研究预热模板和应用画像结合尽量使用最少的资源满足每一个函数都可以获得热容器目标。

智能化指导容器规格恰好合适”,需要知道为每个容器分配多少 CPU 资源内存资源可以刚刚好达到预期目标,保证资源不浪费的同时也保证了延迟。实现Serverless混部 SLA 保障成千上万个容器混合在一个物理节点上,互相之间会存在严重资源竞争。如何在混合部署情况下控制容器之间冲突,也是未来需要探索方向。

关于龙蜥峰会 eBPF & Linux 稳定性专场课件获取方式:


【PPT 课件获取】:关注微信公众号(OpenAnolis),回复“龙蜥课件” 即可获取。有任何疑问请随时咨询龙蜥助手—小龙(微信:openanolis_assis)。


【视频回放】:视频回放可前往龙蜥官网https://openanolis.cn/video 查看。


lQLPJxbcF2cqM2TM-M0CnrCgW_7LDpyh1wNpqgFKAPsA_670_248.png

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
8月前
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
254 0
|
8月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
778 69
|
7月前
|
数据采集 运维 监控
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
随着互联网数据采集需求的增长,传统爬虫架构因固定IP易封禁、资源浪费及扩展性差等问题逐渐显现。本文提出基于Serverless与代理IP技术的新一代爬虫方案,通过动态轮换IP、弹性调度任务等特性,显著提升启动效率、降低成本并增强并发能力。架构图与代码示例详细展示了其工作原理,性能对比数据显示采集成功率从71%提升至92%。行业案例表明,该方案在电商情报与价格对比平台中效果显著,未来有望成为主流趋势。
285 0
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
|
8月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
475 12
|
10月前
|
Kubernetes 监控 Serverless
基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。
|
10月前
|
SQL 分布式计算 容灾
实时数仓Hologres V2.2发布,Serverless Computing降本20%
实时数仓Hologres V2.2发布,Serverless Computing降本20%
112 0
实时数仓Hologres V2.2发布,Serverless Computing降本20%
|
11月前
|
SQL 监控 Serverless
Hologres Serverless Computing 快速入门
本文自阿里云智能- Hologres 团队恒定的分享,主题是 Hologres Serverless Computing 快速入门,主要包括以下内容: 1. Hologres Serverless Computing 架构介绍 2. Hologres Serverless Computing 使用入门
311 15
|
9月前
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
214 0
|
11月前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
233 10

热门文章

最新文章

相关产品

  • 函数计算