拓宽“主航道”的Serverless与EDA领域,亚马逊云科技不断创新开拓

news2024/11/24 9:51:24

3f283267d52c46ec9c584098bd60a2db.png15de08fe0d194ab5beffbb7e4d072820.pngb72ff86ccf4b4baf8cb48970980a2c2d.png在新潮如走马灯般变换的时尚界,每隔几年就会刮起一阵复古风。被誉为“时尚教父”的著名设计师安德烈·莱昂·塔利曾说:“时尚总是在寻找新的灵感和方向,而复古是其中一个重要的来源。”   

无独有偶。日新月异的高科技领域也会出现公认的“过时”技术重新回潮的现象,在业界激起的波澜不亚于新兴技术的突破。近段时间以来,关于单体应用对微服务的“反戈一击”,就格外引人注目。

最新的“爆料”颇为吸睛:知名流媒体公司某项目团队发布了一则案例研究,“他们放弃了无服务器、微服务架构,改以单体应用取而代之,此举为客户节省90%的运营成本,并改善了使用体验”。

Serverless first战略被公认为是未来方向,业界也有很多事件驱动架构(EDA)与微服务领域的实践。从基本的商业逻辑思考,我们已经很难回到单体应用为主的时代,那么背后的深意到底是什么?

不妨先还原该团队在特定场景下的方案选择过程,再来梳理从单体应用到SOA再到微服务的发展轨迹,最终才能对可进化架构的演变方向做出经得起时间考验的判断。

 

客户利益至上:“左右互搏”探索最优路径

通过还原流媒体服务案例中对分布式计算和单体应用方案的甄选过程,既能看到其对“客户利益至上”理念的坚持,又会发现亚马逊云科技适应多元需求的能力是其敢于“左右互搏”的底气。

在最初的解决方案设计中,采用无服务器组件的分布式系统,这对快速构建服务通常是不错的选择。但在实际运行中,该架构遇到了扩展瓶颈——工作流的每一秒都执行多个状态转换,很快就达到了Account的上限,且每次状态转换都要收取费用,累计下来开支不菲。

成本问题还不止于此。为了减少费用较高的视频转换作业,项目团队构建了一个微服务,将视频分割成帧,并将临时图像上传到存储系统,然后再下载且使用相关服务处理图像。不过,存储调用服务的收费依然不低,总体算下来仍难达预期。

此路不通,何妨另辟蹊径。流媒体公司做出大胆的决定,将所有的组件打包到一个流程中。这消除了对视频帧中间存储的需求,数据传输在内存中即可完成,且媒体转换、检测器、编排等组件都在单个Amazon ECS任务中运行。

值得一提的是,在新架构中检测器的数量只能纵向扩展,而项目团队需要定期向服务中添加更多检测器,对单个实例容量造成较大压力。为了解决这一问题,团队使用不同的检测器子集对每个副本进行参数优化,并以轻量级的编排层分发客户请求。

这个案例最核心的价值是打破了对微服务的“信仰崇拜”,肯定了单体架构对部分应用需求的满足,但如果因此而得出单体架构将全面“复辟”的结论,就有些矫枉过正了。

事实上,基于特定场景的路径选择并没有简单的对错,客户愿意采纳单体架构还是微服务方案,取决于其目标设定、既有资源和团队情况等多重因素,一些变量的调整就可能导致抉择的转向。例如:项目中对视频分割成帧的颗粒度倘若不是过于细化,状态转换的频度就会显著下降,存储调用的费用也将趋于合理,微服务方案的优势有望重新凸显。

 

主航道不偏离:Serverless与EDA驱动微服务持续进化

理性的判断离不开基于实验的对比分析,更源于对发展规律的深刻洞察。只有站在历史的长河中审视不同架构的演变轨迹,才能更好地认知从单体应用到面向服务架构体系(SOA)再到微服务的进化历程,不至于落入相对主义或虚无主义的陷阱。

“上古时代”的软件都是将所有功能写在一起,整个软件仿佛一体化运行的机器,单体架构由此得名。伴随软件的功能日益增加,单体架构也变得愈发复杂,很多缺点随之暴露出来。

大型单体应用的开发速度缓慢,在部署和运行时,需要服务器具有充足内存和相关资源,且必须通过在多个服务器上复制应用程序来实现横向扩展,扩展能力受限明显;同时,这些应用程序的各个功能组件采用紧耦合方式,使维护和更新颇为困难。

为了应对上述挑战,必须改变代码的紧耦合状态,将软件拆分成一个个功能单元,“面向服务的体系架构”(SOA)应运而生。在SOA架构中,每个服务独立承担各自功能,服务间借助通信协议连在一起,各项服务可使用不同的语言和工具开发,能部署在差异化的系统环境中。

在云重新定义一切的背景下,容器化潮流的迅猛来袭让更轻量化的SOA成为可能,微服务逐步占据“C位”。在容器环境中,每个服务不必再占用一台服务器,多个容器可基于一台服务器运行,甚至在Serverless架构支撑下能够实现无服务器化演进。用户不必在基础设施维护、更新等方面耗时费力,可将更多精力放到业务逻辑上。

如果说Serverless为微服务的进化按下了快行键,那么事件驱动架构(EDA)则是微服务适应不确定性环境的终极武器。

EDA能让架构中的各个模块按事件发生的顺序灵活地执行,并可把执行结果作为新的事件来驱动下一个模块的运行。Gartner发布的《十大战略技术趋势》报告显示,到2022年,已有逾50%的组织参与到事件驱动的数字化服务生态系统中,EDA会是微服务未来成长的核心动力。

显而易见,在Serverless与EDA的协同助推下,微服务业已成为数字化转型深水区里的主航道。单体应用虽然在特定场景中也具有不可或缺的价值,但从应用架构进化的底层逻辑和现实需求来看,其不可能取代微服务的主导地位。

 

架构随需应变:场景化、可进化指引未来方向

以更长远的眼光来看,应用架构的迭代升级永无止境。伴随人工智能通用化、数据生产要素化进程的提速,云计算平台需要为各种类型的企业提供随需应变、多元选择的应用架构方案,场景化、可进化是未来架构的重要演变方向。

作为全球云服务市场的翘楚,亚马逊云科技始终扮演着引领变革的角色,通过产品与服务的不断创新,为各个行业客户提供符合不同场景特征的架构选择。以Amazon S3为例:从2006年推出的几项微服务扩展到后来的300多个微服务,在存储方法、策略机制等维度持续完善,与客户共同成长。

在有助于拓宽“主航道”的Serverless与EDA领域,亚马逊云科技更是率先垂范。2014年问世的Amazon Lambda吹响了Serverless计算模型普及的号角,其后多年又为Serverless架构添加100多个新功能,进而推动Serverless从单一场景迈向全栈融合;同时,亚马逊云科技已构建起事件驱动架构的完整服务体系,包括Amazon EventBridge、Amazon Step Functions等,不仅提高开发敏捷性、节省成本,还能通过自由组合这些服务,更好地满足企业应用场景需求,将架构优势发挥到极致。

2023年,亚马逊云科技创新阐释“Serverless first”理念,擎起推进应用现代化的大旗。在一片大干快上的热潮中,亚马逊云科技倡导的“Serverless first”不等于“Serverless only”,架构路径的选择不能脱离客户的真实诉求和现实条件,拥有未来的前提是活在当下。

正如罗素所言,参差多态乃幸福本源。一家业务简单、只有几名开发人员的初创公司,与枝繁叶茂、拥有数十名工程师的大中型企业相比,选择不一样的应用架构是再自然不过的事。登高望远能知道目标所在,但也别忘了脚下的土地。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/751086.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【六祎 - 前端】 前端设计系统组件的备忘录

设计系统按钮 设计痕迹导航可视化组建 进度条 汉堡菜单按钮 导航栏激活状态 状态颜色 web应用程序导航栏间距

可视化fcn-8s head的输出

"""可视化head的输出【可视化的结果是灰度图像"""image Image.open(imgPath).convert("RGB") transform transforms.Compose([transforms.ToTensor(),transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]), …

SQL进阶(2)——SQL语句类型 增删改查CRUD 事务初步 表关联关系 视图 +索引

目录 引出SQL语句类型1.DML数据操纵语言(重点)2.DQL数据查询语言(重点)3.DDL(Data Definition Language了解)4.DCL(Data Control Language了解)5.TCL 事务控制语言 运算符和其他函数1.运算符2.其它函数增删改查CRUD 视图索引事务1…

springboot留守儿童爱心网站

本系统主要是设计出留守儿童爱心网站,基于B/S构架,后台数据库采用了Mysql,可以使数据的查询和存储变得更加有效,可以确保留守儿童爱心管理的工作能够正常、高效的进行,从而提高工作的效率。总体的研究内容如下&#xf…

迅捷录屏软件使用中的注意事项

取消勾选时就不会出现右侧的悬浮框滑动的窗口了。 取消鼠标高亮后,录制的视频就不会出现一个空心的小圆圈。

Python+docx实现python对word文档的编辑

前言: 该模块可以通过python代码来对word文档进行大批量的编辑。docx它提供了一组功能丰富的函数和方法,用于创建、修改和读取Word文档。下面是docx模块中一些常用的函数和方法的介绍: 安装:pip install docx 一、准备一个word文档…

计算机毕设 大数据房价数据分析及可视化 - python 房价分析

文章目录 1 课题背景2 数据爬取2.1 爬虫简介2.2 房价爬取 3 数据可视化分析3.1 ECharts3.2 相关可视化图表 4 最后 1 课题背景 房地产是促进我国经济持续增长的基础性、主导性产业。如何了解一个城市的房价的区域分布,或者不同的城市房价的区域差异。如何获取一个城…

声音生成项目(6)——在矢量量化变分编码器上使用自回归模型PixelCNN模型生成新的样本

文章目录 介绍PixelCNN论文简读模型介绍自回归模型PixelCNN模型结构 基础知识回顾参考连接 代码实现PixelConvLayer具体运行过程卷积模块整体网络结构 模型执行效果 Colab代码本子介绍Introduction介绍获取数据创建模型需要两个类 介绍 在上一篇就是介绍了矢量量化变分模型的具…

Stable Diffusion生成图片参数查看与抹除

前几天分享了几张Stable Diffusion生成的艺术二维码,有同学反映不知道怎么查看图片的参数信息,还有的同学问怎么保护自己的图片生成参数不会泄露,这篇文章就来专门分享如何查看和抹除图片的参数。 查看图片的生成参数 1、打开Stable Diffus…

LDAP Tool Box Self Service Password

手册地址:https://self-service-password.readthedocs.io/en/latest/安装要求: Apache or another web server php (>7.4) php-curl (haveibeenpwned api) php-filter php-gd (captcha) php-ldap php-mbstring (reset mail) php-openssl (token cryp…

管理类联考——数学——记忆篇——二、代数——5.不等式

文章目录 不等式均值不等式均值不等式定义一般情况下扩展 推导加深记忆 有公式就要用绝对值不等式一元二次不等式 不等式 不等式在初中、高中甚至竞赛中都是比较相对综合、有难度的一块内容,经常会与方程、函数等其它知识点一起考察,一般的题型有&#…

查看Elasticsearch集群状态

Elastic查询 使用elastic自带的开发工具查询 查询集群健康状态 #查询集群健康状态 GET /_cluster/health集群名字使我们创建容器的时候设置的参数,状态绿色 查询节点状态 #查询节点状态 GET /_cat/nodes?v我们是使用docker容器创建的,这里显示的ip是容器内部ip 查询索…

前端做excel的录入解析,将excel的数据传给后端,显示在页面上。

具体的流程如图所示: 1.点击excel录入按钮 2.打开弹框 3.点击上传按钮,会自动打开计算机本地文件,选择想上传的文件,点击打开 4.会将excel的数据解析成一个表格,可以在表格中做删除操作,点击确定 5.将exc…

DeFi新篇章 | Sui上原生订单簿DeepBook正式上线

随着原生去中心化中央限价订单簿( Central Limit Order Book,CLOB)DeepBook的推出,Sui上的DeFi开启了新篇章。DeepBook由一群Sui贡献者共同构建,为新一代DeFi应用提供了一个稳定的流动性层。 通过DeepBook&#xff0c…

Oracle select语法

SQL 语言介绍 SQL(Structured Query Language)为数据库的语言,在 1974 年由Boyce【博伊斯】和Chamberlin【钱伯林】提 出的一种介于关系代数与关系演算之间的结构化查询语言,是一个通用的、功能极强的关系型数据库语言。包含三部分 DDL(Data Definitio…

Spring Boot配置文件与日志

目录 配置文件配置文件格式.propertiesyml 读取配置文件内容根据不同环境配置不同属性 日志自定义日志的打印更简单的日志打印日志级别日志级别的设置 日志的持久化 配置文件 Spring Boot项目的重要数据都是在配置文件中设置的。配置文件可以包含各种属性和值,用于…

LeetCode_面试题 01.01. 判定字符是否唯一

题目描述 面试题 01.01. 判定字符是否唯一https://leetcode.cn/problems/is-unique-lcci/ 实现一个算法,确定一个字符串 s 的所有字符是否全都不同。 示例 1: 输入: s "leetcode" 输出: false 示例 2: 输入: s "abc"…

中国黄金品牌怎么代理

想选择一个项目创业其实不难,中国黄金这个品牌相信大家都已经相当的熟悉,它成立于1979年,是业界中的佼佼者,一直致力于为消费者提供黄金、白银、珠宝等的产品,无论是产品质量还是服务,都在行业中处于领先地…

数据备份、还原、视图、索引 操作练习

目录 备份与还原: 题目要求: 索引和视图 题目要求: 备份与还原: 在数据库booksDB中创建表books、authorbook、authorbook: 题目要求: 1、mysqldump -uroot -pRyh201314% booksDB > /backup/db/boo…

jsonschema networknt json-schema-validator 高级能力json 数字很大时, 变成什么类型

入参校验产品化 schema_个人渣记录仅为自己搜索用的博客-CSDN博客 自动变成了bigInteger类型. 哪怕你的jsonSchema 配置的是integer , 不冲突.