云上开发新范式:Serverless 的必然与应然 | 云栖深度对话

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 云上开发新范式:Serverless 的必然与应然 | 云栖深度对话

作者:张帅

在2022年云栖大会上宣布核心产品全面Serverless化之前,阿里云在 Serverless 领域布局已经有六七年积累了,一直在打磨产品,夯实基础;从去年开始,阿里云进入到了 Serverless 的第二阶段,全面加速。


从不被看好,到成为数字经济和 AI 发展的算力基石,中国云计算已经走过了十五年。


如今,迈入下一个十年,云计算正迎来一场新的技术升级——Serverless 化,无需考虑底层资源,即可简单、高效地构建和部署应用,实现高可用、易运维、低成本用云。


2023年云栖大会,阿里云继续推陈出新,40+ 款核心云产品全面 Serverless 化。Serverless 将引领云上开发新范式。这既是产品演进的终极方向,也是服务客户的终极模式。Serverless 让云计算从资源变成服务,阿里云将不遗余力持续创新,并推动这一能力更普及,让云计算真正像水和电一样便利。


基于这些背景,钛媒体专访阿里云云原生应用平台负责人丁宇和 Serverless 技术负责人杨皓然,从他们的视角探索 Serverless 技术发展的必然与应然。


新的十年


云计算的第一个十五年,其实是在“培育”市场,或者说让市场更接受云计算这种服务形态。这个阶段企业关注的是“该不该上云,以及怎么能够更好的上云”。之后,随着越来越多的企业上云,其关注点进而升级,“如何用好云”成为企业的关注核心。


云计算最开始提供的是一种资源。企业用云先要购置资源,然后部署应用,应用的运维管理由企业自己负责,因此仍然存在一些门槛和挑战。


而随着上云成为新常态,如何解决“用好云”的问题,成为必答题。


一方面,从云计算服务方的角度出发,阿里云的核心理念是让客户做得更少、获得更多,能实现“多快好省”地使用云计算,所以也一直在考虑如何更好托管客户的应用、提供更好的云产品。基于这层考虑,阿里云持续对产品体系进行创新,更适配用户的需求,解决用户的痛点。


例如,企业在管理应用、维护网站的过程中,随着流量的变化,需要调整资源与应用容量匹配,而企业自建的方式处理起来相对较慢,往往不能够满足业务流量快速变化的需要。对应这个痛点,阿里云提供了具备“自适应弹性伸缩”能力的应用托管 PaaS 产品,如 SAE 等。


此外,企业一直都有降本增效的诉求,阿里云不仅提供了更普惠的资源,也提供了更优质、更简单的服务,按需弹性、按量计费,这就是阿里云做 Serverless 的初衷——让客户“用好云”。


另一方面,随着云计算的广泛应用,也逐步让企业和开发者感知到 Serverless 的好处。


随着微服务、分布式架构的普及,应用的治理、架构的治理、整个数据链路架构体系变得非常复杂。互联网架构膨胀到一定程度较难维护,每一个组件的引入,都会带来容量、管理和性能等开发运维层面的挑战。


头部公司的很多部门或者很多新兴企业,已经在拥抱 Serverless 思路和产品,把更多的基础能力都托管给云平台,由云厂商解决后顾之忧。


在宣布核心产品全面 Serverless 化之前,阿里云在 Serverless 上布局已经有六七年了,一直在打磨产品技术,夯实基础。从去年开始,阿里云进入到了 Serverless 的第二阶段,全面加速。


仅仅一年时间,阿里云 Serverless 化演进历程进入快车道——产品形态更丰富,方案集成更全面,核心产品都在加速向 Serverless 化迈进,行业客户也看到了更多应用案例,Serverless 模式带来的种种好处被广泛感知,客户接受度也在逐步提高。


从某种程度上来说,Serverless 现在还不是一个完整的技术栈,整个行业不断地把 Serverless 技术栈做完整,将非原生 Serverless 产品和服务形态,逐渐过渡到Serverless 化,阿里云也在把整个 Serverless 产品组合或者技术栈逐步完善、逐步扩展。


算力突围,阿里云亮出新武器:ACS


阿里云正朝着 Serverless 方向突飞猛进,相对应地,Serverless 产品数量和丰富度都在快速增长,业务规模也在快速扩张。


在 2023 年云栖大会期间,阿里云向业界重磅发布全球首个容器计算服务-ACS,率先将容器和资源一体化,重新定义容器算力,算力交付模式升级为 Serverless 形态,通过 ACS 实现了容器和 Serverless 的和谐统一。ACS 支撑的负载类型也更加丰富,大幅降低了企业使用容器、K8s 的代价和成本。


阿里云云原生应用平台负责人丁宇在云栖大会发布 ACS


由此带来的好处非常显著。


第一,极简易用,快速上手:容器与资源一体化,对于用户来说,无需关注底层节点和集群;通过极简的产品设计,用户只需要简单配置即可创建应用。同时,易用性提升50%,无需花费大量时间理解众多复杂的产品和技术概念,大幅降低K8s 和用云门槛。

第二,按需弹性,按量付费:ACS 在业内首创超灵活 Pod 配置模式,支持1:1~1:8资源配比,用户可以按需自由选择;同时,ACS 还提供了秒级弹性能力,让企业从容应对流量波动;在使用方式与计费模式上,ACS 支持按需弹性、资源预留和节省计划三种方式,提供秒级计费模式,给用户提供更多选择,同时成本也更实惠。



第三,场景丰富,灵活调配:ACS 与阿里云产品体系深度集成,并支持开源生态和自研产品无缝迁移上云,此外,ACS 在业内首创算力调配资源复用,让资源在用户负载和云产品负载中灵活调配,减少资源闲置。


第四,自由组合,高性价比:ACS让用户专注于Pod,屏蔽了代际和机型差异,并提供通用型、任务型和独享型三类 Pod 实例,针对多种应用负载和云产品,可以选择最适合的实例类型,自由组合充分适配,用云成本降低 20%。


容器计算服务 ACS 的应用场景有:


场景一:通用型、任务型组合构建典型业务:



一个典型企业的应用工作负载,一般包括 Web应用程序、CICD流水线、大数据计算、数据库中间件等,企业希望将运行这些负载的资源最大化利用,实现全局成本最优。通过容器计算服务 ACS,用户可以根据不同的工作负载、不同的业务特征,组合使用通用型实例和任务型实例。


  • 普通在线类应用:使用高性价比、波动小、性能稳定的通用型实例。
  • 延迟不敏感、同时又注重数据处理吞吐的业务,使用价格便宜的任务型实例。


场景二:云产品复用闲置的资源预留



左边这张图是非常典型的企业用云的方式,会预留一定的资源水位。在业务峰值来临的时候,如果资源不够,ACS 可以通过按需弹性来解决。在业务低谷期,企业往往出现资源闲置,因此,在 ACS 里可以把云产品的算力需求导入过来,从而消耗这部分预留资源。这样的产品设计,帮助企业实现算力闲置的最小化、全局成本最优。


除了用云范式的改变之外,阿里云也创造性提出流程式开发的理念,打造了以函数计算 FC、事件总线 EventBridge、云工作流 CloudFlow 为核心的开发新范式。


为了让企业和开发者更快速、便捷地进行云上开发,阿里云重磅发布云工作流,它是一款强大的面向开发者的流程编排开发工具,全托管、高并发、高可用,帮助用户简化和自动化复杂的云上业务流程和工作流程,更便捷地在云上构建应用。


云工作流的出现,加速了流程式开发范式的到来。随着阿里云提供越来越全面的Serverless产品,很多云产品都变成模块化、API 化、服务化,它们可以进行组装,通过拖拉拽的方式就能够构建应用。在Serverless架构下,流程式开发将成为主流开发范式。相比传统模式,流程式开发可提效50%以上。


总结起来,阿里云产品会针对不同领域的需求,从弹性、易用性以及对业务改造的负担角度,做不同的取舍,但所有产品都有一个非常确定的趋势,就是Serverless化。


Serverless 最大的难题,不是技术


企业对 Serverless 云产品的接纳考量主要有几个维度:成本,是不是比之前开源自建更优惠;性能,是不是足够支撑起业务需要;维护成本,比如产品的可观测性、故障诊断能力是否足够,是否全托管免运维低投入;迁移改造成本,是否在可接受范围内。


目前,无论是支撑淘宝天猫的大规模实践,还是对外服务大量客户的使用情况来看,Serverless 产品在核心业务场景上应用,没有非常难的技术卡点。


企业的历史包袱和迁移成本可能成为是否选择 Serverless 的关键因素。


大模型是一个很好的例子。2023年很多开发者都在研发和实践大模型,开发者和企业应用没有历史包袱,所有人都可以使用新的技术栈。因此,在阿里云上,有大量开发者使用 Serverless 产品构建大模型全新的业务场景。


综合来看,不同类型的企业,对 Serverless 有不同的思考,也有多种选择。


企业要实现 Serverless 升级,首先要考虑团队人员、技术储备。当企业有一个很好的基础设施团队,并且建立了平台和内外部各种系统,企业可能会选择一个渐进的演进路径。


如果一家初创公司做技术选型,从投入时间、团队建设、平台打磨、成本的角度综合考虑,会直接选择用 Serverless 架构。


国内外使用Serverless也有一些差异:


一,很多海外客户会把节省人力投入看得更重,使用 Serverless 产品更容易做到;


二,国内客户采用微服务更多,包括很多流行的微服务框架以及配套的工具链、生态,延伸出来的惯性也非常强;但在海外,很多 Serverless 产品几乎不太追求跟传统微服务框架兼容;


三,国内客户更看重开源开放,对技术选型、开放标准,甚至具备多云迁移的能力更加重视。


此外,海外企业价值驱动居多,对 PaaS 层的厂商绑定接受度更高,更愿意使用云厂商提供的一整套方案帮助企业架构适应云;国内企业这方面担忧更多一些。阿里云采取了并驾齐驱的路线,既有全新架构方案也有兼容利旧方案,通过 Serverless 化产品以及产品生态的打造,帮助企业更快实现 Serverless 化。


同时,积极帮助企业降低“心理包袱”也是阿里云一直在做的事情。提供行业最好的产品技术,创造行业最好的用户体验,降低厂商绑定担忧,需要更加开放的标准,阿里云后续会推出 SAE(Serverless 应用引擎) 产品的开源版本,通过社区的力量推动万千企业和开发者拥抱Serverless,获取技术红利。


APSARA LIVE 特别栏目《云栖“码”上聊》将于 11 月 2 日 14:35-15:10 开启直播,聚焦云上开发新范式,听听开发者们在流程式开发上的最佳实践与思考。欢迎届时收看!


相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
26天前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
2月前
|
分布式计算 大数据 Serverless
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
在2024云栖大会开源大数据专场上,阿里云宣布推出实时计算Flink产品的新一代向量化流计算引擎Flash,该引擎100%兼容Apache Flink标准,性能提升5-10倍,助力企业降本增效。此外,EMR Serverless Spark产品启动商业化,提供全托管Serverless服务,性能提升300%,并支持弹性伸缩与按量付费。七猫免费小说也分享了其在云上数据仓库治理的成功实践。其次 Flink Forward Asia 2024 将于11月在上海举行,欢迎报名参加。
244 6
云栖实录 | 开源大数据全面升级:Native 核心引擎、Serverless 化、湖仓架构引领云上大数据发展
|
1月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
78 1
|
2月前
|
监控 Serverless 云计算
探索Serverless架构:开发的未来趋势
【10月更文挑战第5天】Serverless架构,即无服务器架构,正逐渐成为云计算领域的热点。它允许开发者构建和运行应用程序而无需管理底层服务器。本文介绍了Serverless架构的基本概念、核心优势及挑战,并展示了其在事件驱动编程、微服务架构和数据流处理等场景中的应用。通过优化冷启动、使用外部存储等实战技巧,开发者可以更好地利用Serverless架构提升开发效率和应用性能。随着技术的成熟,Serverless将在未来软件开发中扮演重要角色。
|
4月前
|
弹性计算 运维 关系型数据库
云上Serverless高可用架构一键部署体验与测评
在数字化转型背景下,Serverless架构因其实现业务敏捷、降低成本及提升服务可靠性而备受青睐。本文以阿里云Serverless应用引擎(SAE)为核心,展示了一种高可用、低成本且易于扩展的解决方案。通过单地域双可用区部署,构建了具备自动伸缩与故障恢复能力的架构。借助阿里云的一键部署功能,大幅简化了搭建流程,实现了快速部署,并通过性能与成本分析验证了其优势。对比传统ECS,SAE在资源利用与运维效率上表现更佳,特别适合平均负载较低的应用场景。
|
4月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
78 0
|
4月前
|
存储 设计模式 运维
Angular遇上Azure Functions:探索无服务器架构下的开发实践——从在线投票系统案例深入分析前端与后端的协同工作
【8月更文挑战第31天】在现代软件开发中,无服务器架构因可扩展性和成本效益而备受青睐。本文通过构建一个在线投票应用,介绍如何结合Angular前端框架与Azure Functions后端服务,快速搭建高效、可扩展的应用系统。Angular提供响应式编程和组件化能力,适合构建动态用户界面;Azure Functions则简化了后端逻辑处理与数据存储。通过具体示例代码,详细展示了从设置Azure Functions到整合Angular前端的全过程,帮助开发者轻松上手无服务器应用开发。
37 0
|
4月前
|
监控 Serverless Go
Golang 开发函数计算问题之Go 语言中切片扩容时需要拷贝原数组中的数据如何解决
Golang 开发函数计算问题之Go 语言中切片扩容时需要拷贝原数组中的数据如何解决
|
4月前
|
Java Serverless Go
Golang 开发函数计算问题之在 Golang 中避免 "concurrent map writes" 异常如何解决
Golang 开发函数计算问题之在 Golang 中避免 "concurrent map writes" 异常如何解决
|
4月前
|
Serverless Go
Golang 开发函数计算问题之defer 中的 recover() 没有捕获到 如何解决
Golang 开发函数计算问题之defer 中的 recover() 没有捕获到 如何解决

热门文章

最新文章

相关产品

  • 函数计算