首页 > 资讯 >

焦点热文:转为单体架构将成本降低 90%!亚马逊CTO:必须重新自我审视

2023-05-10 03:03:34 来源:InfoQ

编译 | 明知山、Tina

Ruby on Rails 之父:“即使是亚马逊也无法理解无服务器或微服务。”


(资料图片)

来自亚马逊 Prime Video 团队的一个案例研究在开发者社区中掀起了轩然大波。

在该案例中,Prime Video 团队将一个监控系统从微服务架构迁移到单体架构,并避免使用昂贵的服务(如 AWS Step Functions 和 Lambda 无服务器函数),并对此举所带来的降本效果进行了评估。

他们的需求是使用一个监控工具来识别“用户查看的视频流”的质量问题,因为有“成千上万个并发流”,所以这个工具必须是高度可伸缩的。团队最初构建了一个由 AWS Step Functions 编排而成的分布式组件解决方案,一个基于状态机和任务的无服务器编排服务。结果发现,Step Functions 居然是瓶颈所在。

案例文章中写道:“对于视频流的每一秒,我们的服务都需要执行多次状态转换,所以很快就达到了账户限制。除此之外,AWS Step Functions 是按照状态转换向用户收费的。”还有另外一个“成本问题”,即存在大量对 S3的一级调用(用于临时存储捕获的视频帧)。

Prime Video 监控应用程序的初始架构,可见成本很高,伸缩性也很差

案例文章中写道:“我们意识到分布式架构在这个特定的场景中并没有为我们带来太大的好处,所以我们将所有组件都合并到一个进程中”,从而消除了对 S3的依赖。“我们还实现了在单个实例中控制组件的编排。”现在,这个解决方案运行在 EC2(Elastic Compute Cloud)和 ECS(Elastic Container Service)上,其中有“一个轻量级的编排层来分发用户请求”。

案例文章总结道:“微服务和无服务器组件可以被用在大规模的场景中,但是否一定要舍弃单体而使用它们则需要根据具体情况具体分析。将服务迁移成单体让我们的基础设施成本降低了90% 以上,还提升了我们的伸缩能力。”文中还提到了他们通过 EC2节省计划来降低成本,这说明即使是内部 AWS 用户也会按照与外部用户类似的模式收取费用。

1众说纷纭:我们的架构设计究竟出了什么问题?

这篇文章最初是在三月份发布的,但是直到这个月才引起整个工程界和技术界的关注。

Hacker News 上的一条评论说:“这篇文章的存在让我感到很惊讶,甚至都有点看傻眼了”。

在我们看来,AWS 总是习惯于将微服务和无服务器架构宣扬成“现代化”应用程序的最佳实践。例如,“AWS Well-Architected”文档的“Reliability”一项下面给出了一些建议:

“使用面向服务架构(SOA)或微服务架构构建高度可伸缩和可靠的工作负载。面向服务架构是一种通过服务接口让软件组件变得可重用的实践。微服务架构则进一步让组件变得更小、更简单。”

在关于.NET 应用程序现代化的“AWS Prescriptive Guidance”文档中,亚马逊列出了微服务的好处,包括更快的创新、高可用性和可靠性、更高的敏捷性和按需可伸缩性、现代 CI/CD(持续集成和部署)管道,以及强大的模块边界,尽管它也将“运维复杂性”列为缺点。

然而,这篇案例文章似乎证实了开发者的一些猜疑。其中的一个猜疑是,AWS 推荐的解决方案可能不是最具成本效益的,因为它们总是涉及到使用多种昂贵的服务。另一个猜疑是微服务相对于单体应用的优点似乎被夸大了。

Ruby on Rails 作者 David Heinemeier Hansson 一直在倡导减少对云服务的使用,他在评论亚马逊的这个案例研究时表示,它“对一度席卷科技行业的理论上的微服务热潮来了一次大总结。现在,这些理论的实际结果终于出来了。很明显,在实践中,微服务可能会给系统带来不必要的复杂性。而无服务器只会让情况变得更糟。一个团队,一个应用程序,却用网络调用和服务分区取代方法调用和模块分离,这在任何一种情况下几乎都是很疯狂的。”

“即使是亚马逊也无法理解无服务器或微服务。”

2020年,“Building Microservices”和“Monolith to Microservices”等书的作者 Sam Newman 在一次开发者大会上表示,“微服务不应该是默认的选择”,并向软件架构师提出了一些在采用微服务架构之前需要考虑的事项:“你做过价值链分析吗?你了解过瓶颈出现在哪里吗?你尝试过模块化吗?微服务应该是最后才去考虑的。”

现在,Newman 在推特上对这篇案例文章作了评论:“这篇文章实际上更多的是关于函数与长时间运行的虚拟机的定价模型。这仍然是完全合乎逻辑的架构驱动,但从这个案例中学到的东西,其适用性范围可能相对要狭窄一些。”他接着写道:“人们之所以不公开谈论撤离微服务,是因为这可能会让一些人认为‘他们做错了’。视情况变化而改变你的想法才是对的做法。”

关于这篇文章的讨论随处可见,它激起了大量的思考,在 Hacker News、Twitter、Reddit 等平台上涌现了非常多的有意思的评论和分析。

就像一位网友在 Hacker News 上评论的那样:“这是一个很好的教训,一个很好的故事,而且很重要的是它来自亚马逊内部团队。”

对于该案例的初始架构设计存在的问题,一位 DataDog 高级软件工程师 Lambros Petrou 在推特上发表了分析:“Prime Video 案例文章中的设计是有问题的。滥用服务并不能解决架构问题,它只会把问题暴露出来”。前首席技术官 Steve Chambers 在某种程度上也同意这一观点,他说:“基本上,他们(现在)使用的是相同的架构,只是将组件塞到了容器中,这样他们就不会在不同的云服务之间通过网络进行昂贵的调用和数据传输……这很明显是一种优化!”

一名工程师在 Reddit 上针对这个案例争论道:“微服务是有额外开销的。本来简单的进程间通信,或者系统两个部件之间的内存调用,变成了 HTTPS、OAuth、JSON 编码 / 解码,而且每次都需要发生这些简短的对话。当你的系统被分解成50万个部件,每一次通信都需要做这些事情,并且你要为每一个事务付费时,成本和复杂性就会增加。拆解单体需要一次性替换整个应用程序,这意味着开发人员需要做一些测试。但 DevOps 意味着不会有更多的测试,所以在生产环境中会发生故障,我们唯一能做的是让功能块变小,这样才可能快速找到和修复问题。”

但总的来说,这篇案例文章对于 AWS 来说未必是坏消息。一方面,这似乎与这家云计算巨头所宣扬的最佳实践背道而驰,但另一方面,这也是一个令人耳目一新的关于如何通过简单的架构来降低成本的实践。与许多促销案例研究不同,这个案例看起来对 AWS 客户真的很有用。

2看看亚马逊 CTO 和前云架构战略副总裁怎么说

这件事情被大家传得沸沸扬扬的,甚至还惊动了亚马逊 CTO Werner Vogels 博士。

他对此表示,构建可演进的软件系统是一种策略,我们必须以开放的心态重新审视自己的架构。

“软件架构不像桥梁和房屋的架构。桥梁建成后就很难改变,但软件不一样。软件一旦运行起来,我们就可以更深入地了解我们的工作负载,然后再选择一个可演进的架构,在不影响客户体验的情况下进行更改。我的经验法则是,随着每个数量级的增长,你都应该重新审视你的架构,并确定它是否仍能支持下一个数量级的增长。”

“Prime Video 就是个很好的例子。(架构设计)没有放之四海而皆准的方法。我们总是敦促我们的工程师找到最佳解决方案,并且我们没有强制要求特定的架构风格。”“我想重申,没有一种架构模式可以满足所有的情况……单体没有消亡(恰恰相反),可演进的架构也在不断变化的技术格局中扮演着越来越重要的角色。”

在 Werner Vogels 博士发表看法之后,去年已宣布退休的前亚马逊云科技可持续发展架构副总裁、前云架构战略副总裁 Adrian Cockcroft 也忍不住出来点评了一下。

“关于 Prime Video 的案例,虽然互联网上涌现了堆积如山的意见和观点,但大多没有说到点子上。”

Prime Video 团队只是遵循了一条“Serverless First(无服务器优先)”的原则:首先尝试使用 Step Functions 和 Lambda 进行快速构建。通过无服务器方法,在几天或几周内构建一个原型,这是重点。然后在需要应对高流量时,再进行重构。“Serverless First”和“Serverless Only”是有区别的,“我不提倡 Serverless Only”。

他认为这个案例之所以会引起这么大的反应,关键是“在微服务被过度营销的情况下,大家以为 Prime Video 团队返回到了单体架构”。

“我确实认为微服务被过度宣传了,把微服务作为解决所有问题的答案。而且这可能是因为厂商想通过简单的营销信息来销售 Kubernetes,即需要通过使用 Kubernetes 来实现云原生的微服务。大家对这种信息传递方式表示了强烈的反对。Kubernetes 的复杂性是有代价的,除非你的团队和规模非常大,否则你不需要它。(建议阅读 Sam Newman 的《构建微服务:设计细粒度系统》一书。)”

总之,Prime Video 团队最初的设计还是很棒的,帮助他们快速进入市场并带来收益。而现在,他们在退后一步进行下一阶段的分析。“该团队遵循了我认为的最佳实践”,“我认为 Prime 团队发布的这篇文章非常富有洞察力……”

https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90

https://world.hey.com/dhh/even-amazon-can-t-make-sense-of-serverless-or-microservices-59625580

https://devclass.com/2023/05/05/reduce-costs-by-90-by-moving-from-microservices-to-monolith-amazon-internal-case-study-raises-eyebrows/

https://thestack.technology/amazon-prime-video-microservices-monolith/

https://news.ycombinator.com/item?id=35811741

https://twitter.com/samnewman/status/1654432661337788416

https://www.allthingsdistributed.com/2023/05/monoliths-are-not-dinosaurs.html

https://adrianco.medium.com/so-many-bad-takes-what-is-there-to-learn-from-the-prime-video-microservices-to-monolith-story-4bd0970423d4

声明:本文为 InfoQ 翻译,未经许可禁止转载。

标签:

焦点热文:转为单体架构将成本降低 90%!亚马逊CTO:必须重新自我审视

转为单体架构将成本降低90%!亚马逊CTO:必须重新自我审视 ,微服务,服务器,科学家,应用程序,财务报表,财务

2023-05-10

世界微动态丨华安沣信债券A基金5月10日发行,拟任基金经理邹维娜

2023年5月10日,华安沣信债券A(012231)今日发行,计划募集期为2023年5月10日——2023年8月10日,基金管理

2023-05-10

赵雅芝叶童被删吻戏(叶童赵雅芝演过的电视剧)

1、叶童赵雅芝演过的电视剧有四部如下。2、1、九十年代赵雅芝和叶童,合作的一部古装神话剧《新白娘子传奇

2023-05-09

汽车cd机接线图_汽车cd怎么使用

只需打开副驾驶的手套箱,放在长阅读区,最后用手推入即可,但前提是车辆通电。汽车正常行驶时启动CD,停车

2023-05-09

时的科技与中国民航飞行学院签署战略协议,共同推进和建立eVTOL行业标准!

2023年4月27日上午,上海时的科技有限公司与中国民用航空飞行学院(简称“中飞院”)在中飞院签署了战略合...

2023-05-09

海口今年高考考生首次突破2万人,考点增至13个,详情_世界新要闻

新海南客户端、南海网、南国都市报5月9日消息(记者黄婷)2023年海南省全国统一高考将在6月7日至10日举行。

2023-05-09

video films中文意思_video fixer-全球热点

videofilms中文意思,videofixer这个很多人还不知道,现在让我们一起来看看吧!1、不要注册码,打开记

2023-05-09

长沙推介107宗地块,涉及7大热门板块

长沙又有新土地“上架”。在湖南湘江集团推介了大王山、梅溪湖国际新城重点地块招商后,望城立马接棒。5...

2023-05-09

《犯罪都市3》举行发布会 马东锡李浚赫共同出席

1905电影网讯5月9日,电影《犯罪都市3》在韩国首尔举行发布会,导演李相龙,主演马东锡、李浚赫、青木崇高

2023-05-09

打通“三公里”就业圈 服务广大工友轻松就业-焦点日报

近日,中建三局一公司中安创谷科技园三期工程-1标段项目部于合肥市高新区城西桥社区服务中心新店社居委联合

2023-05-09

香港特区行政长官李家超将率团访问重庆

香港特区行政长官李家超将率团访问重庆

2023-05-09

汉王科技获四机构合计加仓近亿元,年初至今股价累涨超104%

汉王科技获四机构合计加仓近亿元,年初至今股价累涨超104%,股价,收盘,盘后,汉王科技,上市公司

2023-05-09

全球快消息!五下二十一课杨氏之子近义词反义词多音字

五下二十一课杨氏之子近义词反义词多音字

2023-05-09

1.5匹空调耗电量计算及分析介绍

在我们的日常生活中,数码产品的普及率是相当的高了。各式的数码产品在我们的生活中都充当着重要的角色,这

2023-05-09

外交部:甄逸慧,不受欢迎,5月13日前离华-当前热文

据外交部网站消息,近日,加拿大政府宣布将中国驻多伦多总领馆一名外交官列为“不受欢迎的人”。中方对...

2023-05-09

2023年度“沪惠保”5月9日开始参保! 微头条

2023年度沪惠保投保窗口于5月9日正式开启保费维持129元人不变保额最高310万元2023年度沪惠保由上海市医疗保

2023-05-09

盖茨再次力挺AI:革命性技术改变游戏规则 利大于弊|热议

微软创始人比尔·盖茨接受美国广播公司采访,谈到了他对人工智能的看法,以及AI对世界未来的意义。得益...

2023-05-09

山更青 权更活 民更富——林长制给长水村带来了什么

长水村高山与密林相伴,绿水与深谷相随蒋德先拍摄刘倩玮高山与密林相伴,绿水与深谷相随。江西省九江市武宁

2023-05-09

屋檐上为啥挂着一条“鱼”——园博园探秘④|全球报资讯

在石家庄展园,有一个悬挂在屋檐上的金黄色物品。它很像一条倒挂的鱼,叫做悬鱼。悬鱼是一种建筑装饰物,大

2023-05-09

鲁鱼亥豕 鲁鱼亥豕_鲁鱼亥豕

1、鲁鱼亥豕是什么意思呢?即把“鲁”字错成“鱼”字,把“亥”字错成“豕”字。2、指书籍在传写或刻印...

2023-05-09

苏武传原文及翻译对照初开始_求苏武传_节选的翻译以及文言现象 darr darr darr 初 武与李陵俱为侍

1、初,武与李陵俱为侍中——当初,苏武与李陵都是皇帝的侍从。2、武留匈奴凡十九岁,始以强壮出,及还...

2023-05-09

世界时讯:工商银行兔年金条100g价格今天多少一克(2023年05月09日)

金投网提供工商银行兔年金条100g价格今天多少一克(2023年05月09日),工商银行兔年金条100g价格最新消息(

2023-05-09

环球快资讯丨牛肉饺子用哪个部位的牛肉?

首先就是牛颈部的肉。这里属于牛肉中的活肉部分,口感比较绵软,而且肥瘦相间,吃起来香味浓厚,所以很受欢

2023-05-09

环球滚动:唱“花儿”、吃羊肉、绣刺绣,《于青山绿水间》带你走近多彩东乡

奔腾不息的黄河,滋养着这片古老而又神奇的土地;婉转悠扬的“花儿”,传唱着人们对美好生活的向往和追...

2023-05-09

全面提升水土保持功能

水是生命之源,土是万物之本,水土资源是人类赖以生存和发展的基础性资源

2023-05-09

热消息:情侣吵架从8楼将萨摩耶扔下?杭州警方:男子涉嫌高空抛物罪被采取刑事强制措施

太原市迎泽区食安办开展2023年度第二季度食品安全“两个责任”督查工作|每日热议

【环球聚看点】四川售电市场 | 零售套餐哪家强

中洲特材:连续3日融资净买入累计519.92万元(05-08)|全球速读

看点:马来西亚不准公务员上班互称“亲爱的”,该国语言学家解释

冠云峰在哪个园林_冠云峰

好听qq名男生霸气十足_qq好听的名字男生霸气|全球热点评

永联丰控股(08617.HK)一季度收益同比减少6.1%至3060万港元

无锡江阴7.23亿元挂牌1宗商住地 6月7日出让-天天热讯

5月8日基金净值:东方红恒元五年定开混合最新净值1.6668,跌0.16% 焦点简讯

今日聚焦!什么是ped认证_什么是PED认证

嘉兴燃气(09908)附属以3360万元向新加坡城市经济发展收购盐城星洲佳源房地产开发10%的股权

刚果(金)东部洪灾已致超400人死亡

空调有异味怎么清洗空调_空调有异味怎么清洗

世界短讯!会员单位风采丨佛山市金锋泰贸易有限公司

“米粉+公益”模式强力赋能,2023年“米粉公益月”活动圆满收官

一路向北冷漠歌词解释_一路向北冷漠歌词

江苏高考排名对应大学2022-江苏省分数位次对应大学_2023参考|环球热议

国家药监局通报6起医疗器械网络销售违法违规案件信息-环球播报

观点:唐山松汀钢铁198烧结顺利复产进入双机生产阶段

锦粼天曜,再次刷新昆明壕宅界的天花板|百事通

向乌克兰提供S-400?土耳其拒绝美国建议 快资讯

创业板快充概念有哪些企业(创业板快充概念上市企业市值排名)

银川西夏区总工会以技能培训稳就业促增收

世界报道:斗气等级划分和属性_斗气等级

Copyright @  2015-2022 东方家电网版权所有  备案号: 沪ICP备2020036824号-8   联系邮箱:562 66 29@qq.com