“每一行代码都是业务逻辑”,解密亚马逊云科技的全栈Serverless心得

出品 | CSDN 云计算

近几年在云计算技术领域中,云原生、Serverless 如日中天,而全球的云计算巨头亚马逊云科技则已经探索 Serverless 技术 17 年了。现在,亚马逊云科技 Serverless 服务中,Amazon Lambda 每月被调用的次数超过 10 万亿次,Amazon DynamoDB 数据库服务每天发起 10 万亿次请求,Amazon Fargate 计算每周新发布的任务超过 22.5 亿。

这些数据和成绩单,让亚马逊云科技继续成为当之无愧的云计算、云原生技术巨头。近日,亚马逊云科技举办了“全面拥抱 Serverless 时代”创新大会,再次向业界介绍了亚马逊云科技全栈 Serverless 技术与服务,并重磅分享了对于 Serverless 技术对于数字化转型与行业应用创新的重要作用和意义。

亚马逊云科技 Serverless 成绩单:全栈 Serverless 云服务、端到端数据能力、持续推出新功能

1、持续丰富全栈 Serverless 云服务,端到端数据能力进入 Serverless 技术创新的新范式

亚马逊云科技不断拓展,将 Serverless 推进到云服务全栈并持续丰富,目前 Serverless 服务广泛覆盖计算、存储、网络、容器、数据库、数据分析等多方面。其中,亚马逊云科技的分析服务已全面实现 Serverless 化,包括交互式查询服务 Amazon Athena、大数据处理服务 Amazon Managed Streaming for Apache Kafka (Amazon MSK)、实时分析服务 Amazon Kinesis 和 Amazon MSK、数据仓库服务 Amazon Redshift、数据集成服务 Amazon Glue、商业智能服务 Amazon QuickSight 以及运营分析服务 Amazon OpenSearch Service。在数据库服务方面,亚马逊云科技目前提供包括 Amazon Aurora Serverless、Amazon DynamoDB、Amazon Timestream、Amazon Keyspaces 和 Amazon Quantum Ledger Database (Amazon QLDB)六大数据库的 Serverless 选项。客户在无需配置、扩展或管理底层基础设施的情况下,即可使用亚马逊云科技数据相关的 Serverless 服务组合,构建企业端到端的数据战略,获得极致的高扩展性及弹性,更快的获得数据洞察,加快业务创新。亚马逊云科技分析服务的全部 Serverless 化,也标志着亚马逊云科技端到端的数据能力进入 Serverless 技术创新的新范式。

2、从快到更快,亚马逊云科技持续精进 Serverless 服务功能及性能提升

亚马逊云科技同时在持续推进现有 Serverless 服务的精耕细作,让客户获得更好的性能。Amazon Lambda 自 2014 年推出以来,已更新 100 多项新功能,并与 200 多项云服务深度集成。其中,在 2022 re:Invent 全球大会上推出的 Amazon Lambda Snapstart 可将 Lambda 函数的冷启动时间降低 90%,实现 10 倍的快速启动性能。新一代 Amazon Aurora Serverless v2 可在几分之一秒内自动扩展到数十万个事务,支持最严苛的应用程序。Amazon Aurora Serverless v2 可根据应用程序的需求,以细粒度的增量扩展容量,与为峰值负载预置数据库容量的方式相比,可帮助客户节省高达 90%的成本。此外,Serverless 的对象存储服务 Amazon S3 也在一直持续增加新功能,目前已经从 2006 年的一个由 8 个独立微服务组成的系统,成长为如今已经有超过 235 个不同的微服务。

目前,数十万客户选择亚马逊云科技 Serverless 服务开展业务创新,从初创公司到全球知名企业,例如丰田汽车、西门子、Netflix、迪士尼、iRobot、麦当劳、乐高、可口可乐等等。此外,亚马逊云科技构建了强大的合作伙伴网络,通过合作伙伴网络成员与亚马逊云科技的解决方案组合,帮助各行业客户基于 Serverless 服务开展创新。

Serverless,数字化进程与不确定环境的最优解

从技术角度,Serverless 特性与优势的资料已经有非常多。在大会上,亚马逊云科技大中华区产品部总经理陈晓建在演讲中分享了 Serverless 对于数字化转型与不确定商业环境中创新应用开发的三大优势,值得关注。

首先,Serverless 满足业务与应用的快速创新时,对系统响应的不可预测性。我们知道 Serverless 应用无需管理 API、消息队列、存储、数据库,企业只需要专注于业务逻辑,将更多的精力放在业务创新上,加速应用推出时间。

例如在 2022 re:Invent 全球大会上推出的 Amazon Lambda Snapstart 可将 Lambda 函数的冷启动时间降低 90%,实现 10 倍的快速启动性能,消除在系统启动的时候带来的突发延时,客户不需要做任何的代码改变,也不需要支付任何的费用。该功能帮助智能支付平台 Bill.com 提高了 95%的冷启动性能。另外丰富的 Serverless 服务帮助开发了《 弹壳特工队 》和《 弓箭传说 》初创游戏公司 Habby 大幅缩短新游戏的部署和上线时间;帮助《Marvel Snap》卡牌游戏在半年达成全球 5000 万美元的总营收;帮助可口可乐在 100 天内构建了新应用程序,允许客户在不接触自动售货机的情况下订购和支付饮料。

第二,全栈 Serverless 应对业务侧错综复杂的诉求。Serverless 可以消除业务不稳定起伏带来的隐性成本,轻松应对峰值、非频发的复杂工作负载;还可以消除数据管理系统按需扩展的复杂实施难题,无需考虑计算和存储资源的比例,也不会出现节点读写状态不一致等问题。

亚马逊推出的诞生于云端的 MMO-RPG 游戏《新世界》是错综复杂的典型代表:每一个世界拥有 2500 个玩家,7000 个 AI 实体和十万多不同的物品;这样的世界在发布时有 185 个,10 天内扩展至 500 个。《新世界》运用了大量的 Serverless 服务以提供强大的性能支持,Amazon Kinesis 每分钟可以传递处理 2300 万个事件,Amazon Lambda 每分钟可以处理多达 1.5 亿次调用,轻松应对新游戏上线时的流量突增。

另外,据介绍,2023 年 3 月 15 日,Aurora Serverless V2 在中国区正式上线: 可在几分之一秒内自动扩展到数十万个事务; 以细粒度的增量扩展容量,与为峰值负载预置数据库容量的方式相比,可帮助客户节省高达 90%的成本。

第三,Serverless 中 Amazon Lambda 实现故障隔离,应对潜在风险。亚马逊云科技的 Amazon Lambda 融入了潜水艇隔离仓的安全理念,满足企业级生产所需的 99.99%高可用:执行环境在硬件虚拟化虚拟机(microVM)上运行;每个 Amazon Lambda 运行的 microVM 不会跨亚马逊云科技账户共享;每个执行环境只处理一个并发调用。另外,无服务器消除了管理基础架构的需要,也就是说使用无服务器架构,更多的责任例如给服务器扩容或者打补丁,由亚马逊云科技承担。

上线部署 Serverless 的建议,亚马逊云科技给出三条进阶路径

当技术深入到千行百业,开发者永远是不够用的。所以亚马逊云科技在大会上也给出了一些上线部署 Serverless 的建议。

进阶路径 1:从迁移开始,无需代码改造

  • 对于后端服务的无服务器化重构,亚马逊云科技开发了开源工具 Lambda Web Adapter,客户无需修改代码,可以随意切换应用程序在 Lambda 和容器之间转换,基于容器开发的代码,经过镜像打包,可以交付到 Lambda 里执行;相反基于 Lambda 开发的 Web 应用,也可以通过 web adapter 选择采用 Lambda 还是采用容器部署和执行。
  • 对于后端数据管理无服务器化迁移,亚马逊云科技提供与标准接口全面兼容的 Serverless 数据云服务:
  • 关系型数据库 Amazon Aurora 全面兼容 MySQL 和 Postgres
  • 非关系型数据库 Amazon Keyspaces 兼容 Apache Cassandra
  • Amazon Redshift 数据仓库 支持 Postgres 语法和分析引擎大数据平台 hadoop 服务
  • Amazon EMR 和 Amazon OpenSearch 的 Serverless 版本与开源社区完全兼容
  • Amazon SageMaker Serverless 可以直接部署 TensorFlow, Pytorch 等开源框架下编写的模型推理代码

进阶路径 2:拥抱事件驱动架构,灵活应对不确定性

  • 事件驱动架构(Event-Driven Architecture,EDA)基于事件来解耦应用程序组件,由事件生产者、事件路由和事件消费者三个关键组件构成。航空公司订票系统、餐厅服务的点单系统,和大量的银行保险业务,都是事件驱动的。
  • 事件驱动架构有三大优势:
  • 更少的依赖:当组件紧密地相互依赖时,在不影响其他组件的情况下,对单个组件作出更改可能是很困难且有风险的。在松耦合的应用程序中独立构建和部署应用程序,处理各项服务的开发团队具有较少的依赖,更改一项服务影响其他服务的风险较小。
  • 故障隔离:紧密耦合的组件会影响程序的可用性,如果两个组件依赖于彼此的同步响应,一个组件失败将导致另一个组件也失败。而这些失败会降低系统整体的容错能力。在松耦合的组件中独立扩展组件,一个组件失败不会影响其他组件,整个系统仍可继续运作。具有松耦合组件的应用程序具有更少的单点失败,以及更高的弹性。
  • 可进化的架构:在不更改现有应用程序的情况下使用事件构建新功能。由于组件会发出事件,因此事件驱动型架构很容易扩展,不需要改变整个系统,即可轻松发展你的架构。
  • Amazon S3 对象存储服务服务是事件驱动架构的典范,从 2006 年的一个由 8 个独立微服务组成的系统,如今已经进化为超过 235 个不同的微服务;
  • 事件驱动架构的客户可以更快更容易地采用 Serverless 构建微服务新应用或开发新功能。奈飞 Netflix 等 Serverless 客户,都是首先从事件驱动架构开始了他们的无服务器之旅。

进阶路径 3:Serverless First,降低应用成本

  • Serverless First 就是在构建新的应用时首先考虑是否可以首选 Serverless 来实现。
  • Serverless 应用拥有极致弹性和成本优化:相对于容器和有 EC2 模式,Serverless 可以以更细的颗粒度来做资源的部署,提供资源利用率,降低成本。
  • Serverless First 思维还包括:面向应用场景选择各种所需云原生 Serverless 服务来设计架构,充分发挥服务之间的功能集成和协同治理优势。
  • 用户需要意识到有的非常多的应用现在已经可以通过亚马逊云科技丰富的 Serverless 服务来实现,而且不需要很深的技术背景,或是需要更改架构才能实现。

大会上,亚马逊云科技大中华区产品部总经理陈晓建表示:“如同云计算将客户从复杂的物理基础设施中解放出来一样,亚马逊云科技进一步通过 Serverless 将这一过程延展到了云上的虚拟基础设施和云服务领域。我们希望客户写的每一行代码都是业务逻辑,Serverless 正在让它变为现实。过去 17 年,我们持续推进 Serverless 的发展,将 Serverless 提供的极致弹性和自动扩展能力带给越来越多的客户。此外,亚马逊云科技大规模云服务的运营能力以及标准、安全的产品 API 体系,确保了我们的 Serverless 服务为客户提供极致的瞬间并发能力,应对极端业务激增,并帮助他们实现大规模部署,把应用快速部署到全球。”

以上是云巨头亚马逊云科技对于 Serverless 一次重要的技术总结与分享,更多云原生技术的行业应用与实践,需要开发者切身实际应用和体会。CSDN 也将持续报道云原生技术的更多进展。

猜你喜欢

转载自blog.csdn.net/FL63Zv9Zou86950w/article/details/129985147
今日推荐