Serverless架构基础详解(4)

简介: Serverless架构的发展,离不开云厂商的驱动,离不开开源社区的支持,在过去的几年时间,无论是高校、实验室、云厂商等对Serverless架构的研究,还是CNCF等基金会对Serverless架构的持续关注和赋能,还是其他的Serverless社区、开源项目对Serverless架构的建设,Serverless架构都在逐渐的成为更通用,更好用的技术架构,都在成为更简单、更具价值的技术选型

1.1.4 生态发展
Serverless架构的发展,离不开云厂商的驱动,离不开开源社区的支持,在过去的几年时间,无论是高校、实验室、云厂商等对Serverless架构的研究,还是CNCF等基金会对Serverless架构的持续关注和赋能,还是其他的Serverless社区、开源项目对Serverless架构的建设,Serverless架构都在逐渐的成为更通用,更好用的技术架构,都在成为更简单、更具价值的技术选型。

学术建设
Serverless架构从诞生到今天,正在逐渐的被更多人所关注,包括学术界也逐渐有越来越多的人,将目光投向Serverless架构,助力Serverless领域快速腾飞。这一部分,将会通过部分论文对Serverless架构在学术界的建设进行初步的分析和探索。

2018年,Serverless的发展速度要比想象中的更加快速,这一年UC Berkeley发文《Serverless Computing: One Step Forward, Two Steps Back》,表达了对Serverless架构的担忧和挑战,在这篇文章中,作者认为“通过提供自动缩放功能,今天的FaaS产品在云编程方面迈出了一大步,它提供了一种实际上可管理的,看似无限的计算平台。但是,他们忽略了高效数据处理的重要性;其次,它们阻碍了分布式系统的开发”。任何一个新的技术、概念出现都会遇到一定的挑战和担忧,就如同当年云计算出现时,也被一些人(如Oracle公司总裁Larry Ellison、GNU发起人Richard Stallman)认为只是又一个商业炒作的概念,毫无新意,甚至蠢不可及。当然,事实也证明,任何一个新的事物,都只有在经历各种挑战和质疑之后,才能更茁壮的成长,Serverless也不例外。

2019年,时隔一年,UC Berkeley针对Serverless架构再次发文《Cloud Programming Simplified: A Berkeley View on Serverless Computing》,在这篇文章中,作者犀利断言Serverless 将会在接下来十年被迅速采用,获得飞速发展,并对Serverless架构进行了更为激进的断言:Serverless 将会成为云时代默认的计算范式,将会取代 Serverful 计算,这也意味着服务器 - 客户端模式的终结,Serverless架构将会引领云计算的下一个十年。

在学术界,不仅仅UC Berkeley 对Serverless发表过多篇论文,很多国内外高校都在Serverless领域投入了足够的精力进行科研探索。就目前来看, Serverless 已经成为学术界的研究热点,每年Serverless架构相关的论文都有比较明显的增长趋势:

image.png

(该图片来自掘金社区)

而到了2021年,Serverless架构在学术界的论文数量不仅仅再次上升,其研究内容和方向也是越发的完善和全面,其中包括不限于冷启动优化、镜像加速、调度策略、缓存机制等诸多热点问题。

以阿里云函数计算团队和美国George Mason University Leap Lab合作发表在顶会USENIX ATC (USENIX Annual Technical Conference) 的论文《FaaSNet: Scalable and Fast Provisioning of Custom Serverless Container Runtimes at Alibaba Cloud Function Compute》为例,在文章中就针对容器镜像生态与Serverless架构结合之后的问题“镜像拉取与冷启动优化”问题进行了更为深入的探索,在加速镜像的分发速度方面,常见的业界成熟的 P2P 方案没有做到 function 级别的感知,并且集群内的拓扑逻辑大多为全连接的网络模式,对机器的性能提出了一定需求,这些前置设定不适配 FC ECS 的系统实现,为此设计并提出了一个具有高伸缩性的轻量级系统中间件FaaSNet,FaaSNet利用到镜像加速格式进行容器分发,目标作用场景是 FaaS 中突发流量下的大规模容器镜像启动(函数冷启动),FaaSNet 的核心组件包含 Function Tree (FT),是一个去中心化的、自平衡的二叉树状拓扑结构,树状拓扑结构中的所有节点全部等价。FaaSNet 可以根据 workload 的动态性实现实时组网已达到 function-awareness,无须做预先的 workload分析与预处理,进而帮助Serverless平台解锁高伸缩性和快速的镜像分发速度技术瓶颈,赋能自定义容器镜像场景的更为深入和广泛的应用。

除此之外,作为云计算领域的顶级会议SoCC,在2021年接收的论文中,也可以看到诸多Serverless架构的影子,例如以Microsoft Azure Functions作为实验平台的论文《FaaT:ATransparentAuto−ScalingCacheforServerlessApplications》,针对Serverless架构中函数stateless的特点,针对FaaS平台的Cache问题,提出了一种用于Serverless应用程序的自动伸缩分布式缓存FaaT: A Transparent Auto-Scaling Cache for Serverless Applications》,针对Serverless架构中函数 stateless 的特点,针对FaaS平台的Cache问题,提出了一种用于Serverless应用程序的自动伸缩分布式缓存FaaT:ATransparentAuto−ScalingCacheforServerlessApplications》,针对Serverless架构中函数stateless的特点,针对FaaS平台的Cache问题,提出了一种用于Serverless应用程序的自动伸缩分布式缓存FaaT,可以大幅度提升 Serverless 函数的性能,与已有的通过外部存储作为 Cache 系统的方法相比,Faa$T可以降低绝大多数的开销。另一篇文章《ServerMore: Opportunistic Execution of Serverless Functions in the Cloud》针对Serverless函数短执行时间与低资源需求的特点,介绍了一种服务器级资源管理器ServerMore,可将Serverless 函数与 Serverful 的虚拟机调度在同一台物理机上执行任务,ServerMore 动态调节服务器上的 CPU、内存带宽和 LLC 资源,以确保 Serverful 和 Serverless 工作负载之间的托管不会影响应用程序tail latencies。通过选择性地使用Serverless架构并推断相对黑盒的Serverful工作负载的性能,ServerMore 与之前的模式相比,平均提高了 35.9% 到 245% 的资源利用率;同时对 Serverful 应用程序和 Serverless 架构的延迟影响最小。

Serverless架构的学术研究日渐火热,各领域的顶会也出现了诸多优秀的Serverless架构相关论文,这不仅有助于Serverless学术生态的繁荣,也非常有助于突破Serverless架构的技术瓶颈,实现云计算领域技术架构升级。

除此之外,近年来国内的Serverless图书专著也逐渐多了起来,仅仅2021年一年的时间就先后有包括《前端Serverless:面向全栈的无服务器架构实战》、《Serverless从入门到进阶:架构、原理与实践》、《Serverless工程实践:从入门到进阶》、《华为Serverless核心技术与实践》等在内的图书被出版,大大丰富了国内的Serverless培训与教育的资料生态。

随着时间的发展,Serverless架构在更多领域发挥着越来越重要的作用,在被更多人关注的同时,Serverless架构也逐渐的成为了诸多学者、实验室的研究对象,如何将学术和工业进行有机结合,如何通过工业赋能学术届的科研,通过学术届的科研赋能工业界技术架构的迭代升级,赋能整个行业的前进,这不仅仅是Serverless架构需要做的,也是如今的Serverless架构正在做的。

工具链建设
Serverless 正在改变未来软件开发的模式和流程,并被预测将引领云计算的下一个 10 年,但尽管如此,开发者在选择使用 Serverless 时仍有诸多担忧,这其中最受关注的无疑就是工具链体系的匮乏。所谓的工具链匮乏,一方面表现在市面上工具链不完善,这导致开发和部署难度大,进而增加成本;另一方面表现在,缺乏相关的工具链在体验层将 Serverless 体验进一步规范,优质工具链的匮乏导致本来就担心被厂商绑定的 Serverless 开发者变得更难与厂商解绑。2020年 10月,中国信息通信研究院发布国内首个《云原生用户调查报告》明确指出在使用 Serverless 架构之前,49% 的用户考虑部署成本,26% 的用户考虑厂商绑定情况,24% 的用户考虑相关工具集完善程度,这些数据背后透露的实际上是:开发者对于完善工具链的强烈需求。尽管,有一些开发者认为入门Serverless架构,通过白屏化的操作相对来说会更容易入门,在一定程度上通过各个云厂商的控制台进行函数的创建、更新也会更为方便。但是不可否定的是,Serverless开发者工具在一定程度上却有着更为重要的价值和作用:

通过脚手架,快速创建Serverless架构的应用;

在开发过程中,通过开发者工具进行应用的调试等;

在开发完成之后,通过开发者工具将应用(可能包括多个函数以及相对应的BaaS类产品)一键部署到线上;

项目运维阶段,通过开发者工具进行项目的可观测以及问题定位等;

若需要实现科学部署,通过某些CI/CD平台/工具发布Serverless架构的应用,通常是离不开开发者工具的;

目前Serverless领域,工具链建设分为两类:

云厂商/Serverless框架所提供的针对自身的开发者工具,例如AWS的SAM CLI,阿里云的Funcraft,OpenWhisk的Ask等;

由第三方提供的多云开发者框架(包括不限于开源社区驱动),例如Serverless Framework项目,Serverless Devs项目等;

通过Serverless开发者工具,开发者可以非常简单的学习和使用Serverless架构,也可以在生产的过程中快速的使用这些工具进行开发效能的提升。以Serverless Framework为例,作为拥有近4万Star的海外老牌Serverless工具链开源项目,目前Serverless.com的官方网站支持11个常见的Serverless平台产品:

image.png

可以通过Serverless Framework开发者工具,以AWS Lambda为例进行实践,可以通过几行命令快速体验AWS Lambda:

# 安装
npm install -g serverless
# 配置密钥
serverless config credentials --provider aws --key key--secret secret
# 创建一个项目
serverless create --template aws-python3 --path my-service
# 进入项目
cd my-service
# 部署项目
serverless deploy -v

除了对项目的部署和发布操作之外,Serverless Framework还支持项目的删除,回滚等更多的操作,以常见的部分云厂商和开源项目为例,Serverless Framework的常见能力表如下:

QQ截图20230113224954.png

相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
8月前
|
数据采集 运维 Serverless
云函数采集架构:Serverless模式下的动态IP与冷启动优化
本文探讨了在Serverless架构中使用云函数进行网页数据采集的挑战与解决方案。针对动态IP、冷启动及目标网站反爬策略等问题,提出了动态代理IP、请求头优化、云函数预热及容错设计等方法。通过网易云音乐歌曲信息采集案例,展示了如何结合Python代码实现高效的数据抓取,包括搜索、歌词与评论的获取。此方案不仅解决了传统采集方式在Serverless环境下的局限,还提升了系统的稳定性和性能。
254 0
|
8月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
778 69
|
7月前
|
数据采集 运维 监控
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
随着互联网数据采集需求的增长,传统爬虫架构因固定IP易封禁、资源浪费及扩展性差等问题逐渐显现。本文提出基于Serverless与代理IP技术的新一代爬虫方案,通过动态轮换IP、弹性调度任务等特性,显著提升启动效率、降低成本并增强并发能力。架构图与代码示例详细展示了其工作原理,性能对比数据显示采集成功率从71%提升至92%。行业案例表明,该方案在电商情报与价格对比平台中效果显著,未来有望成为主流趋势。
285 0
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
|
8月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
476 12
|
10月前
|
Kubernetes 监控 Serverless
基于阿里云Serverless Kubernetes(ASK)的无服务器架构设计与实践
无服务器架构(Serverless Architecture)在云原生技术中备受关注,开发者只需专注于业务逻辑,无需管理服务器。阿里云Serverless Kubernetes(ASK)是基于Kubernetes的托管服务,提供极致弹性和按需付费能力。本文深入探讨如何使用ASK设计和实现无服务器架构,涵盖事件驱动、自动扩展、无状态设计、监控与日志及成本优化等方面,并通过图片处理服务案例展示具体实践,帮助构建高效可靠的无服务器应用。
|
9月前
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
214 0
|
11月前
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
233 10
|
11月前
|
弹性计算 运维 网络协议
卓越效能,极简运维,Serverless高可用架构
本文介绍了Serverless高可用架构方案,当企业面对日益增长的用户访问量和复杂的业务需求时如何实现更高的灵活性、更低的成本和更强的稳定性。
|
弹性计算 Cloud Native Serverless
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品
阿里云 SAE 邀您参加 Serverless 高可用架构挑战赛,赢取精美礼品。
|
弹性计算 运维 Serverless
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!
卓越效能,极简运维,体验Serverless高可用架构,完成任务可领取转轮日历!

热门文章

最新文章

相关产品

  • 函数计算