图片来源@视觉中国
王靖最近一年非常累。
(相关资料图)
根据上级部门的安排,一年半以前王靖所在杂志社启动了全盘数字化的转型计划,提出建立所属行业媒体中心网络和手机应用为核心的移动传播体系的目标,他担任整个数字化项目的负责人。
资金到位,内容也逐步完善,但产品技术的开发却一直无法完成:基于传统架构的应用开发进度缓慢、故障频出,加之上级领导想法也变来变去,整体进度停滞不前,期间技术团队几经更换,从一开始自建团队,到最后直接外包。
但事情更糟了。频繁更换技术团队导致技术开发没有标准化和延续性,系统里埋的“雷”越来越多,最终这个“打补丁”的产品漏洞百出。前期预算超标,又挤压了云服务支出,无法支撑高并发访问,从应用开发到客户体验全面崩塌。业务部门和技术部门的矛盾越来越激烈,王靖四处灭火,但最终项目还是被废止了。
花了大钱,事儿却没办成,这类情况在企业数智化建设过程中不是个案。
在全面数智化转型的今天,企业普遍认同数智化会成为企业发展的助推器,也愿意投入资金和精力,将企业管理与业务各个方面逐渐实现数智化。然而,并不是每个企业都有能力成为技术专家。
如何降低转型门槛,让企业更聚焦业务,让技术赋能更高效,让创新更容易?Serverless(无服务器)架构正成为越来越多企业的选择。在Serverless架构下,开发者和运营者仅需要关注应用程序逻辑,不用关心基础架构部署细节,就像厨师只需专注于做饭,而无需担心“水电煤”一样。
正视数字化建设三大风险企业数字化转型是一项复杂的工程,需要从管理层到业务和技术部门的共同努力,以科学决策和思路推动数字化建设。
然而,在实际执行过程中,从“自建服务器还是上云”,到开发、运维等一系列决策中,不少企业都走了弯路甚至吃了大亏。
首先,上云不是终点。买几台云服务器和数据库,把开发环境搬到云上面,从传统的本地化的开发转到云服务,只是企业业务初步上云的过程,离发挥云服务真正的优势还差很远。云服务真正重要的实时、动态扩展的能力,在这样的传统方式下没法施展,企业也享受不到由此带来的便捷。
其次,传统开发架构有系统风险。相对于协同的云开发模式,传统应用的架构或开发方式通常构建和开发时间更长,扩展速度慢,并且会发生更多的单点故障。
某种程度上,企业开发传统的应用必然要租用或者购买相应的网络服务,服务器、数据库等等软硬件来配套,而这些投入在企业业务扩张的时候还必须根据业务量同比例进行放大,这对于企业来说又是一个不小的成本,而且在投资决断的时候也会让企业管理者非常头疼。
因此,如何动态利用云资源,现在已经成为企业数智化转型面临的重点问题。
此外,对于开发团队的管理也是门学问。传统 IT 开发与后期运营系统是独立的团队,这中间会出现很多因为沟通不畅带来的问题。整个团队是分裂的,接手后期使用和维护的技术人员,依靠自身理解来维护程序的运转。重要问题还需要协调开发团队来解决,费时费力不说,中间耽误的时间和空间成本也无法避免。
如果云服务与数智化系统开发不能很好的结合,就会出大问题,这属于实际操作中需要注意的。但这种问题得不到充分的重视,企业之前非常好的战略就得不到落实,最终也会影响企业的稳定与发展。
Serverless有何不同上述问题很多数字化先行企业都遇到过,而他们最终选择的解决方案叫“Serverless”。
“Serverless”是一种软件系统架构思想和方法,它的核心思想是用户无须关注支撑应用运行的底层基础设施的状态、资源(比如CPU、内存、磁盘和网络)及数量。应用正常运行所需要的所有资源由底层的云计算平台动态提供。
相对于只是简单地把基础设施搬到云上,“Serverless”通过云的弹性伸缩的能力,按价值付费的模式,充分利用云计算的红利,实现应用云上的开发、部署、测试、运维等全生命周期管理。
Serverless相对于传统的云服务产品有四个特征,即无需管理服务器、系统可以根据需求自动扩展与缩减资源、企业能按价值付费,以及整个架构能提供更高的安全与可用性。
对于相对于企业数字化建设的传统三大风险,Serverless都有相对应的解决方案。
比如,为了应对企业上云的资源浪费,Serverless 成本的优势非常明显。企业按价值计费的模式,每一次付费和真正的业务请求相关联,不会造成资源浪费,优化云资源利用率。
对于动态分配云资源的问题,Serverless能实现基于业务需求的弹性扩缩容,可以让企业利用将云资源从零用量自动扩展到支撑峰值需求的技术,帮助企业用更快的速度满足客户的需求,保证业务的连续性。当业务需求减少时,也可以动态调整云资源的用量,降低成分,提高资源使用率。
对于团队管理和运维,Serverless能有效减轻运维压力。一方面,通过消除运营开销,团队可以快速发布、获得反馈和迭代以更快地将新功能推向市场;另一方面,Serverless服务内置的多个服务集成,企业可以专注于构建自己的应用程序,而不是花费精力去编写服务集成的逻辑。
以IMDb为例,这是一个知名电影评分网站,类似国内的豆瓣。IMDb应用最初是全部跑在Amazon的EC2上,拥有大概100多个主机。而今天,IMDb也进行了Serverless 架构重构,将单体应用拆成不同的微服务,每个 Serverless 微服务对应着各自的业务单元。
比如查询 “成龙的代表作是什么”,IMDb用的是GraphQL来组织查询,在后台这项查询会被拆解城4个不同的Lambda服务获取前四个电影的ID、名字/年份、评分、媒体链接这四个 Lambda函数,对应来获得相关信息。由此可见,基于Serverless设计,IMDb把核心业务都拆开了,更容易去扩展维护和演进了。
同时,Lambda函数的调用频率也基本能反映出网站流量的变化。IMDb一天的Lambda调用频率,是有规律的波峰波谷的变化,应对这种非常动态的,起伏比较大的访问,Serverless架构提供了及时的响应,并且用户只需要为调用付费,这也将节省下成本。
可以看到,通过使用亚马逊云科技Serverless技术进一步拓展了企业使用云服务的边界。在开发过程中,不同于传统云服务要求用户手动扩展,Serverless环境中,资源会自动扩展,以适应需求的变化。这大大降低了开发和部署的难度,使得整个系统在提升稳定性同时还加快了开发和部署的速度。
在Serverless技术的探索上,亚马逊云科技一直承担着先锋的角色。
从2006年亚马逊云科技诞生开始,其第一个服务Amazon S3就是一个Serverless服务,是一个Serverless对象存储;2012年,Amazon DynamoDB发布,在功能上已经具备了“Serverless”特性的“云原生数据库”;2013年,消息流处理的Serverless服务Amazon Kinesis发布,可以作为一个可扩展、伸缩的消息流服务去支撑流计算的场景;2014年,亚马逊云科技推出 Amazon Lambda 服务,定义了抽象的“Serverless无服务器”计算模型;2016年,Serverless架构的商务智能软件Amazon Quicksight发布;2018年,Amazon Aurora Serverless发布;2022年亚马逊云科技re:Invent上,发布了Amazon OpenSearch Serverless,无服务器的日志分析引擎,它的发布代表着在数据分析领域,亚马逊云科技已经实现了“全Serverless架构”。
今年是亚马逊云科技在云计算领域持续探索的第十七年, Serverless已经积累了庞大的技术资源,形成了全栈式服务的能力,并已经开始对越来越多的客户提供全栈解决方案。在3月30日的亚马逊云科技创新大会上,亚马逊云科技与更多伙伴一起探讨了Serverless技术与最佳实践。
以“事件驱动”架构解决问题亚马逊云科技的Serverless技术推动以事件驱动为核心,让企业信息化开发能快速部署。
在2022年召开的亚马逊云科技re:Invent全球大会上,亚马逊副总裁兼 CTO Werner Vogels 表示,如果把世界看作是一个完整的系统,它实际上在遵循着一定的系统规则,也可以理解为是由事件所驱动的,具有异步、松散耦合的特征。
而所谓的事件驱动架构,就是让架构中的各个模块,按照事件发生的顺序自动执行,并且可以把执行结果作为新的事件来驱动下一个模块的执行。这其实是企业应对数智化转型不确定性的利器。
一般来说,事件驱动架构主要由三大关键组件构成:事件生产者、事件路由器和事件使用者。其中,事件生产者主要包括SaaS应用程序、移动应用程序、电商网站等;事件路由器主要包括事件路由器、事件存储等;事件使用者则包括数据库、微服务、SaaS应用程序等。
而通过构建事件驱动架构,企业可以获得一个松散耦合的系统,该系统具有较低的依赖性、更高的可用性和可进化性等优势,可以提高企业开发人员的敏捷性,帮助企业构建可靠、可扩展的应用程序,加快新功能发布速度,进而更好地应对市场不确定性及市场需求变化。
对于企业客户来说,基于亚马逊云科技构建的事件驱动架构,不仅能够提高开发敏捷性、节省成本,还能大大改善客户体验。而通过将事件驱动架构与多种亚马逊云科技服务相结合,开发者可以自由组合这些服务,从而更好地满足企业应用场景的需求,将架构优势发挥到极致。
在这点上,荷兰快递企业PostNL很有发言权。
PostNL又名荷兰邮政,是一家独立快递包裹寄送的公司,业务遍布全球,拥有6万多名员工,每天为 1700 万人提供服务。最近几年,随着跨境电商不断发展,尤其欧盟规定货值不超过22欧元的商品可免缴增值税,让这家公司的快递业务以每年超过20%速度递增,其中超过90%都是小型包裹。
但PostNL的核心系统老化,传统的开发结构下,无法应为每天几百万个从揽件、运输、查询到售后服务的邮件订单提供技术支持,系统升级迫在眉睫。
经过梳理,PostNL有几大需求:首先,要实现快速部署,并可以无缝切换,不能影响到现有业务的开展;其次,可以动态、弹性处理业务与相关数据的增长,因为在电商购物节期间,需要递送的快递数量可能是平时的几倍乃至十几倍,后台处理数据的能力必须随时可以匹配;第三,需要一个非常友好的界面,简单易用,无需专业工程师即可针对用户的需求快速开发、升级改进。
在这个基础上,经过选型对比,最终PostNL选择使用西门子低代码平台Mendix实现系统升级。
Mendix是建立在亚马逊Serverless框架基础上的程序开发和部署平台,能通过低代码+企业提供业务逻辑的方式,利用亚马逊Serverless框架无服务器、云资源动态匹配和事件驱动的能力,帮助PostNL解决他们面临的三个主要问题。
最终在很短时间内,PostNL在Mendix和亚马逊Serverless框架基础上升级了自己的系统,6个月内完成了积压2年的工作,每天可以处理超过150万个订单,系统稳定性超过99.95%。同时,由于采用了亚马逊Serverless框架,整个升级的成本降低80%,这家企业3个月降低的成本就覆盖了升级系统的支出,实现了降本增效的目的。
其实,亚马逊云科技有超过200种服务都可以成为事件生产者,并提供多种不同的事件路由器服务,适用于不同客户的不同应用场景需要。同时,亚马逊云科技还支持多种服务作为事件使用者,比如,调用Lambda 函数,用于使用无服务器微服务处理事件,或触发Amazon Step Functions 工作流。
在这些设计原理帮助下,类似PostNL经历的持续交付和低成本运维就成为必然形成的结果,也会让业务滚动发展,小步快跑不断迭代。能出现用最小的成本,维护企业数智化转型最快速发展的情况。
这些优势都打在了企业投资数智化的痛点上。
实际上,随着虚拟化技术的成熟和分布式框架的普及,在容器技术、可持续交付、编排系统等开源社区的推动下,以及微服务等开发理念的带动下,应用上云已经是不可逆转的趋势。但如何快速调动云资源来实现这些能力,就成为新时代企业信息化必须关注的焦点。
培养“云化”思维通过上述商业实践可以看到,企业建立事件驱动的思维,利用Serverless的优势、方法和工具,最终可实现应用全部基于Serverless架构,不仅大大降低开发人员的难度以及后期运维和升级的难度,还可以实时的扩缩容,形成一个动态化调整的结构。
这对每个想投资数智化业务的企业来说,都十分重要。
对于企业决策层来说,了解一线开发的新技术和新策略,真正的目的是设立数字化业务的云化思维。
Serverless能够帮助企业提高应用的开发、发布迭代速度,让企业能够在激烈的市场竞争中满足用户越来越高的期望。另外一方面,Serverless架构具备极致的资源伸缩能力、服务自治和自愈能力,能够极大发挥云的优势,让企业在新场景下,能够灵活应对 “架构越来越复杂、资源越来越多、稳定性要求越来越高的挑战”。
数智化只是企业管理的工具和思路,企业真正需要的是协调可利用的的资源去完成自身发展的需求。
Serverless背后是企业数职化战略的一个提升,但想要成功一定要遵循的新原则是共融,共生、共创。
而作为“Serverless”架构技术先锋,亚马逊云科技凭借17年的技术沉淀和全栈式的Serverless服务,将与各行各业不同规模的企业一起探索聚焦于业务本身,实现数智化转型与持续创新。
关键词: