“我们认为很快就会出现一整代只负责编写业务逻辑、而从未接触过服务器的开发人员。”2019年,亚马逊全球副总裁、首席技术官Werner Vogels博士就提出过一个愿景,希望客户写的每行代码都是业务逻辑。
进入云时代,仍然有大量企业的IT人员将大部分精力花在服务器、计算、存储、网络等基础设施上。而Werner Vogels为什么这么笃信变革很快即将发生,就是因为他相信现代化应用的魔力。以容器、微服务、无服务器、CI/CD技术为代表的现代化应用,是企业应对不确定时代的制胜关键。
现在,微服务、无服务器成了云计算的当红炸子鸡。而亚马逊早在2002年就开启了向微服务化架构的转型。可以说,向现代化应用转型推动了亚马逊自身的快速发展,也是这家全球云计算巨头持续领先的重要因素之一,甚至“双披萨团队”这一亚马逊创新的基本建制也是现代化应用推动产生的。
第三方权威报告印证了亚马逊云科技在现代化应用方面的实力。在《2021Gartner 基础设施和平台服务关键能力报告》中,亚马逊云科技在云原生应用用例中排名第一。2020年,亚马逊已经有超过10万个微服务,每天能够实现超过15000次软件更新。2020年,亚马逊近一半的新应用都部署到了Amazon Lambda上。
那么,企业如何踏上现代化应用之旅?那些率先采用现代化应用的企业,获得了哪些收益?不久前,亚马逊云科技与国内媒体分享了对现代化应用的理解。
什么是现代化应用?
亚马逊云科技大中华区产品部总经理顾凡认为,现代化应用有几个显著特征:全球可用,可在几毫秒内响应,处理PB甚至EB级别数据,可扩展至数百万用户。要实现这些目标,容器、微服务、无服务器、CI/CD都是在现代化应用构建过程中常用的技术。
现代化应用之前是单体应用时代。单体应用是将应用程序的所有功能都打包成一个独立的单元。单体应用好比紧耦合的铁板一块,好处是易于部署和共享,但不够灵活,不利于持续交付,无法匹配敏捷开发快速迭代是其致命弱点。整体式架构还增加了应用程序的可用性风险,大量相互依赖且紧密耦合的进程会增加单一进程因故障受到的影响。
微服务就是“解耦”或“拆分”。将单体应用分解成多个更小的服务,每个服务都可以单独部署。这里的“微”不是针对代码行数而言,而是说服务的范围限定到单个功能,每个微服务面向单一用途。
顾凡举例说,当消费者打开亚马逊APP看到某个商品的详情页时,可能不会想到,页面背后至少会调取300个微服务。包括产品页面展现、购买键、是否是Prmie商品、送货承诺、客户评论、价格显示等等,都是一个个微服务在独立运行。
被亚马逊大胆拆分的,除了应用程序结构,还有企业的组织架构。为了支持微服务这种新型架构,亚马逊将企业组织重新编排为小型自治团队——小到每次点餐只需要两份披萨,这就是著名的“双比萨团队”。“双披萨团队”可以像乐高积木一样,灵活地进行跨团队协同。
从15年前创立至今,亚马逊云科技已成为云计算行业内现代化应用的引领者。其提供丰富的现代化应用相关服务与功能,涵盖容器、Serverless以及诸多不同开发工具组合。
2006年推出的Amazon SQS是一项适用于微服务、分布式系统和Serverless应用程序消息队列服务,15年后仍被客户广泛采用,并在今年亚马逊Prime Day期间创下高峰时每秒处理 4770 万条消息的流量新纪录。
2014年推出的Serverless计算服务Amazon Lambda,开创了业界Serverless的先河。
2020年推出的Aurora Serverless V2可以在几分之一秒内将数据库工作负载从数百个事务扩展到数十万个事务,最多可节省 90% 的数据库成本。
通往现代化应用的三条路径
构建现代化应用程序已成为企业提高敏捷性、实现更快创新、发挥数据价值的关键。那么,企业如何实现现代化应用?顾凡分享了亚马逊云科技总结的三条路径:
第一,平移。把数据中心的应用程序利用容器迁移到云,快速实现现代化应用的架构、交付模式和运营模式。容器是最流行的代码打包选项,目前正成为很多企业迁移上云的首选。
目前,80%的云上托管的容器都在亚马逊云科技上运行。亚马逊云科技提供的容器服务,覆盖容器的开发构建、运行管理及安全治理等各个环节。
比如,Amazon EKS是完全托管的Kubernetes平台,适合技术团队对容器有丰富经验的企业。Amazon ECS无需研究太多容器技术本身,适用于希望快速直接使用容器的企业。Amazon Fargate则让客户无需预置和管理服务器,直接可以运行无服务器容器。
第二,重构。通过微服务拆分实现应用基于业务逻辑的重构。重构不光是对应用逻辑做重构,也要对数据做拆分。
很多人误以为Serverless就是无服务器计算,实际上在亚马逊云科技,Serverless不止于Lambda计算,而是一套全面的Serverless架构帮助客户快速构建现代化应用。除Amazon Lambda外,亚马逊云科技提供了全栈式的Serverless服务,广泛覆盖计算、存储、网络、容器、数据库、应用集成多个方面。
第三,构建共享服务平台。当企业使用现代化应用和微服务到了一定规模,必然面临开发团队和运维团队统一管理的问题。共享服务平台就是通过标准化,自动化的运营能力,保证现代化应用能够持续规模化开发。
2020年,亚马逊云科技发布的Amazon Proton是业界首个现代化应用的全托管共享服务平台,让开发人员能够以一致的方式部署无服务器和容器应用,实现现代化应用程序的规模化部署。
全球数十万客户的选择
目前,全球数十万客户选择亚马逊云科技交付和运行现代化应用。亚马逊云科技大中华区产品部计算与存储总监周舸认为,这离不开亚马逊云科技在现代化应用领域的四大优势:
一,广泛选择,灵活部署。
以容器为例,想要将容器服务更好地运营起来,需要有大量的服务跟它去配套。亚马逊云科技拥有上百种容器相关的服务堆栈,企业可以在任何应用环节,任何部署环境选择最适合自己的容器服务。
二,深度集成、快速构建。
以无服务器为例,Amazon Lambda已经集成了超过200个亚马逊云科技的其他服务。“Serverless有点像胶水,可以把各种微服务的模块联合起来。”周舸表示。
作为金蝶的子公司,金蝶发票云是一个成立不到两年的初创组织,专注于提供发票全生命周期管理服务。随着业务的快速扩展,其面临的开发与运维压力不断增加。
利用Amazon ECS和Amazon Fargate,金蝶发票云将应用的核心系统进行容器化改造,过去20天才能完成的新租户部署降低到0.5天,资源弹性扩展的反应速度从小时级降低到分钟级。金蝶发票云每月需要处理400万张发票,过去计算资源成本在2万元以上,通过使用Amazon Lambda降低到每月只需300元。
三,安全可靠、生产就绪。
亚马逊云科技是最早在无服务器和容器中推出SLA(服务等级协议)的云服务商,SLA达到99.99%。
FreeWheel 是一家专门提供电视及互联网视频广告投放、预测和增值服务等关键解决方案的技术公司,服务于全美90%的顶流媒体,每年支持近500亿美元的优质广告展示。顶级媒体客户对用户体验的要求非常高,FreeWheel面临持续技术创新和应对IT资源弹性伸缩等挑战。
利用Amazon EKS、Amazon Lambda、Amazon Aurora、Amazon DynamoDB、Amazon S3等Serverless服务,FreeWheel成功地支持了包括奥运会、超级碗等10多个全球收视率最高的顶级赛事活动,系统可以从容应对赛事活动中流量激增的极端业务场景。
四,开源开放、合作共赢。
在现代化应用领域,亚马逊云科技主导了多个开源项目,如Bottlerochet,Firecracker等,此外Amazon EKS的Distro也是很重要的开源项目。
同时,亚马逊云科技不断加速现代化应用服务在中国市场的落地。2021年至今,通过与西云数据和光环新网的合作,亚马逊云科技在中国区域已经发布近50个现代化应用相关的新服务与功能。
“我们希望通过帮助企业处理无差异化的繁重工作,让企业聚焦于业务本身,加快实现应用现代化。”顾凡表示。
-END-
本文为「智能进化论」原创作品。