《2021 阿里云可观测技术峰会演讲实录合辑(上)》——五、阿里云Serverless可观测实践【上】

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 《2021 阿里云可观测技术峰会演讲实录合辑(上)》——五、阿里云Serverless可观测实践【上】

作者:孔德慧

 

Serveless简介

image.png

Serverless是云原生技术发展的高级阶段,从物理机到云主机再到Serverless的发展,就好比人类从采集野果的原始社会,到刀耕火种的古代社会,再到工业设施完善信息化高度发展的现代社会。人总是要想办法填饱肚子,但是随着社会的发展与生产力的进步,人类在如何填饱肚子上花的时间越来越少,而花费更多的时间用来实现社会价值与个人理想。人类依然需要填饱肚子,但不再需要亲自摘果子,无需亲自放羊,甚至无需关心果子从哪儿摘。

 

从物理机到Serverless的发展也是类似的。物理机时期,开发者需要组装服务器,搭建机房,为了承接业务峰值需要提前准备平时几倍流量的服务器资源;而到了云主机时期,开发者无需组装机器也可以获取到计算资源,能够直接基于云主机搭建业务。为了承接峰值流量,只需提前规划并且购买云主机,结束后释放云主机,自由计算资源的利用率得到了进一步的提升,资源成本也有所下降;到了Serverless阶段,开发者不但无需组装服务器,甚至无需提前购买与释放计算资源,只需专心于开发业务逻辑,由Serverless云产品来保障业务稳定可靠地运行,开发者只对使用的计算资源付费,资源成本进一步下降。

 

Serverless时代不是没有服务器,而是业务开发者无需关注服务器,代码仍然运行在真实存在的服务器之上;计算资源的维护从用户转交给了云服务,用户只需要聚焦于业务逻辑代码的开发,按使用量付费。

 

从物理机到Serverless,将开发者从复杂的基础设施维护中解放出来,开发者无需关心底层的基础设施,只需关心业务逻辑的实现,资源利用率更高,资源成本更低,人力成本更低。

image.png

弹性容器实例ECI、Serverless K8s ASK、Serverless应用引擎SAE、函数计算FC分别是容器级别、集群级别、应用级别与函数级别的抽象。

 

ECI属于容器资源层,开发者无需管理底层服务器,只需提供提前打包好的镜像即可运行容器。但是多大的负载、需要多少容器、什么时候扩容、什么时候缩容、流量如何调度等还需上层来解决。

 

ASK属于容器编排层,帮助开发者进行ECI的编排、节点的维护与容量的规划。集群还是用户的,ASK只是帮助用户搭建集群、调度流量。

 

SAE是面向应用的Serverless PaaS平台,计算集群不再属于用户,而是归云产品所有。SAE所有开发者无需维护、管理计算集群,只需部署应用,搭建负载均衡的网关,即可将业务弹性平稳地运行起来。

 

FC是面向函数的FaaS平台,计算资源归云产品所有,即归函数计算所有。开发者不仅无需维护计算集群,也无需搭建负载均衡的网关,函数计算内置了负载均衡的网关与削峰填谷的队列,开发者只需编写业务逻辑代码,由函数计算来保障应用的弹性稳定运行。


函数计算的研发与运维效率最高,抽象程度也最高,用户无需提前购买与配置任何计算资源,一行代码即可在函数计算上将应用跑起来。过程中,只有代码是用户的,其他的全部计算资源都属于函数计算。

image.png

上图左侧是函数计算的简易架构图。首先,用户需要将应用以包或者镜像的格式先上传到函数计算。调用请求过来以后,会分成同步调用与异步调用。

 

同步调用请求会先经过负载均衡的网关到达函数计算系统的网关,调度模块获取计算资源的地址后,找到计算资源对应的函数执行引擎,并在函数执行引擎里执行用户代码。

 

异步调用会先将事件写入消息队列,有专门的异步事件分发模块负责从消息队列里读取事件消息,再从资源调度模块获取计算资源,然后找到计算资源执行用户代码。

 

从架构图中不难发现函数计算架构具有如下特征:

 

第一, 调度黑盒化,执行环境黑盒化。调度节点与执行环境都归云产品,所有的调度节点与执行环境用户都无法感知,这也给用户排查问题带来了一定困难

第二, 实例轻量化。实例以请求级别扩缩容,实例的生命周期更短、更不可控。实例扩容后,若没有请求执行,一段时间后会将实例缩容;此外实例规格小,最小的规格为1/12vCPU

第三, 组件分布化。函数计算典型的事件触发场景中,请求要流转多款云产品,函数计算只是其中一环。

基于以上特征,可以发现函数计算与此前的传统开发模式有着很大的区别。函数计算可观测也面临了诸多挑战:

 

第一, 数据收集难

实例生命周期更短,实例规格更丰富、更小。传统的部署 agent 可观测技术无法施展

函数的执行引擎为多租户共享,执行引擎里可能有多个用户的函数实例,传统的部署 agent 方式也不支持多租户形式。函数的生命周期是由系统控制,用户无法判断开始与结束时间,导致很多可观测数据无法成功发送。

 

第二, 数据分析难。

数据量大,而且会随着用户数的增长而呈指数级的增长。对数据链路的稳定性、数据的查询速度和存储成本都带来了非常大的挑战,也给数据分析带了不少难度。

 

第三, 问题定位难。

分布式的组件使得监控数据散落在各处,问题定位流程繁琐。以事件源触发为例,请求会先通过事件源,然后到函数计算执行用户代码,再由执行引擎里处理消息,并将处理结果存储到用户另外的数据库里。上述流程中,请求经历了好几个云产品。如果用户发现请求端到端延时很长,需要先查看上游是否有问题,再看函数计算调度是否有问题,再看下游数据库连接是否满了,流程异常繁琐

调度黑盒化,执行环境黑盒化。因为执行环境都属于用户,用户无法进行管理,唯有要求云产品侧暴露更多指标,使原本黑盒的链路稍微白盒化

函数调用与资源调度都是以请求为粒度的,实例粒度监控已经不足以帮用户快速定位问题,需要提供更细粒度的排查与定位问题的能力。

image.png

基于以上痛点,开发者对函数计算的可观测提出了更高要求,期望函数计算平台提供功能更全面、上手更简单的可观测能力。我们收集了客户需求,总结出以下三点目标:

 

第一, 提供开箱即用的可观测平台,统一的观测页面。用户无需进行复杂的配置,甚至无需配置,开箱即用

平台端需要无侵入地进行数据采集、上报、处理、展示。

提供丰富的指标、完备的日志、详细的调用链,提供尽可能多的指标让用户充分了解执行环境。

提供更细粒度、以请求为粒度的可观测能力,实现全链路的白盒化。

第二, 兼容传统开发者的开发习惯,提供以实例为问题定位单元的观测体验

第三, 数据开放,协议开源。

将观测数据投递给用户,允许用户进行自定义处理

协议使用开源规范,方便用户统一对数据进行处理。

 

接下篇:

https://developer.aliyun.com/article/1222670?groupCode=alisoftwaretech

 

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
18天前
|
弹性计算 关系型数据库 Serverless
函数计算驱动多媒体文件处理:高效、稳定与成本优化实践
本次测评的解决方案《告别资源瓶颈,函数计算驱动多媒体文件处理》展示了如何利用阿里云函数计算高效处理多媒体文件。文档结构清晰、内容详实,适合新客户参考。方案提供了一键部署与手动部署两种方式,前者简便快捷,后者灵活性高但步骤较多。通过部署,用户可体验到基于函数计算的文件处理服务,显著提升处理效率和系统稳定性。此外,测评还对比了应用内处理文件与函数计算处理文件的不同,突出了函数计算在资源管理和成本控制方面的优势。
22675 19
|
2天前
|
消息中间件 关系型数据库 Serverless
【阿里云】一键部署创建函数计算服务以处理多媒体文件
通过阿里云的一键部署功能,轻松创建函数计算服务以处理多媒体文件。首先选择地域并配置资源栈名称及其他必要参数,如登录凭证、实例类型及数据库配置。过程中可能需开通相关服务如消息服务MNS,并确保账户有足够的余额。完成配置后,系统自动创建资源栈。当状态显示“创建成功”即部署完毕。最后,通过提供的URL及凭据访问应用,上传PPTX文件进行处理,并下载处理后的结果。
27 4
|
12天前
|
运维 Kubernetes Serverless
Serverless Argo Workflows荣获信通院标杆实践案例,引领大规模离线任务处理新方法
阿里云容器服务Serverless Argo Workflows大规模离线计算工作流平台荣获2024信通院Serveless实践标杆案例。本文介绍其应用场景、平台特性以及领域实践。
|
7天前
|
运维 物联网 关系型数据库
关于阿里云Serverless 框架的产品体验
阿里云Serverless框架简化运维,实现5分钟一键部署。弹性伸缩、按需付费等特点让企业专注业务创新,降低成本与运维负担。适用于Web应用、数据分析、物联网等多种场景,支持快速迭代与多语言开发。尽管面临资源配额、网络配置等挑战,其竞争力在于成本节约、功能集成与性能优化,尤其适合追求高效开发与弹性扩展的团队。
29 1
|
13天前
|
关系型数据库 Serverless 分布式数据库
阿里云 Serverless 高可用架构
阿里云的《卓越效能,极简运维,Serverless高可用架构》解决方案提供了全托管服务、自动扩展、高可用性、无缝集成以及内置安全等核心功能。该方案通过免除底层基础设施的管理,允许用户专注于应用程序开发,同时确保应用的稳定运行和资源的有效利用。 **核心功能简介**: - **全托管服务**:用户无需关心底层硬件,由阿里云负责维护和扩展计算资源。 - **自动扩展**:根据业务需求自动调整资源,确保应用在高峰期有足够的计算能力,低谷期则节省成本。 - **高可用性**:多地域和多可用区部署,实现故障自动切换,确保业务连续性。 - **无缝集成**:与阿里云的其他服务(如数据库、消息队列等)深度
|
18天前
|
编解码 弹性计算 Serverless
解锁多媒体处理新纪元:阿里云函数计算,一键驱动高效、灵活、成本优化的文件处理解决方案!
【8月更文挑战第2天】随着云计算的发展,高效灵活的多媒体处理成为必需。阿里云函数计算提供全托管服务,用户仅需上传代码,平台自动配置资源,支持毫秒级弹性伸缩。与对象存储服务集成,实现视频转码、音频提取及图片压缩等功能,按需付费降低成本。示例展示了基于Python的视频转码函数,体现其在多媒体处理领域的强大潜力和优势。
26 10
|
15天前
|
Cloud Native Serverless 云计算
云原生时代的技术演进:从微服务到Serverless
在数字化转型的浪潮中,云原生技术正成为推动企业IT架构现代化的重要力量。本文将探讨云原生技术的关键组成部分—微服务与Serverless架构—如何助力企业实现敏捷开发和高效运维。通过深入分析这两种架构模式的优势与挑战,我们旨在为读者揭示云原生环境下的最佳实践和未来发展趋势。
|
1天前
|
缓存 JavaScript Serverless
阿里云云效产品使用合集之如何在Serverless Devs阶段指定Node.js版本
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4天前
|
分布式计算 Serverless 数据处理
EMR Serverless Spark 实践教程 | 通过 Apache Airflow 使用 Livy Operator 提交任务
Apache Airflow 是一个强大的工作流程自动化和调度工具,它允许开发者编排、计划和监控数据管道的执行。EMR Serverless Spark 为处理大规模数据处理任务提供了一个无服务器计算环境。本文为您介绍如何通过 Apache Airflow 的 Livy Operator 实现自动化地向 EMR Serverless Spark 提交任务,以实现任务调度和执行的自动化,帮助您更有效地管理数据处理任务。
32 0
|
4天前
|
Cloud Native 安全 云计算
云原生技术的未来:探索服务网格和无服务器架构
随着企业数字化转型的深入,云计算已成为推动业务创新的核心力量。本文将深入探讨云原生技术的最新发展趋势,重点分析服务网格和无服务器架构如何重塑云计算的未来。通过实际案例和技术解析,揭示这些前沿技术如何解决现代应用部署的复杂性,提高系统的可伸缩性和弹性。文章旨在为读者提供云原生领域的深度见解,并激发对云技术未来发展的思考。
21 0

相关产品

  • 函数计算