【51CTO.com原创稿件】 现代化应用,无疑是近几年比较火热的话题之一。在面对不确定性因素下,敏捷成为了企业更好地应对不确定性的一种方式,而现代化应用的快速开发,敏捷迭代,弹性扩展等特性,吸引了众多企业开始对传统应用进行现代化转型。
提到现代化应用,你肯定会想到容器、微服务、无服务器、CI/CD等等技术。而深耕在云计算领域的亚马逊云科技也一直在引领现代化应用转型,不断推出现代化应用相关的产品和服务,提出实现现代化应用转型的三大路径,帮助企业提升敏捷性。目前,已经有数十万客户正在借助亚马逊云科技的全球服务交付和运行现代化应用。
亚马逊的现代化应用改造之路
亚马逊云科技认为,现代化应用程序是现代技术、架构、软件交付实践和运营流程的结合,可促使团队更快、更频繁、更始终如一且更安全地交付价值。这些应用程序通常采用松散耦合的分布式技术,并专注于事件驱动的无服务器组件,这些组件使团队能够减少无差别的繁重工作,从而将更多的时间用于为客户交付价值。
而现代化应用是亚马逊20年的技术经验总结,也是亚马逊成功最重要的技术秘诀。亚马逊云科技大中华区产品部总经理顾凡介绍了亚马逊从单体应用向现代化应用改造的经历过程。
1995年,亚马逊还是单体应用架构,并且只有一个数据库。随着业务的拓展,亚马逊在2001年拆分出包括商品、订单和服务等众多不同模块,形成了SOA架构(面向服务的架构)。但是,亚马逊业务的扩张迅速,对产品迭代和客户体验迭代也带来了更大的挑战,过去拆分出的模块又演变成一个超大的单体应用。
于是,在2002年至2006年,亚马逊正式启动全新的微服务化架构,并且进行了组织架构的变革,成立了“双披萨团队”模式,让团队像原子一样拥有快速的决策权,自己开发运营和迭代。
截止到2020年,亚马逊已经拥有超过10万个微服务。可能大家没想到,当我们打开亚马逊的APP,搜索一个商品时,看到的是我们个人定制的产品详细页,而这背后至少会调取300个微服务,包括页面展现、价格展示、购买键、是否是Prime商品、送货承诺、用户评论等等都是一个个独立的微服务。
现代化应用转型推动着亚马逊自身的快速发展,亚马逊建立了全球广泛的创新服务,为越来越多的应用提供完整的 CI/CD, 通过自动化工具使软件和服务的治理及管理更加容易。如今,亚马逊每天会有15000次的软件更新,每月进行1次单体应用的软件更新。
亚马逊云科技的现代化应用技术突破
过去15年,亚马逊云科技也一直在持续不断地打破和突破现代化应用技术。
2006年,亚马逊云计算发布了第一个Amazon SQS消息队列服务,并且在今年Prime Day期间,Amazon SQS在高峰期要处理4770万条消息。
2012年,亚马逊云科技推出了Serverless的Amazon DynamoDB,是支持亚马逊全球业务背后的核心数据库,并且是随着应用扩展几乎可以无限扩展的无服务器数据库。在Prime Day期间,亚马逊使用Serverless的Amazon DynamoDB可以达到8920万次请求的峰值。
2014年,亚马逊云科技推出了跨时代的创新Serverless计算服务Amazon Lambda,如今亚马逊近一半的新应用部署在Amazon Lambda。
2017年,亚马逊云科技推出了适用于容器的Serverless服务Amazon Fargate,无需管理或扩展集群或基础设施。
2018年,亚马逊云科技推出高性能关系数据库Amazon Aurora,并在去年re:Invent进行了迭代,发布了Aurora Serverless V2,实现了在几分之一秒内将数据库工作负载从数百个事务扩展到数十万个事务;与为峰值负载配置容量的成本相比,最多可节省90%的数据库成本。
亚马逊云科技也一直在引领现代化应用转型,不断推出新的产品和服务,帮助企业应对转型时的挑战,助力企业成为敏捷性企业。
现代化应用转型的三大策略
现代化应用转型是否有统一的标准或者策略,如果快速打造现代化应用呢?亚马逊云科技根据大量客户的实践经验,总结出现代化应用转型策略,包括三个部分:第一,Replatform平移。第二,Refactor重构。第三,Shared Services Platform,构建共享服务平台。
企业最熟悉自己企业的应用,可以根据应用情况来选择适合的工具。例如,有些企业需要核心应用快速上云,利用云的弹性来降低基础设施运营维护的成本,这就需要采用平移的策略。顾凡介绍说,在平移的策略里,容器是一个超级重要的技术。企业利用容器快速打包现有数据中心的应用放到云上,快速实现现代化应用的架构、交付模式和运营模式。在这个阶段,一般客户都会选择数据不做拆分,而是直接快速将数据库迁移到云端进行托管。
Refactor重构就是打破原有架构,这其中微服务的拆分事重要的方法论和技术手段。企业除了需要进行应用逻辑拆分,还需要对数据进行拆分,然后选取云中专门构建的数据库,发挥更大的云的优势,从而获取数据驱动下的敏捷和创新力。顾凡指出,亚马逊云科技所说的重构,不是为了为服务技术的先进性而进行微服务化,而是从应用本身来驱动从而思考微服务化。
此外,重构也是采用新技术的一个最佳时间点,云中利用新技术的最佳时间点。例如,很多企业会采用无服务器技术,从而提高应用开发的交付速度以及灵活性,降低成本。但是,亚马逊云科技强调,Serverless不仅仅是Lambda无服务器计算,更重要的是亚马逊云科技提供了一整套的Serverless的服务,来帮助客户去开发基于无服务器的端到端的核心应用。
第三个策略是构建共享服务平台。随着企业大规模部署现代化应用后,需要平衡微服务化快速开发和平台运营维护的矛盾,一边如何更快速地迭代更新,一边又可以达到更好的一致性。企业可以利用共享服务平台的标准化,自动化的运营能力,加速现代化应用开发的规模化,帮助企业专注于产品开发,提高生产力。
在去年re:Invent上,亚马逊云科技发布了全托管的容器及无服务器应用交付服务Amazon Proton,帮助企业更轻松地供给、部署和监控以现代化容器和无服务器应用为基础的微服务。客户的基础设施团队可通过 Amazon Proton创建标准应用程序堆栈,用来定义体系结构、基础设施资源、CI/CD(持续集成和持续交付)管道和可观察的工具,然后将这些堆栈开放给开发人员。开发人员可以使用Amazon Proton的自助服务界面选择可使用他们代码的应用程序堆栈。Amazon Proton自动为选定的应用程序堆栈提供资源,部署代码并设置监控,这样开发人员不必学习、配置或维护底层资源,就可以开始构建无服务器和容器应用程序。
顾凡强调,亚马逊云计算提出的现代化应用转型的三个策略并不是只取一个进行,而是可以在不同时间、不同场景下,针对不同应用来选择最合适的策略。在业务应用向现代化应用转型时,企业根据自己的业务应用情况,应用特征以及业务驱动重构时机,来选择适合的策略。
结语
如今,很多企业都在采用云原生技术来进行转型,开发现代化应用。亚马逊云科技拥有上百种容器相关服务堆栈,超过25种Serverless服务,深度地集成服务,洋葱型的多层防护安全策略,开源开放的技术,携手合作伙伴,帮助企业加速应用现代化开发部署。
据了解,2021年至今,亚马逊云科技新在中国区域发布了近50个现代化应用相关服务与功能。相信,凭借产品的创新度、服务的丰富度、架构的安全性、技术的开放性,未来会有更多的企业会选择亚马逊云科技的产品和服务,来进行自己企业的现代化应用转型改造,简化架构复杂性,提高业务敏捷性。
【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】