什么是 Serverless 架构

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
函数计算FC,每月15万CU 3个月
简介: 随着云服务的发展,计算资源被高度抽象化,从物理机到云服务器,再到容器服务,计算资源逐渐变得更加细腻化。

随着云服务的发展,计算资源被高度抽象化,从物理机到云服务器,再到容器服务,计算资源逐渐变得更加细腻化。

2012年,Iron.io的副总裁Ken Form在文章《Why The Future of Software and Apps is Serverless》中首次提出了无服务器的概念,并指出“即使云计算的已经逐渐的兴起,但是大家仍然在围绕着服务器转。不过,这不会持续太久,云应用正在朝着无服务器方向发展,这将对应用程序的创建和分发产生重大影响”;2019年,UC Berkeley发表论文《Cloud Programming Simplified: A Berkeley View on Serverless Computing》,在文章中,作者犀利断言“新的BaaS存储服务会被发明,以扩展在Serverless计算上能够运行更加适配的应用程序类型。这样的存储能够与本地块存储的性能相匹配,而且具有临时和持久可供选择。基于 Serverless 计算的价格将低于 Serverful 计算,至少不会高于 Serverful 计算。Serverless 计算一旦取得技术上的突破,将会导致 Serverful 服务的下滑。Serverless 将会成为云时代默认的计算范式,将会取代 Serverful 计算,因此也意味着服务器 - 客户端模式的终结。”。

Serverless架构从2012年的首次走进大众视野到2019年成为UC Berkeley对云计算领域犀利断言的主角,Serverless架构利用了7年的时间,完成了从一个“新的观点”向“万众瞩目的架构”转身,在这7年之间,Serverless架构从鲜为人知,到被商业化应用,再到头部云厂商纷纷布局Serverless架构作为云计算战略,Serverless架构逐渐的成为了人尽皆知的新的技术范式。当然,在这7年之间,Serverless不仅仅技术架构在逐渐的升级和完善,其概念也是越发的明确,其目标和方向也是逐渐的清晰明朗起来。

关于Serverless的定义,Martin Fowler在《Serverless Architectures》一文中认为Serverless实际上是BaaS与FaaS的组合。这个简单明了的定义,也逐渐的奠定了Serverless组成结构的基础。

如图所示,Martin Fowler认为,在Serverless架构中,应用的一部分服务端逻辑依然由开发者完成,但是和传统架构不同,它运行在一个无状态的计算容器中,由事件驱动、生命周期很短(甚至只有一次调用)、完全由第三方管理,这种情况称为 Functions as a service / FaaS。AWS Lambda 是目前的热门 FaaS 实现之一;除此之外,Serverless架构还要有部分依赖于第三方(云端)应用或服务来管理服务器端逻辑和状态的应用,这些应用通常是富客户端应用(单页应用或者移动端 App),建立在云服务生态之上,包括数据库(Parse、Firebase)、账号系统(Auth0、AWS Cognito)等,而这些服务最早被称为 “(Mobile) Backend as a Service”,即我们所认为“BaaS”部分。

在同样认为Serverless有FaaS与BaaS结合而成的同时,CNCF在g对Serverless架构的定义进行了进一步完善描述:Serverless是指构建和运行不需要服务器管理的应用程序概念。它描述了一种更细粒度的部署模型,其中将应用程序打包为一个或多个功能,上传到平台,然后执行、扩展和计费,以响应当时确切的需求。与此同时,在2019年UC Berkeley的文章《Cloud Programming Simplified: A Berkeley View on Serverless Computing》中也同样从Serverless架构特性的角度,对什么是Serverless也进行了补充描述和定义:简单地说,Serverless = FaaS + BaaS。在对于被认为是Serverless的服务,它必须具备弹性伸缩和按量付费的特点;在信通院云原生产业联盟所发布的《云原生发展白皮书(2020年)》中对Serverless的概念也有相关的描述:无服务器(即Serverless)是一种架构理念,其核心思想是将提供服务资源的基础设施抽象成各种服务,以 API 接口的方式供给用户按需调用,真正做到按需伸缩、按使用收费。这种架构体系结构消除了对传统的海量持续在线服务器组件的需求,降低了开发和运维的复杂性,降低运营成本并缩短了业务系统的交付周期,使得用户能够专注在价值密度更高的业务逻辑的开发上。至此,Serverless架构从结构上,行为上以及特性上的定义,就可以总结成下图的形式:

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
1天前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
26 10
|
1天前
|
弹性计算 运维 网络协议
卓越效能,极简运维,Serverless高可用架构
本文介绍了Serverless高可用架构方案,当企业面对日益增长的用户访问量和复杂的业务需求时如何实现更高的灵活性、更低的成本和更强的稳定性。
|
23天前
|
弹性计算 运维 Serverless
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
|
2月前
|
监控 Serverless 云计算
探索Serverless架构:开发实践与优化策略
本文深入探讨了Serverless架构的核心概念、开发实践及优化策略。Serverless让开发者无需管理服务器即可运行代码,具有成本效益、高可扩展性和提升开发效率等优势。文章还详细介绍了函数设计、安全性、监控及性能和成本优化的最佳实践。
|
17天前
|
弹性计算 Cloud Native Serverless
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品。
|
3月前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第18天】Serverless架构,即无服务器架构,是一种新兴的云计算模式,让开发者无需管理服务器即可构建和运行应用。本文探讨了其核心概念、优势、挑战及最佳实践,强调了按需付费、自动扩展和开发效率等优点,同时也指出了冷启动、状态管理和调试监控等挑战。
|
2月前
|
机器学习/深度学习 监控 Serverless
探索Serverless架构:云计算的新前沿
【10月更文挑战第26天】本文探讨了Serverless架构作为新兴的云计算范式,如何改变应用的构建和部署方式。文章介绍了Serverless的核心概念、优势和挑战,并提供了开发技巧和实用工具,帮助开发者更好地理解和利用这一技术。
|
2月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
101 1
|
2月前
|
监控 Serverless 数据库
探索 Serverless 架构:云计算的新浪潮
【10月更文挑战第23天】Serverless 架构是一种新兴的云计算范式,允许开发者构建和运行应用程序而无需管理服务器。本文深入探讨了 Serverless 的核心概念、优势、挑战及最佳实践,帮助开发者更好地理解和应用这一技术。
|
2月前
|
监控 安全 Serverless
"揭秘D2终端大会热点技术:Serverless架构最佳实践全解析,让你的开发效率翻倍,迈向技术新高峰!"
【10月更文挑战第23天】D2终端大会汇聚了众多前沿技术,其中Serverless架构备受瞩目。它让开发者无需关注服务器管理,专注于业务逻辑,提高开发效率。本文介绍了选择合适平台、设计合理函数架构、优化性能及安全监控的最佳实践,助力开发者充分挖掘Serverless潜力,推动技术发展。
84 1

相关产品

  • 函数计算