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

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
20天前
|
Serverless SQL 容灾
实时数仓Hologres V2.2发布,Serverless Computing降本20%
实时数仓Hologres V2.2发布,Serverless Computing降本20%
实时数仓Hologres V2.2发布,Serverless Computing降本20%
|
21天前
|
Serverless 持续交付 测试技术
无服务器应用架构转型
【6月更文挑战第2天】Serverless架构虽新,但其软件生命周期仍遵循传统模式,需确保交付质量。
|
22天前
|
资源调度 运维 Cloud Native
云原生架构技术之无服务器技术
当这些BaaS云服务日趋完善时,无服务器技术(Serverless)因为屏蔽了服务器的各种运维复杂度,让开发人员可以将更多精力用于业务逻辑设计与实现,而逐渐成为云原生主流技术之一。
38 5
|
24天前
|
消息中间件 弹性计算 监控
【Serverless架构组成及优势适用场景】
Serverless的弹性伸缩、按需计费、无状态等特性使得开发者能够更加专注于业务逻辑,摆脱繁琐的服务器管理。它的优势在于灵活应对突发性工作负载、降低成本、提高开发效率,尤其在事件驱动、微服务、后端API等场景中表现出色。虽然Serverless仍然在不断发展,但其已经在云计算领域掀起了一场革命,成为当今应用开发的热门选择。随着技术的不断演进,我们有理由期待Serverless将继续推动应用开发的创新,为我们构建更加高效、可靠的应用提供更多可能。
|
26天前
|
运维 Cloud Native 开发者
云原生架构的未来演进:从容器化到无服务器
【5月更文挑战第28天】 在现代IT领域,云原生技术正成为推动企业数字化转型的核心力量。本文将探讨云原生架构的关键组成部分,包括容器化、微服务以及无服务器计算,并预测这些技术的发展趋势。文章旨在提供一个全面的视角,以理解云原生生态系统如何适应日益复杂的业务需求,并支持构建更加灵活、可扩展的应用程序。
|
1月前
|
运维 监控 JavaScript
【阿里云云原生专栏】Serverless架构下的应用部署与运维:阿里云Function Compute深度探索
【5月更文挑战第21天】阿里云Function Compute是事件驱动的无服务器计算服务,让用户无需关注基础设施,专注业务逻辑。本文详述了在FC上部署应用的步骤,包括创建函数、编写代码和部署,并介绍了运维功能:监控告警、日志管理、版本管理和授权管理,提供高效低成本的计算服务。
243 6
|
1月前
|
安全 Serverless API
Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费
【5月更文挑战第16天】Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费。其出色的并发处理能力和自动扩展确保高并发场景的顺利执行。简化开发流程,让开发者专注业务逻辑,同时提供丰富API和集成服务。安全方面,Serverless通过云服务商管理基础架构和多种安全机制保障任务安全。因此,Serverless是处理高并发、动态需求的理想选择,尤其适合图像处理领域。随着技术发展,其应用前景广阔。
33 4
|
1月前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
1月前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
|
1月前
|
存储 运维 Serverless
Serverless架构在图像处理领域展现出了强大的优势
【4月更文挑战第22天】Serverless架构在图像处理中表现出显著优势:弹性伸缩自动适应负载变化,节省成本;按需付费减少费用,适合需求波动场景;简化运维让开发者专注应用创新;快速迭代部署提升市场响应速度;高可用性和容错性保证服务稳定性;跨平台支持增强兼容性;丰富生态加速开发进程。因此,Serverless是图像处理的理想选择。
31 1

热门文章

最新文章

相关产品

  • 函数计算