当前位置: 首页 > 科技观察

高德实践:大规模落地Serverless有何价值?

时间:2023-03-20 01:38:03 科技观察

曾经风光无限、一直处于观望状态的Serverless,逐渐进入落地阶段。今年“十一旅游节”,高德在核心业务中大规模落地Serverless,Serverless支撑的业务在流量高峰期表现非常出色。传统应用也能带来同样的体验,那么Serverless的差异化价值是什么?本文分享高德Serverless大规模落地背后的实践总结。随着Serverless概念的进一步普及,开发者从观望状态进入试用阶段,更多的落地场景正在不断解锁。“serverless只适合小场景吗?”,“难道只能靠事件驱动吗?”这些早期对Serverless的疑虑正在逐渐消散,用户开始在更多核心场景中采用Serverless技术,以达到效率提升、灵活性、成本优化等目的。高德作为地图应用领域的领先者,为给用户带来更好的出行体验,不断探索新技术,在核心业务Serverless的大规模落地上取得了骄人的成绩。2020年“十一出行节”期间,高德地图再创新高,当天活跃用户数突破1亿,比2019年10月1日提前了3个多小时。在此期间,Serverless作为其中之一核心技术场景,顺利经受住流量高峰期的考验。值得一提的是,Serverless支持的业务在流量高峰期表现非常出色,每分钟函数调用量接近200万次。这再次验证了Serverless基础技术的价值,进一步拓展了技术场景。一、业务场景自动驾驶是高德地图的核心业务,涉及用户出行相关的功能需求,承载着高德地图APP最大的用户流量。下图展示了在自主出行核心业务中应用NodeFaaS的部分场景。从左到右分别是:主场景页面、路线规划页面、导航端页面。随着功能的进一步拓展,高德地图从导航工具升级为出行服务平台和生活信息服务门户,进一步拓展了出行相关的生活信息服务场景,为用户带来更全面的用户体验。以上功能为场景推荐卡片,旨在根据用户的出行意愿推荐信息,提升用户的出行体验。该功能需要具备快速迭代的能力和风格调整的高度灵活性。因此,将卡片样式模板存储在云端,以服务交付的形式呈现给客户端无疑是最佳选择,可以满足业务快速、灵活迭代的目的。基于对解决方案的评估判断,该类场景属于无状态服务。基于阿里云Serverless的成熟生态,高德最终选择接入NodeFaaS(阿里云函数计算)的服务能力,在出行前端构建场景推荐卡片服务。获取卡片UI模板、数据请求聚合&逻辑处理、拼接生成Schemas的能力均在FaaS层实现,客户端直接根据服务下发的Schema进行渲染展示,实现更加便携灵活目标。那么,Serverless场景在“十一旅游节”的高峰场景中具体表现如何呢?整体服务成功率大于99.99%,累计触发100W+/分钟,QPS2W+,各场景平均响应时间低于60ms。服务稳定性超出预期。2.商业价值从上面对业务场景的支持,我们可以看出Serverless表现的非常好。当然你也会问,传统应用也能带来同样的体验,那Serverless的差异化价值是什么?简单提高传统BFF(Back-endForFront-end)层应用的效率。随着业务需求的增加,BFF层会逐渐“丰富”,冗余代码也会逐渐增多,最终成为开发者的噩梦——“一根头发,牵一发而动全身”。随着人员的迭代更替,模块的开发者也会发生变化,BFF层会逐渐成为无人知晓、无人敢触的模块。当BFF层转换为SFF(ServerlessForFront-end)层时,会发生什么变化?SFF的职责将变得单一,零运维,成本更低。这些都是Serverless本身的能力,这些能力可以帮助前端进一步释放生产潜力。开发者不再需要丰富的BFF层,只需要一个接口或者一个SFF就可以实现功能,自然就解决了“一根毛发牵一发而动全身”的问题。如果接口停止服务或没有流量,使用的实例将自动归零,很容易识别是哪个接口功能。后期可以删除该接口的功能,有效提高资源利用率。高德在Serverless应用方面非常领先,已经实现了FaaS层与研发系统的完整对接。因此,应用具有从开发、测试、灰度、上线到流控、弹性、容灾等标准化能力的全生命周期。使用时间比之前缩短了40%,大大提高了人的效率。弹性和成本通过流量趋势数据,我们可以观察到地图场景的流量特征——高峰和低峰的区别非常明显。按照传统应用的资源准备,我们需要按照最高峰的流量来准备资源,这样在流量低的时候,多准备的机器就会有很多的冗余,造成成本的浪费。针对上述情况,高德采用了阿里云函数计算,可以根据流量变化自动扩缩容。然而,提高扩展速度是复杂的,并且一直是大型企业的专属。而函数计算可以利用毫秒级的启动优势,向用户普及快速伸缩的能力,轻松帮助用户实现计算资源的弹性利用,大大降低成本。可观察性可观察性是应用程序在线诊断平台的基本属性。允许用户观察系统应用的RT变化、资源使用情况、全链路调用情况,从而快速诊断系统应用瓶颈。阿里云函数计算率先将日志服务、云监控、溯源平台、函数工作流编排完美融合。用户只需配置一次即可完整享受以上功能,大大降低了用户的学习成本,使应用程序的快速诊断。Serverless大规模落地的序幕已经拉开,各行各业正在解锁更多场景。Serverless在高德的大规模落地,让业务端的业务迭代更快、更灵活,为业务创新创造了先决条件;对于前端开发者来说,进一步激活了开发者的生产潜能,提升了对能力的极大信心。高德出行业务从2020年初的能力试点到“十一出行节”自主出行核心场景接入阿里云函数计算,积累了非常宝贵的云原生落地经验,奠定了坚实的基础为未来企业整体上云打下基础。良好的基础。【本文为专栏作者《阿里巴巴官方技术》原创稿件,转载请联系原作者】点此查看作者更多好文