作者|望宸 等

Serverless 的本质是通过屏蔽底层的计算资源,来实现业务层开发的专注度和自由度。但越是往上抽象,云厂商在底层的实现就越是复杂。函数计算将服务进一步拆分到函数的颗粒度,这势必会给开发、运维、交付等带来新的挑战,例如如何对函数进行端云联调、如何对函数进行可观测和调试、如何优化 GB 级别的镜像冷启动?这些以往在服务的颗粒度时,都不是问题的事情,成了 Serverless 大规模落地企业核心生产业务的绊脚石。

2021 云栖大会现场,阿里巴巴研究员、阿里云智能云原生应用平台总经理 丁宇(叔同)重磅发布了函数计算的 7 大技术创新和突破,加速现代应用架构的革新。

Serverless Devs 2.0:业内首发 Desktop,支持端云联调、多环境部署

开源近一年, Serverless 开发者平台 Serverless Devs 2.0 版本正式发布。相比 1.0 ,2.0 在性能、使用体验实现全方位提升,业内首发桌面客户端 Serverless Desktop,对桌面客户端进行了精细设计兼具美感和实用主义,具备更强的企业级服务能力。

作为业内首个支持主流 Serverless 服务/框架的云原生全生命周期管理的平台,Serverless Devs 致力于为开发者打造 Serverless 应用开发一站式服务,Serverless Devs 2.0 提出多模式调试方案,包括打通线上线下环境;本地对接线上环境并进行调试的端云联调方案、本地直接进行开发态调试的本地调试方案、以及云端运维态调试的在线调试/远程调试方案等。新版本增加多环境部署部署能力,Serverless Devs 2.0 已支持一键部署框架 30 余种,包括 Django,Express,Koa,Egg,Flask,Zblog,Wordpress 等。

业内首发实例级别可观测和调试

实例是函数资源最小的可被调度的原子单位,类比容器的 Pod。Serverless 将异构基础资源高度抽象,因此“黑盒问题”是 Serverless 大规模普及的核心落地之痛。业内同类产品均没有透出“实例”概念,也从未在可观测功能中将 CPU、内存等指标透出,但可观测就是开发者的眼睛,没有可观测,何谈高可用呢?

函数计算重磅发布实例级别可观测能力,对函数实例进行实时监控和性能数据采集,并进行可视化展示,为开发者提供函数实例端到端的监控排查路径。通过实例级别指标,您可以查看 CPU 和内存使用情况、实例网络情况和实例内请求数等核心指标信息,让“黑盒”不黑。同时,函数计算将通过开放部分实例登录权限,做到既能观测,还能调试。

业内首发固定数量、定时、水位自动伸缩的实例预留策略

函数计算冷启动受到多个因素影响:代码和镜像大小、启动容器、语言运行时初始化、进程初始化、执行逻辑等,这依赖用户和云厂商的双向优化。云厂商会自动为每个函数分配最合适的实例数量,并进行平台侧的冷启动优化。但对于某些在线业务时延非常敏感,云厂商无法代替用户进行更深层的业务优化,如对代码或依赖进行精简、编程语言的选择、进程的初始化、算法优化等。

业内同类产品普遍是采用预留固定实例数量的策略,即让用户配置 N 个并发值,除非手动调整,否则在分配了 N 个实例后不会再伸或者缩。这种方案只解决了部分业务高峰期的冷启动延时,但大大增加了运维成本和资源成本,对红包大促等带有不定期峰谷的业务,其实并不友好。

因此,函数计算率先将部分实例资源的调度权限授予用户,允许用户通过固定数量、定时伸缩、按水位伸缩、混合伸缩等多维度的实例预留策略,来预留适量函数实例,分别满足业务曲线相对平稳(如 AI/ML 场景)、峰谷时间段明确(如游戏互娱、在线教育、新零售等场景)、突发流量无法预估(如电商大促、广告等场景)、业务混杂(如 Web 后台、数据处理等场景)等不同场景的诉求,从而降低冷启动对时延敏感型业务的影响,真正实现弹性和性能兼顾的终极目标。

业内率先推出 GPU 实例

函数计算提供弹性实例和性能实例两种实例类型,弹性实例规格从 128 MB 到 3 GB,隔离粒度做到了整个云生态最细,能真正实现普适场景下资源利用率 100%;性能实例规格区间范围包含 4 GB、8 GB、16 GB 和 32 GB。资源上限更高,主要适用于计算密集型场景,如音视频处理、AI 建模和企业级 Java 应用等场景。

随着专用领域硬件加速的蓬勃发展,各 GPU 厂商均推出了视频编解码专用 ASIC,比如:英伟达从 Kepler 架构集成视频编码专用电路、从 Fermi 架构集成视频解码专用电路。

函数计算正式推出了基于 Turning 架构的 GPU 实例,使得 Serverless 开发者可以将视频编解码的 workload,下沉到 GPU 硬件加速,从而大大加快了视频生产、视频转码的效率。

最高可交付 2w 实例/分钟

所谓“无服务器”,并不是说软件应用不需要服务器就可以运行了,而是指用户无须关心软件应用运行时,涉及的底层服务器的状态、资源(比如 CPU、内存、磁盘及网络)和数量。软件应用正常运行所需要的计算资源由云计算厂商动态提供,但实际上,用户还是会关心云厂商的资源交付能力,以及应对突发流量场景下资源不足导致的访问波动。

函数计算依托于阿里云强大的云基础设施服务能力,通过神龙裸金属资源池和 ECS 资源池双池互备,在业务高峰期,实现最大交付达 2w 实例/分钟,这近一步提升了函数计算在客户核心业务上的交付能力。

VPC 网络建连优化:从10s 优化至 200ms

当用户需要在函数中访问用户 VPC 中的资源,例如 RDS/NAS 时,需要打通 VPC 网络。业内 FaaS 产品普遍采用动态挂载 ENI 的方式来实现 VPC 打通,即在 VPC 创建一个 ENI,挂载到 VPC 中执行函数的机器上。该方案让用户能非常简单地联动后端云服务,但 ENI 挂载的速度一般需要10秒以上,在延时敏感业务场景下带来极大的性能开销。

函数计算通过将 VPC 网关服务化,实现计算和网络解耦,计算节点的伸缩不再受限于 ENI 挂载的能力。该方案由网关服务负责 ENI 的挂载、网关节点的高可用和自动伸缩,而函数计算专注于计算节点的调度,最终实现 VPC 网络建连时,函数冷启动时间降至 200 ms。

GB 级别镜像启动:从分钟级优化至秒级

函数计算在 2020 年 8 月率先发布了容器镜像的函数部署方式,AWS Lambda 在 2020 年 12 月 Re-Invent,国内友商在 2021 年 6 月也相继宣布了 FaaS 支持容器的重磅功能。冷启动一直都是 FaaS 的痛点,引入比代码压缩包大几十倍的容器镜像后,加重了冷启动过程带来的时延。

函数计算创新性的发明了 Serverless Caching,根据不同的存储服务特点,构建数据驱动、智能高效的缓存体系,实现软硬件协同优化,将 Custom Container 体验进一步提升。到目前为止,函数计算已经将镜像加速优化到了较高的水准。我们在函数计算的公开用例(https://github.com/awesome-fc)里面,挑选了 4 个典型的镜像,并将它们适配至国内外几个大型云厂商进行横向对比,每间隔 3 小时调用上述镜像,重复数次。

实验证明,在 GB 级别镜像冷启动的场景下,函数计算已经实现了分钟级到秒级的跨越。

先行一步,志在千里

2009 年,伯克利就当时兴起的云计算提出 6 点预测,包括服务的按需付费成为可能、物理硬件的利用率将大大提高等,在过去的 12 年间,这些都已成为事实。2019 年,伯克利再次预测 Serverless 计算将会成为云时代默认的计算范式,并取代 Serverful (传统云)计算模式。

参照云计算这 12 年的发展历程,Serverless 正处于验证伯克利预测的第 3 年,刚过四分之一。这 3 年间,从云的未来的美好畅想,到云厂商倡导的 Serverless First 和大规模投入,再到企业用户充分利用 Serverless 的优势来优化现有架构,并客观的面对影响 Serverless 大规模落地企业核心业务的绊脚石,再到今天,通过技术创新和突破来化解行业共同的痛点。这不仅需要先行一步的勇气和魄力,更需要志在千里的使命和责任。

特别感谢 墨飏、黛忻、筱姜、刘宇 对本文做出的贡献。

戳下方链接,查看函数计算 FC 主页!!
https://www.aliyun.com/product/fc?spm=5176.19720258.J_8058803260.52.485f2c4aaM43ka

跨越行业绊脚石,阿里云函数计算发布 7 大技术突破相关推荐

  1. “晕乎乎的概念”:阿里云函数计算的“应用”又是个啥

    作者:刘宇 曾经,有人问我:阿里云函数计算的服务和函数是啥关系?我相信至今还有小伙伴没有搞清楚他们之间彼此的联系. 这几天阿里云又正式发布了一个"概念":应用.那么阿里云函数计算单 ...

  2. 只更新代码,然后发布版本:基于 Serverless Devs 原子化操作阿里云函数计算

    众所周知,随着时间的发展,Serverless 命令行工具也逐渐的玩出了更多的花样,就目前来看,常见的形态有两种,一种是通过 Yaml 来进行资源的描述,另外一种是纯粹的命令行操作,而不依赖这些内容. ...

  3. 独家对话阿里云函数计算负责人不瞋:你所不知道的 Serverless

    作者 | 杨丽 来源 | 雷锋网(ID:leiphone-sz) Serverless 其实离我们并没有那么遥远. 如果你是一名互联网研发人员,那么极有可能了解并应用过 Serverless 这套技术 ...

  4. 阿里云函数计算 FC再次荣获最受观众喜爱奖

    简介:就这几天,同事给我转了一个调查报告,说你们 FC 又获奖了,我还纳闷什么奖,原来是 CNCF 发布了 2020 年度的中国云原生调查报告,在报告中的 Serverless 调查部分,阿里云函数计 ...

  5. 在阿里云函数计算上部署.NET Core 3.1

    使用阿里云ECS或者其他常见的VPS服务部署应用的时候,需要手动配置环境,并且监测ECS的行为,做补丁之类的,搞得有点复杂.好在很多云厂商(阿里云.Azure等)提供了Serverless服务,借助于 ...

  6. 深度揭秘阿里云函数计算异步任务能力

    作者: 渐意 在上篇文章<解密函数计算异步任务能力之「任务的状态及生命周期管理」>中,我们介绍了任务系统的状态管理,并介绍了用户应如何根据需求,对任务状态信息进行实时的查询等操作.在本篇中 ...

  7. Python Flask web 项目零改动迁移至阿里云函数计算

    引言 最近尝试了一下阿里云的函数计算,整体感觉很好,主要是省钱!下面就简单聊一下,如何将 Python Flask 的 web 项目迁移至函数计算. 创建一个银行卡校验的 RestAPI 文件名:in ...

  8. Serverless 实战 —— 阿里云函数计算配合SpringBoot项目

    阿里云函数计算配合SpringBoot项目 DecentAnt 2019-06-24 15:16:13 浏览2862 作者:DecentAnt 首先要弄清楚,阿里云的函数计算项目和SpringBoot ...

  9. 阿里云函数计算应用:将ActionTrail审计事件从OSS导入到SLS中

    ActionTrail会将事件压缩之后保存到OSS中.用户使用和分析OSS中的文件比较麻烦.如果能将审计事件写入到SLS,会给用户提供很大的便利.阿里云函数计算是实现这个迁移的好办法,成本低,见效快. ...

最新文章

  1. Nginx流量拦截算法
  2. 主流Java数据库连接池比较及前瞻
  3. 【XSY2472】string KMP 期望DP
  4. erp生产管理系统流程_企业生产管理好帮手——ERP智能管理系统
  5. 冻结行_Excel如何冻结窗口
  6. 删除桌面图标的小箭头
  7. 数据库身份证号用什么类型_互联网企业数据库安全的现状与对策
  8. 只有10万元预算买畅销SUV自动车型您选谁?
  9. lufylegend库 鼠标事件 循环事件 键盘事件
  10. C++ int与string互转换
  11. GOOGLE外贸买家信息搜索技巧
  12. 地图投影(一)高斯克吕格投影
  13. 神经网络求解二阶常微分方程
  14. 差分相干解调 matlab,差分相干解调
  15. Wordpress采集开心版,免费Wordpress采集发布伪原创
  16. 恶搞视频聊天偷拍源码
  17. python 生孩子朋友圈_新生儿出生朋友圈说说,生孩子报喜唯美句子
  18. eclipse代码文件误删恢复方法
  19. 意念控制头环:用脑电波来操控智能家居
  20. 001-http-总览、文件配置、常用http client、http连接池

热门文章

  1. Linux Security Module逆向分析实战
  2. 10、查看索引(SHOW INDEX)
  3. 牛客竞赛语法入门班数组模拟、枚举、贪心习题【未完结】
  4. MySQL中的数据分组
  5. Spring boot模板引擎
  6. easyUI的引用方式
  7. Java之Number类
  8. java综合面试题_JAVA 综合面试题 PDF 下载
  9. 3t studio 导出数据_Studio 3T 2019 强大的MongoDB数据库连接工具
  10. 【图解Java】这下可以真的弄懂Java IO了~