深度 | 新兴软件研发范式崛起,云计算全面走向 Serverless 化

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 阿里云将坚定推进核心产品全面 Serverless 化,帮助客户更好地实现敏捷创新。

作者:杨皓然


11 月 3 日,2022 杭州·云栖大会上,阿里云宣布,以云为核心的新型计算体系正在形成,软件研发范式正在发生新的变革,Serverless 是其中最重要的趋势之一,阿里云将坚定推进核心产品全面 Serverless 化,帮助客户更好地实现敏捷创新。


1.png


这篇文章想和大家探讨下,云计算全面走向 Serverless 的必然性。


软件架构和研发模式演变史


企业的业务发展诉求一直是推动软件架构和研发模式演变的主要力量。企业总是期望能够更敏捷的应对业务规模和复杂度的增长,更快的将产品推向市场,加快业务创新的速度,这就要求技术能实现大规模、复杂软件的快速迭代。


传统的企业级应用架构,通常是单体的,所有模块都耦合在一起,同时发布。这种单体架构应用在一开始是易于管理的,但随着业务发展,会带来复杂度的大幅提升。这种强耦合的架构带来开发、测试和运维过程中大量的冲突,拖慢了整个迭代速度。


例如,整个应用的开发要求所有模块采用统一的语言和框架技术栈,如果一个基础库被多个模块共享,其中一个模块想要升级到新版本,则需要说服所有人同时升级,即便其他人并不需要新版本。所有模块的发布节奏被强行拉齐,一个模块的问题会影响整个应用的发布。想要快速修复某个模块的线上问题也变得非常困难,因为这需要和其他模块正在进行中的变更合并,解决冲突,重新发布整个应用,运行所有测试,才能重新发布上线。


所以很快,单体应用架构已经不能满足软件研发效率的要求,被以微服务为主要特征的互联网分布式架构取而代之。


采用微服务架构后,应用程序由独立的服务组成。这些服务是松耦合的,通过 API 调用、事件触发或者数据流的方式交互。每个服务都完成一个特定的功能,独立开发、运行和发布。微服务解决了单体架构的研发效率瓶颈,但是对应用的基础设施要求提出了非常高的要求。例如为了确保独立开发的微服务能够按预期协调配合,需要进行详尽的集成和端对端测试。测试环境中的应用部署次数通常是生产环境的10倍。如果应用基础设施不能快速提供独立的测试环境,那么大量的测试时间将消耗在环境稳定性问题的解决上。


根据阿里巴巴集团的研发统计数据,1人日的研发,通常对应5-7人日的测试。测试环境已经成为阿里巴巴集团研发提效的最大痛点。微服务的松耦合,也对数据库使用,状态管理,问题诊断,应用交付流水线带来了很大的挑战。关于微服务的复杂度以及解决方案,业界已经有非常多的讨论,这里不再赘述。以微服务为核心的互联网分布式架构,实施的复杂度较高,必须有很好的工具、平台的支撑,这是业界的共识。


2.png


在软件研发流程中,所有工作可以分为以下三类: 


  1. 业务代码开发,实现业务逻辑。
  2. 非功能性代码开发,包括实现容错、安全、可观测、可运维、三方软件集成等和业务逻辑无关,但又是企业应用必须具备的能力。
  3. 应用基础设施管理。包括搭建开发、测试、生产环境,资源规划,安全管控等等。 


这三类工作中,只有第一类是对业务带来真正价值,和企业核心竞争力密切相关的。但随着软件复杂度的提升,2、3类工作却消耗了大量的研发资源。尽可能降低2、3类工作的复杂度,让客户专注于业务逻辑开发,是软件架构和研发模式发展的必然方向。


过去十年,无论是开源社区还是云厂商,都在不同领域将非功能性代码开发和应用基础设施管理工作抽象为标准化,可复用的软件/服务。


3.png


云计算全面走向 Serverless 化


Serverless 是一个非常广义的概念,并不局限于计算。一般而言,同时满足以下条件的服务可以称之为 Serverless 服务:


  1. 全托管服务。意味着客户使用抽象的服务化接口,而不是直接面对底层资源,也就没有安装、配置、维护或者更新软硬件的负担。全托管服务通常也提供了内置的容错,安全和可观测能力,用户通常不需要再重新构建这些能力。

  2. 自适应弹性。意味着服务能够根据负载大小自动弹性伸缩,大大提升了资源使用效率。

  3. 按实际用量付费。意味着只需根据实际的执行时间、流量或调用次数付费,降低了成本。


因此 Serverless 服务核心价值在于尽可能消除客户非功能性代码开发,简化应用基础设施管理的工作,从而实现研发效率的飞跃。


4.png


Serverless 让云计算从一种资源真正变成一种能力。过去云计算用云服务器替代了物理服务器,但客户依旧按“几核几 G 服务器”的模式来购买云资源,未来云计算将全面 Serverless 化,更加接近“电网”模式,按计算的调用次数付费。


由于 Serverless 服务契合了研发模式演进的趋势,过去十年,我们可以看到,各个云厂商都在不断将产品体系 Serverless 化,新的云服务或新功能大多数是 Serverless 形态。大量的开源商业产品也采用了 Serverless 模式,包括 Confluent Cloud、MongoDB Atlas、Snowflake、Databricks 等等。


5.png

2022 云栖大会,阿里云宣布核心云产品全面 Serverless 化


阿里云是国内最早提供 Serverless 计算服务的云厂商。函数计算是一款 FaaS 产品,这是一种以事件驱动的全托管计算服务,用户只需编写代码并上传,函数计算就会自动准备好计算资源,以弹性、可靠的方式运行代码,并提供完整的可观测能力,大幅简化开发运维过程。


Serverless 应用引擎 SAE 是业内首款面向应用的 Serverless PaaS 平台,屏蔽底层 IaaS 和 Kubernetes 的复杂度,提供了零代码改造、成本更优、效率更高的应用托管方案,帮用户实现单体 Web 应用、微服务应用以及定时任务的 Serverless 化。


阿里云领先业界推出 Serverless 容器服务 ASK,基于弹性容器实例 ECI(Elastic Container Instance),可以实现 1min 扩容 2000 个 Pod,降低了 Kubernetes 使用门槛,让用户更专注于应用程序,而不是管理底层基础设施。


此外,在 2020 年,阿里云开源的 Serverless Devs 成为业内首个支持主流 Serverless 服务/框架的云原生全生命周期管理的平台,并在 2022 年 9 月正式进入 CNCF Sandbox,也成为业内首个入选的 Serverless 工具项目。


Serverless 驱动研发模式升级


每一个 Serverless 服务都是厂商领域能力的输出,承诺可靠性,弹性,性能等能力指标,因此他们是高质量的应用构建块(building blocks)。例如阿里云对象存储(OSS)服务,承载着 EB 级的海量数据,承诺 11 个 9 的数据可靠性,99.95%的可用性,以及多样化的数据分级存储和处理能力。阿里云消息队列 RocketMQ,经受双十一万亿级消息洪峰的锤炼,承诺 10 个 9 的数据可靠性,99.95%的可用性。


6.png


这些云服务和客户基于开源软件自建的系统相比,在弹性,可靠性等方面有明显的优势。随着厂商在存储、计算、中间件、大数据等领域推出越来越多的 Serverless 服务,并且这些服务通过事件驱动等方式紧密集成,云逐渐变成了应用构建和运行的超级平台。应用的研发模式也升级为组装式研发。


下图展示了传统研发模式和组装式研发的对比:


7.png


Serverless 是云计算普惠千行百业的最佳范式


从新兴的互联网创业公司,到传统企业构建大型软件,都可以使用 Serverless 架构和组装式研发。


基于 Serverless 架构,9 人团队的初创企业打造了我来 wolai这款面向团队协作的新形态文档应用。整个应用采用了函数计算、对象存储、表格存储、Redis 等云服务,系统由多个松耦合的函数组成,每个功能点的发布或者 bug fix,都只需要更新相关的函数即可。功能发布节奏缩短到数小时,短时间实现从选型到上线。年节省运维成本 70-80 万,成本缩减 50%。


南瓜电影 因为一场热映电影,新用户量 1 小时内增加了 100 万,流量暴涨引发网站服务一度中断,临时云上扩容也无法及时满足巨大的流量。痛定思痛,开始走向 Serverless 转型,七天时间完成升级并取得质的飞跃。最终实现开发效率提升 70%,成本下降 40%,运维效率提升 10 倍,从容应对突发流量。


世纪联华 是最早试水 Serverless 的新零售代表,发现大促时老架构无法满足流量爆发的问题,将会员系统、交易系统、支付系统等放在阿里云函数计算上处理,告别了靠扩展机器支撑大体量业务,促销准备时间从周级缩短到小时级,研发运维提效 30%,成本下降 40%,真正的把促销活动变成常态;


云催化了研发模式变化,Serverless 架构和组装式研发,让客户做得更少而收获更多,必将成为云上主流的研发范式。

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
8天前
|
运维 监控 Serverless
揭秘云计算中的Serverless架构:优势、挑战与实践
揭秘云计算中的Serverless架构:优势、挑战与实践
|
1月前
|
Kubernetes Cloud Native 持续交付
云计算的转型之路:云原生技术的崛起与实践####
【10月更文挑战第16天】 本文深入探讨了云原生技术在现代IT架构变革中的核心作用,不同于传统概述,本摘要将聚焦于云原生如何促进企业实现敏捷开发、弹性伸缩及高效运维,通过具体案例分析展现其在实际业务场景中的创新应用,揭示这一技术趋势对企业数字化转型的深远影响。 ####
49 2
|
1月前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第18天】Serverless架构,即无服务器架构,是一种新兴的云计算模式,让开发者无需管理服务器即可构建和运行应用。本文探讨了其核心概念、优势、挑战及最佳实践,强调了按需付费、自动扩展和开发效率等优点,同时也指出了冷启动、状态管理和调试监控等挑战。
|
23天前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
26天前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第23天】Serverless 架构是一种新兴的云计算范式,允许开发者构建和运行应用程序而无需管理服务器。本文深入探讨了 Serverless 的核心概念、优势、挑战及最佳实践,帮助开发者更好地理解和应用这一技术。
|
1月前
|
Cloud Native 持续交付 云计算
云计算的未来:探索云原生技术的崛起与影响
【10月更文挑战第9天】 在当今数字化转型的浪潮中,云计算已成为推动企业创新和效率提升的关键力量。随着技术的进步和市场需求的演变,一种新兴的技术趋势——云原生,正逐渐崭露头角,引领着云计算进入一个全新的发展阶段。本文将深入探讨云原生的概念、核心原则、关键技术以及它如何改变企业的运营模式和业务策略。通过分析云原生技术的优势、挑战和未来趋势,我们将揭示这一技术变革背后的深层含义,以及它如何塑造未来的数字生态系统。
|
1月前
|
存储 人工智能 物联网
云计算的崛起:推动技术变革的核心力量
【10月更文挑战第4天】云计算的崛起:推动技术变革的核心力量
|
3月前
|
分布式计算 Serverless MaxCompute
Serverless 架构问题之Serverless架构助力云计算如何解决
Serverless 架构问题之Serverless架构助力云计算如何解决
43 1
|
3月前
|
Web App开发 缓存 Serverless
Serverless 架构问题之云计算的形态演进如何解决
Serverless 架构问题之云计算的形态演进如何解决
36 0
|
2月前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
156 13

热门文章

最新文章

相关产品

  • 函数计算
  • 下一篇
    无影云桌面