函数计算 GB 镜像秒级启动:下一代软硬件架构协同优化

简介:本文将介绍借助函数计算下一代 IaaS 底座神龙裸金属和安全容器,进一步降低绝对延迟且能够大幅降低冷启动频率。

作者:修踪

背景

函数计算在 2020 年 8 月创新地提供了容器镜像的函数部署方式。AWS Lambda 在 2020 年 12 月 Re-Invent,国内其他 FaaS 提供商在 2021 年 6 月也相继宣布了 FaaS 支持容器的重磅功能。冷启动一直都是 FaaS 的痛点,引入比代码压缩包大几十倍的容器镜像后冷启动恶化便成为开发者最大的担忧。

函数计算在支持容器镜像的设计阶段就决定要让开发者像使用代码包(秒级弹性能力)一样的体验使用镜像,既要易用性也要保持 FaaS 自身的极致弹性,免除用户的纠结和取舍。理想的用户体验是函数调用几乎感觉不到镜像数据远程传输带来的延迟额外消耗。

优化镜像加速冷启动大致分为两种做法:降低绝对延迟和降低冷启动概率。自容器镜像上线以来我们已经通过镜像加速技术,分阶段降低了绝对延迟。本文在此基础上,介绍借助函数计算下一代 IaaS 底座神龙裸金属和安全容器,进一步降低绝对延迟且能够大幅降低冷启动频率。

优化历程

1.png

(以某一镜像为例)

第一代架构:ECS 虚构机

第一阶段(2021 年 3 月):按需加载,减少数据传输

过去的问题在于启动镜像前全量拉取镜像内部数据,导致无用的镜像数据也会被完整下载而占用了过多的准备时间。于是我们最初的优化方向是尽量忽略无用的镜像数据,达到按需加载。为此,我们通过镜像加速技术,省略掉了拉取无用数据的时间,实现了函数计算自定义镜像冷启动从分钟级到秒级提升的相关技术细节。

第二阶段(2021 年 6 月):记录容器实例启动 I/O 轨迹,在后续实例启动中提前预取镜像数据

我们发现,函数实例在容器启动和初始化阶段,I/O 数据访问模式高度一致。根据 FaaS 平台基于应用运行模式调度资源的特点,我们在函数实例首次启动时记录了 I/O 轨迹的脱敏数据,在后续的实例启动时,将轨迹数据作为提示,提前预取镜像数据到本地,进一步减小了冷启动延时。

上述两种加速优化虽然大幅减小了冷启动绝对延迟,但由于传统 ECS VM 在闲置一段时间后就会被回收,再次启动新机器时就会重新触发冷启动。于是,如何减少冷启动频次便成为了下一阶段重点攻克的题目之一。

下一代架构:弹性裸金属服务器(神龙)+microVM

在设计下一代架构时我们不仅考虑解决冷启动频次问题,也同样注意到缓存对于启动时延的影响。于是我们创新性的发明了 Serverless Caching,根据不同的存储服务特点构建数据驱动、智能高效的缓存体系,实现软硬件协同优化,将 Custom Container 体验进一步提升。函数计算后台神龙的更迭时间远大于 ECS VM 的闲置回收时间,对于用户侧而言,热启动频率大幅提升,在冷启动后,缓存会持续保留在神龙机器上,缓存命中率可达 90% 以上。

对比 ECS 虚拟机,神龙裸金属加上微型虚拟机的架构为镜像加速带来了更多的优化空间:

  • 减小回源带宽压力并且减少重复数据存储。比起 ECS VM 来,同时几千实例启动,对于镜像仓库的读放大和磁盘存储空间的写放大降低至少两个数量级。
  • 虚拟机级别的安全隔离使得函数计算组件可以安全地组成可用区级别缓存网络,速度传输速度甚至优于云盘。

函数计算 Custom Container 登陆神龙的同时也提高了资源利用率,降低成本,这对用户和服务端维护是双赢。

Serverless Caching 的架构则可以在不增加资源使用成本的同时提供更多的优化潜力。

2.png

(L1~L4 为不同级别缓存,距离和延迟从小到大)

横向对比

到目前为止,我们已经将镜像加速优化到了较高的水准。我们在函数计算的公开用例里面挑选了 4 个典型的镜像并将它们适配至国内外几个大型云厂商(名称以厂商 A、厂商 B 代替)进行横向对比,每间隔 3 小时调用上述镜像,重复数次,我们得到了以下结果:

1、AI 在线推理-猫狗识别

该镜像包含了基于 TensorFlow 深度学习框架的图像识别应用。阿里云函数计算和厂商 A 都能正常运行,但厂商 A 性能较差。厂商 B 则无法正常运行。下图中阿里云函数计算和厂商 A 的延时数据包含镜像拉取,容器启动,执行推理运算端对端的延时,而厂商 B 的数据只是拉取镜像部分的延时,都已经是最慢。FC 相对稳定,可以看出函数计算在 CPU 消耗型如 AI 推理方面有着更大优势。

3.png

以云盘热启动为基准(灰色),对比各个厂商的额外开销(彩色)

2、Python Flask Web Service

此镜像为常见的网络服务,内部使用 Python 搭配 Flask 服务框架。此镜像的作用旨在测试不同云产品是否有能力完成高效按需加载。FC 与厂商 A 均有波动但后者的波动最为明显。

4.png

以云盘热启动为基准(灰色),对比各个厂商的额外开销(彩色)

3、Python 机器学习运算

镜像内同样是 Python 运行环境,可以看出各个厂商依旧保持着各自的特性,厂商 B 全量下载,厂商 A 部分请求有优化但不稳定。

5.png

以云盘热启动为基准(灰色),对比各个厂商的额外开销(彩色)

4、Cypress Headless Chrome

此镜像包含无头浏览器测试流程,厂商 A 由于编程模型限制和运行环境不兼容无法运行。而厂商 B 过慢只能在规定时间内耗时 71.1 秒完成应用初始化。不难看出函数计算在重 I/O 的镜像方面依然有着不错的表现。

6.png

以云盘热启动为基准(灰色),对比各个厂商的额外开销(彩色),绿色部位为优于基准线的端到端耗时

推荐最佳实践

支持容器技术是 FaaS 的必备特质,容器增加了可移植性和交付敏捷性,而云服务减轻了运维与闲置成本、提供了弹性扩缩容能力。自定义镜像与函数计算结合最直接的解决了用户为云厂商定制化地移植大容量业务逻辑带来的困扰。

FaaS 运行容器时需要尽可能消除额外开销,使用户体验与本地运行场景相近。稳定快速的运行同样是优秀 FaaS 的标准,FC 提供了镜像加载优化的同时大大降低了冷启动频次为稳定快速的运行提供了保障。不仅如此,在应用的可移植方面更加需要做到平滑,不限制开发模式的同时也要尽量降低用户使用门槛。函数计算自定义镜像支持标准 HTTP 服务,自由配置可用端口,可读的同时也可写,提供多种工具链以及多元化的部署方案,无强制等待镜像准备完成时间,自带 HTTP 触发而不依赖其他云服务,支持自定义域名等一系列优质解决方案。

函数计算自定义镜像适用但不限于人工智能推理、大数据分析、游戏结算、在线课程教育、音视频处理等。推荐使用阿里云容器镜像服务企业版实例 ACR EE,自带镜像加速功能,省去使用 ACR 镜像时手动开启加速拉取和加速镜像准备的步骤。

AI/ML 在线推理

推理类计算依赖大体积底层训练框架以及大量的数据处理,普通的 AI 框架如 Tensorflow 的镜像可以轻松达到 GB 级,对 CPU 要求已经很高,要再满足扩缩容就更是挑战。函数计算自定义镜像可以很好的解决此类需求,用户只需直接使用底层训练框架镜像并与数据处理逻辑打包至新的镜像内便可以轻松省去更换运行环境所带来的移植开销,同时又可以满足弹性扩缩容带来的快速训练结果。歌曲喜好推理、图片 AI 识别分析等都可以无缝与函数计算衔接以达到弹性满足大量动态的在线推理请求。

7.png

轻量灵活 ETL

服务都依赖数据,而数据处理往往需要消耗大量资源来满足高效快速的数据变更请求。自定义镜像与其他函数计算运行时一样可以满足数据处理时的安全隔离,又同时保留了用户将数据处理部分的业务逻辑自由的打包成镜像的便捷能力。提供平滑迁移的同时满足了镜像启动的极低额外延时,满足了用户针对如数据库治理、万物物联等应用场景的安全,高效,弹性的数据处理需求。

8.png

游戏战斗结算

各类游戏内通常会设置日常任务等场景短时间集聚大量玩家同时需要战斗结算一类的数据处理,为了不让游戏玩家失去耐心,战斗数据校验通常需要在短短几秒内完成,且单个玩家的数据结算单位时间不能随着玩家数量增长而恶化。此类数据处理的业务逻辑通常繁杂且高度重复,将玩家数据处理逻辑打包至函数计算自定义镜像内便可以弹性满足短时间大量相似的玩家结算请求。

9.png

未来规划

优化函数计算自定义镜像的初衷就是要让用户感受不到容器镜像传输带来的额外延迟,给云原生开发者最极致的体验。优化不会停止,我们最终的目标是几乎消除容器镜像拉取的额外开销和大量扩容时镜像仓库成为瓶颈,极速伸缩。进一步完善 Serverless Caching 的同时 Custom Container 功能未来会帮助 Kubernetes 上的 Web 应用, Job 类工作负载无缝运行在函数计算。Kubernetes 负责处理常驻、流量稳定的工作负载,Serverless 服务分担波动明显的计算将逐渐成为云原生的最佳实践。

原文链接
本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511949.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么服务端程序都需要先 listen 一下?

作者 | 张彦飞allen来源 | 开发内功修炼大家都知道,在创建一个服务器程序的时候,需要先 listen 一下,然后才能接收客户端的请求。例如下面的这段代码我们再熟悉不过了。int main(int argc, char const *argv[]) {int fd socket(AF_INET, SOC…

10个Bug环环相扣,你能解开几个?

简介:由阿里云云效主办的2021年第3届83行代码挑战赛已经收官。超2万人围观,近4000人参赛,85个团队组团来战。大赛采用游戏闯关玩儿法,融合元宇宙科幻和剧本杀元素,让一众开发者玩得不亦乐乎。 今天请来决赛赛题设计者…

小小智慧树机器人_国网营业厅“AI新势力”,科沃斯商用机器人解锁智慧服务新模式!...

智慧营业厅新格局,AI机器人成标配?AI加持,万物互联、万物智能。2019年,应用人工智能的门槛下降,大量人工智能催生的新产品、服务和最佳实践轮番出现。人工智能正在重塑各行各业,传统营业厅网点该如何搭上AI…

AIoT时代存储如何升级?长江存储发布高速闪存芯片UFS 3.1

2022年4月19日,长江存储科技有限责任公司(简称“长江存储”)宣布推出UFS 3.1通用闪存——UC023。这是长江存储为5G时代精心打造的一款高速闪存芯片,可广泛适用于高端旗舰智能手机、平板电脑、AR/VR等智能终端领域,以满…

零信任策略下云上安全信息与事件管理实践

简介:随着企业数字化转型的深入推进,网络安全越来越被企业所重视。为了构建完备的安全防御体系,企业通常会引入了防火墙(Firewall)、防病毒系统(Anti-Virus System,AVS)、入侵防御系统(Intrusion Prevention System,IP…

kl散度度量分布_数据挖掘比赛技巧——确定数据同分布

在数据挖掘比赛中,很重要的一个技巧就是要确定训练集与测试集特征是否同分布,这也是机器学习的一个很重要的假设[1]。但很多时候我们知道这个道理,却很难有方法来保证数据同分布,这篇文章就分享一下我所了解的同分布检验方法。封面…

Inclavare Containers:云原生机密计算的未来

简介:本文为你详细的梳理一次 Inclavare Containers 项目的发展脉络,解读它的核心思想和创新技术。 作为业界首个面向机密计算场景的开源容器运行时,Inclavare Containers 项目于 2020 年 5 月开源,短短一年多时间内发展势头非常迅…

没有操作系统程序可以运行起来吗?

作者 | 陆小风来源 | 码农的荒岛求生现在的程序员对操作系统已经习以为常了,但是你有没有想过,如果没有操作系统的话我们可以让程序运行起来吗?先说答案,当然是可以的,而且必须是可以的。你可以从这个角度来思考&#…

sysAK(青囊)系统运维工具集:如何实现高效自动化运维?| 龙蜥技术

简介:What is sysAK、典型工具介绍、开源 3 方面介绍了 sysAK 系统,目前 sysAK 工具集已经在龙蜥社区开源,并且在系统运维 SIG、跟踪诊断 SIG 一起共建,希望大家后期加入 SIG 一起讨论共建。 编者按:本文整理自「云栖…

quill鼠标悬浮 出现提示_CHERRY MC8.1鼠标评测:超前设计延续军火箱信仰

CHERRY作为机械键盘品牌拥有非常高的知名度,许多朋友的第一把机械键盘就是CHERRY品牌。在CHERRY产品线中,最具信仰的一定是军火箱MX8.0键盘。键盘本身手感颜值俱佳,独特的军火箱包装更是收获了大批粉丝。至于最配这把键盘的鼠标却一直让网友们…

高并发IO的底层原理

作者 | 阿辉来源 | Andy阿辉思考:作为程序员的我们,在编写软件进行文件读取,网络收发数据时,是不关心其具体的内部数据传输的。只关心把数据传输到缓冲区或及时从缓冲区读取数据。那么内部究竟是如何实现的呢,今天这篇…

新能源汽车太猛了,这些卡脖子技术你了解吗?

简介:从汽车行业的变化,我们即可初步看出芯片的重要性,那么,芯片对汽车行业的发展具体有哪些重要影响呢? 根据全球汽车咨询机构Auto Forecast Solutions统计的数据,截至10月10日,由于芯片短缺&…

龙蜥社区成立系统运维SIG,开源sysAK系统运维工具集

简介:系统运维SIG致力于打造一个集主机管理、配置部署、监控报警、异常诊断、安全审计等一系列功能的自动化运维平台。 OpenAnolis 龙蜥社区(以下简称“龙蜥社区”)正式成立系统运维(System Operation&Maintenance, sysOM&…

奔跑吧兄弟变成机器人是哪一期_奔跑吧预告,郑恺郭麒麟回归,而我却被女嘉宾的颜值吸引了...

哈喽小伙伴们,近期大家都看了《奔跑吧黄河篇》吗?现在已经播到第二期了,相信大家依旧是对跑男系列节目非常感兴趣的,播放量非常高,稳稳占据TX和AQY两大视频平台的综艺播放第一名的位置,可见网友们真的是非常…

院士专家热议如何拥抱“东数西算”,第二届中国IDC行业Discovery大会顺利召开

4月21日,一场别开生面的主题为“聚光奔赴”的数据中心行业大会圆满落下帷幕。由中国通信工业协会数据中心委员会指导,中国IDC圈与世纪互联共同主办的“2022年第二届中国IDC行业Discovery大会”在线上召开,会议聚焦国家“双碳”目标、“东数西…

一文理解 K8s 容器网络虚拟化

简介:本文需要读者熟悉 Ethernet(以太网)的基本原理和 Linux 系统的基本网络命令,以及 TCP/IP 协议族并了解传统的网络模型和协议包的流转原理。文中涉及到 Linux 内核的具体实现时,均以内核 v4.19.215 版本为准。 作者…

应对 Job 场景,Serverless 如何帮助企业便捷上云

简介:函数计算作为事件驱动的全托管计算服务,其执行模式天生就与这类 Job 场景非常契合,对上述痛点进行了全方面的支持,助力“任务”的无服务器上云。 作者:冯一博 任务(Jobs),是互…

Gartner发布新兴技术研究:深入洞悉元宇宙

供稿 | Gartner 出品 | CSDN云计算 根据Gartner预测,2026年全球30%的企业机构将拥有元宇宙产品和服务。 元宇宙是一个由独立但相互连接的网络所组成的持久、沉浸式数字环境,但目前尚未确定这些网络将使用的通信协议。元宇宙能够实现持久、去中心化、可…

双11实时物流订单实践

简介:随着双11的开启,物流业也迎来了年度大考。2021年双11期间,递四方作为物流仓储服务方,布局仓库和分拣点超40个,50w平米作业场地,单日订单峰值达千万级别,海量购物订单由递四方配送到家&…

阿里云徐立:面向容器和 Serverless Computing 的存储创新

简介:以上为大家分享了阿里云容器存储的技术创新,包括 DADI 镜像加速技术,为容器规模化启动奠定了很好的基础,ESSD 云盘提供极致性能,CNFS 容器网络文件系统提供极致的用户体验。 作者:徐立 云原生的创新…