当前,数字化转型已成为企业推动业务发展的重要途径,而上云是关键核心,但在实际上云过程中,企业发展面临着诸多不确定性,包括不可预测的现实环境、错综复杂的诉求、潜在风险等,想要快速上云并完成相应的部署,需要相关解决方案与产品的支撑。目前,云服务商在此方面也取得了较大的成果,其中,Serverless广受关注且应用程度在不断提升。
以亚马逊云科技为例,在亚马逊云科技“全面拥抱Serverless时代”创新大会上,亚马逊云科技大中华区产品部总经理陈晓建表示,目前全球数十万客户正在借助亚马逊云科技的Serverless云服务开展业务创新。
亚马逊云科技大中华区产品部总经理陈晓建,主办方供图
上云为什么需要Serverless?
陈晓建表示,Serverless 是描述云服务、应用开发实践和云原生应用架构的一种方式,能够帮助客户更加敏捷地构建应用程序,从而帮助他们更快地创新和应对变化,具备无需管理服务器、自动扩展与缩减容量、按使用量付费、更高的安全与可用性等特征。以亚马逊云科技的实践来看, Serverless 能够更好地帮助企业应对不确定性。
首先,Serverless可快速创新响应不可预测。Serverless 应用无需管理 API、消息队列、存储、数据库,企业只需要专注于业务逻辑,将更多的精力放在业务创新上,加速应用推出时间。
以2022 re:Invent 全球大会上推出的Amazon Lambda Snapstart为例,其可将Lambda函数的冷启动时间降低90%,实现10倍的快速启动性能,消除在系统启动的时候带来的突发延时,客户不需要做任何的代码改变,也不需要支付任何的费用。该功能帮助智能支付平台Bill.com提高了95%的冷启动性能。
其次,全栈Serverless能有效应对错综复杂的诉求。Serverless可以消除业务不稳定起伏带来的隐性成本,轻松应对峰值、非频发的复杂工作负载;还可以消除数据管理系统按需扩展的复杂实施难题,无需考虑计算和存储资源的比例,也不会出现节点读写状态不一致等问题。
再次,Serverless能够进行故障隔离,应对潜在风险。Amazon Lambda融入了潜水艇隔离仓的安全理念,满足企业级生产所需的99.99%高可用:执行环境在硬件虚拟化虚拟机(microVM)上运行;每个Amazon Lambda运行的microVM不会跨亚马逊云科技账户共享;每个执行环境只处理一个并发调用。同时,无服务器消除了管理基础架构的需要,也就是说使用无服务器架构,更多的责任例如给服务器扩容或者打补丁,由亚马逊云科技承担。
企业上云如何使用Serverless
Serverless在帮助企业上云方面有着巨大的作用,那么,企业应如何使用Serverless呢?陈晓建结合亚马逊云科技的深厚积累给出了三条进阶路径。
路径1:从迁移开始,无需代码改造
对于后端服务的无服务器化重构,亚马逊云科技开发了开源工具Lambda Web Adapter,客户无需修改代码,可以随意切换应用程序在Lambda和容器之间转换,基于容器开发的代码,经过镜像打包,可以交付到Lambda里执行;相反基于Lambda开发的Web应用,也可以通过web adapter选择采用Lambda还是采用容器部署和执行。对于后端数据管理无服务器化迁移,亚马逊云科技提供与标准接口全面兼容的Serverless数据云服务。
路径2:拥抱事件驱动架构,灵活应对不确定性
事件驱动架构(Event-Driven Architecture,EDA)基于事件来解耦应用程序组件,由事件生产者、事件路由和事件消费者三个关键组件构成。航空公司订票系统、餐厅服务的点单系统,和大量的银行保险业务,都是事件驱动的。而事件驱动架构的客户可以更快更容易地采用Serverless构建微服务新应用或开发新功能。亚马逊云科技在此方面有着多项突破,其中,Amazon S3对象存储服务服务是事件驱动架构的典范,从 2006 年的一个由 8 个独立微服务组成的系统,如今已经进化为超过 235 个不同的微服务。
路径3:Serverless First,降低应用成本
Serverless应用拥有极致弹性和成本优化:相对于容器和有EC2模式,Serverless可以以更细的颗粒度来做资源的部署,提供资源利用率,降低成本。因此,要树立Serverless First策略,即在构建新的应用时首先考虑是否可以首选 Serverless 来实现。
企业上云在数字化时代已经是必然趋势,如何高效、便捷、低成本的上云也就成为必须思考的问题,成熟的方案、可经验证的经验变得至关重要,而Serverless无疑是可靠的选择,亚马逊云科技通过长期的运营已经证实了这一点。
陈晓建表示:“如同云计算将客户从复杂的物理基础设施中解放出来一样,亚马逊云科技进一步通过Serverless将这一过程延展到了云上的虚拟基础设施和云服务领域。我们希望客户写的每一行代码都是业务逻辑,Serverless正在让它变为现实。过去17年,我们持续推进Serverless的发展,将Serverless提供的极致弹性和自动扩展能力带给越来越多的客户。此外,亚马逊云科技大规模云服务的运营能力以及标准、安全的产品API体系,确保了我们的Serverless服务为客户提供极致的瞬间并发能力,应对极端业务激增,并帮助他们实现大规模部署,把应用快速部署到全球。”