共计 2478 个字符,预计需要花费 7 分钟才能阅读完成。
起源 | 阿里巴巴云原生公众号
作者 | 何以然(以燃)
导读:已经看上去很美、始终被张望的 Serverless,现已逐步进入落地的阶段。往年的 ” 十一出行节 ”,高德在外围业务规模化落地 Serverless,由 Serverless 撑持的业务在流量高峰期的体现非常优良。传统利用也能带来同样的体验,那么 Serverless 的差异化价值又是什么呢?本文分享高德 Serverless 规模化落地背地的实际总结。
随着 Serverless 概念的进一步遍及,开发者曾经从张望状态进入尝试阶段,更多的落地场景也在一直解锁。“Serverless 只适宜小场景吗?”、“只能被事件驱动吗?”这些晚期对 Serverless 的质疑正在逐步消散,用户正在更多的外围场景中,开始采纳 Serverless 技术达到提效、弹性、老本优化等目标。作为地图利用的领导者,高德为带给用户更好的出行体验,一直在新技术畛域进行摸索,在外围业务规模化落地 Serverless,现已获得显著功效。
2020 年的“十一出行节”期间,高德地图发明了记录 ——截止 2020 年 10 月 1 日 13 时 27 分 27 秒,高德地图当日沉闷用户冲破 1 亿,比 2019 年 10 月 1 日提前 3 时 41 分达成此记录。
期间,Serverless 作为其中一个核心技术场景,安稳扛住了流量高峰期的考验。值得一提的是,由 Serverless 撑持的业务在流量高峰期的体现非常优良,每分钟函数调用量靠近两百万次。这再次验证了 Serverless 根底技术的价值,进一步拓展了技术场景。
业务场景
自主出行 是高德地图的外围业务,波及到用户出行相干的性能诉求,承载了高德地图 APP 内最大的用户流量。下图为自主出行外围业务中利用 Node FaaS 的局部场景,从左至右顺次为:主图场景页、路线布局页、导航完结页。
随着性能的进一步拓展,高德地图从导航工具降级为出行服务平台和生存信息服务入口,进一步拓展了出行相干的生存信息服务场景,带给用户更全面的用户体验。上图性能为 场景举荐卡片 ,旨在依据用户出行用意举荐信息,晋升用户出行体验。此性能需具备 疾速迭代,款式调整高灵活性 的能力。因而,将卡片款式模版寄存于云端,通过服务下发的模式渲染至客户端无疑为最优抉择,能够满足业务疾速灵便迭代的目标。
通过计划评估判断,此场景类型属于 无状态服务 ,基于阿里云 Serverless 成熟的生态,高德最终抉择接入 Node FaaS(阿里云函数计算)服务能力,出行前端搭建了场景举荐卡片服务。卡片的 UI 模版获取、数据申请聚合 & 逻辑解决、拼接生成 Schema 的能力均在 FaaS 层失去实现,客户端依据服务下发的 Schema 间接渲染展现,达到更加 轻便灵便的指标。
那么,Serverless 场景在“十一出行节”峰值场景中的具体表现如何?
整体服务成功率均大于 99.99%,总计 100W+ 次触发 / 分钟,QPS 2W+,各场景的服务均匀响应工夫均在 60ms 以下,服务稳定性超出预期。
业务价值
从对以上业务场景的撑持中,咱们能够看出 Serverless 的体现十分优良。当然你也会问,传统的利用也能带来同样的体验,那么 Serverless 的差异化价值又是什么呢?
1. 简略提效
传统 BFF(Back-end For Front-end)层利用会随着时间推移,以及业务需要的减少,其 BFF 层逐步变“富”,冗余的代码逐步变多,最初变成开发者的噩梦——“牵一发而动全身”。随着人员迭代变动,模块的开发者也会变动,BFF 层就会缓缓变成一个无人知晓,无人敢动的模块。
当 BFF 层转换成 SFF (Serverless For Front-end) 层之后,会有什么变动?SFF 的职责会变的繁多、零运维、老本更低,这些是 Serverless 自身自带的能力,而这些能力能够帮忙前端进一步开释生产潜能。开发者不再须要一个富 BFF 层,而只需一个接口或一个 SFF 就能够实现性能,人造解决了“牵一发而动全身”的问题。如果接口停服或者没有流量,那么所用的实例会主动缩零,也就很容易分辨出是哪一个接口函数,前期就能够删掉此接口的函数,无效晋升资源利用率。
高德在 Serverless 利用上十分先进,实现了 FaaS 层与研发体系的齐全对接,因而,利用从开发、测试、灰度、上线的全生命周期,到具备流控、弹性、容灾等标准化能力,所用的工夫较以前缩短了 40%,大大提高了人效。
2. 弹性以及老本
通过流量趋势数据,咱们能够察看到地图场景流量特点——顶峰与低峰的落差非常显著。依照传统利用的资源筹备,咱们须要依据最高峰的流量进行资源筹备,所以到了流量低峰期,多筹备的机器会有很多冗余,这就造成了老本的节约。
针对以上状况,高德应用了阿里云函数计算,能够依据流量变动主动扩缩容。然而,晋升扩缩容速度的复杂性较大,始终是大企业的专属,但函数计算能够通过毫秒级别的启动劣势,将快上快下的扩缩容能力遍及给用户,轻松帮忙用户实现了计算资源的弹性利用,并且大大降低了老本。
3. 可观测性
可观测性是利用上线诊断平台的必备属性,要让用户察看到 RT 变动、资源的使用率、零碎利用的全链路调用,从而疾速诊断出零碎利用的瓶颈问题。阿里云函数计算率先与日志服务、云监控、tracing 平台以及函数工作流编排做了完满的交融,用户只须要配置一次,就能够完完整整的享受到以上这些性能,大大降低了用户的学习老本,实现了对应用程序的疾速诊断。
Serverless 规模化落地的尾声曾经拉开,更多场景正在各行各业中解锁。Serverless 在高德的规模化落地,对于业务方来而言,业务迭代更快更灵便了,为业务翻新发明了前提条件;对于前端开发者而言,进一步激活了开发者的生产潜能,晋升了极大的能力自信。高德出行业务从 2020 年初的能力试点到“十一出行节”的自主出行外围场景,期间接入了阿里云函数计算,积攒了十分贵重的云原生落地教训,为将来业务整体上云打下了良好基础。
作者简介:何以然(以燃)阿里巴巴前端技术专家,2016 年入职高德地图,目前负责高德出行业务研发以及 Serverless 相干技术落地
更多企业落地实际内容,可下载云原生架构白皮书理解详情!