亚马逊云科技:让现代化应用转型“脉络可循”

2021-10-27 01:11王永
数字商业时代 2021年10期
关键词:重构运维亚马逊

王永

新冠疫情为企业的发展带来了更多的不确定性,而敏捷正在成为应对这一挑战的重要手段。

在IDC发布的《2021年中国云计算市场十大预测》中,为了获得业务敏捷性,企业将致力于通过使用云原生开发和部署服务,并预计在2023年前实现30%的现有应用的现代化。

现代化应用是一种弹性的、支持多云的微服务架构,由虚拟机、容器和无服务器功能的协调发布组成,能快速响应变化,且快速交付使用。显然,从技术的逻辑和特性来看,现代化应用更符合企业时下对于敏捷性的刚需。

事实上,随着企业转型进入“深水区”,他们对于自身的业务与技术架构之间也在寻找一个“平衡点”:更专注于业务的扩展,而不是基础设施的管理;应用架构反映的是业务逻辑,而不是企业的组织架构;开发团队编写的每一行代码要与业务逻辑紧密相连……

“企业想要保持业务的连续和稳定,必须要具备一定的预见性,例如,应用的可扩展、毫秒级响应以及处理PB级的数据能力。” 亚马逊云科技大中华区产品部总经理顾凡在接受笔者的采访时表示,亚马逊自己就是一家走过现代化应用历程的企业——从1995年的单一应用和数据库,到2001年亚马逊进入面向服务的架构(SOA),再到2002年至2006年期间,亚马逊启动全新的微服务架构,同时实现“双披萨团队”。截止到2020年,亚马逊已经有超过10万个微服务。

与此同时,过去15年的时间,亚马逊云科技也一直在持续不断地突破现代化应用技术——2014年推出Serverless服务Amazon Lambda,让企业将更多精力集中在业务层面。

2017年,亚马逊云科技继续在容器领域推出适用于容器serverless服务的Amazon Fargate,实现整个集群的管理和扩展。

2018年发布Amazon Aurora,可以将生产数据库放到Aurora Serverless V2可以在几分之一秒之内快速地扩展到数十万个事务的处理。

除此之外,Amazon EKS Anywhere和Amazon ECS Anywhere的推出也是帮助企业构建现代化应用的重要服务。其中,Amazon EKS Anywher可以帮助客户在本地部署和使用跟在亚马逊云科技上使用EKS一致的Kubernetes。而Amazon ECS Anywhere可以帮助客户直接把在亚马逊云科技上的ECS集群衍生到客户本地。

“相较于之前单体应用每个月一次的应用更新,亚马逊现在保持着每天15000次的频率。”顾凡表示,当一家公司微服务开始进入到规模化,自然而然需要考虑到一个关键词——自动化工具,用于支持公司大规模的走向现代化应用。

不过对于企业来说,无论是实现敏捷开发、资源弹性伸缩,还是实现业务灵活响应和自动化运维,都不是一蹴而就的,他们更希望有一条“脉络可循”的方案,来助力于自身的现代化应用转型。

“结合亚马逊云科技客户的需求来看,企业的现代化应用转型策略大致可从三个方面着手:Replatform平移、Refactor重构以及Shared Services Platform构建共享服务平台。”顾凡表示,从平移的角度来看,客户需要根据自身的状态选择最适合的应用。例如,将核心应用快速上云、降低基础设施的运维成本等。通过容器快速打包现有数据中心里的应用,快速迁移到云上进行托管。目前80%的云上托管容器都在亚马逊云科技上运行。

另一方面,Refactor重构更强调的是,在不同的时间和场景针对不同的应用去选择最适合的策略。例如,根据不同的微服务功能做逻辑和数据的切分,此时微服务里功能的不同,它的数据类型也会有所区别,数据访问的特点会不一样。客户可以基于需求的不同,选择最适合自己的策略。

因此,重构不光是对应用逻辑的拆分,同样适用于数据和业务逻辑。换句话说,不为了微服务技术的先进性去做微服务化,更重要的是本身的应用会驱动你去考虑微服务化。

比较鲜明的例子,就是来自于亚马逊自身。在2020年亚马逊有一半的新应用都在采用Amazon Lambda,Amazon Lambda的出现带给亚马逊每一个功能团队一个新的问题——当我们重构业务、数据时,要在什么样的场景下使用无服务模式,也是否试用Serverless?

这里需要强调的一点是,很多时候大家都误认为Serverless就是无服务器计算,但是从亚马逊云科技的角度来看,Serverless不仅仅是Amazon Lambda无服务计算,更重要的是亚马逊云科技提供了一整套的Serverless服务,来帮助客户开发基于无服务器的端到端的核心应用。

“过去,Serverless被很多客户用在IT运维的策划,快速调取函数、配置用于数据的处理。随着客户对Serverless技术的熟悉,其也一直在探索是否能够用端到端的无服务器技术构建核心应用,而端到端就包括了微服务的一些核心组件,比如,无服务器容器、存储、数据库以及开发工具等,这些亚马逊云计算都可以提供。”顾凡说。

此外,构建共享服务平台,这是随着企业在推着现代化应用和微服务达到一定规模和阶段才会面临的挑战。比如说企业的业务快速扩展,微服务达到几百、上千可能会面临一个比较头疼的问题——如何去平衡微服务开发团队的敏捷性以及应用部署的一致性。

“在微服务的场景下,传统的单体应用没有一套完整的工具去适配,因为微服务会把代码切分得很小,此时,每一个小的代码块微服务在部署时都要解决三个问题:如何配置基础设施的代码、如何监控每一个小的微服务以及保持一致性。”顾凡表示,基于这样的场景下,亚马逊云科技在去年的 re:Invent发布了一个很重要的功能——Amazon Proton。

Amazon Proton可以创建维护应用架构的模板,这些模板在Proton通过自服务的方式让开发团队选取,就像一个流水线上,开发团队既可以跑得比较快,同时又可以通过平台团队定义的标准化应用架构模板来快速地实现。无论是微服务的应用是构建还是用无服务器构建的, Proton都可以让两个团队真正的合力转得更快。

总地来看,无论是平移、重构还是构建共享的服务平台,现代化应用路径的选择,客户应该根据自己的應用特征,业务驱动重构的时机,以及现在微服务化的规模选择适当的策略。

从产品的角度来看,经过多年经验的积累和应用场景的试炼,亚马逊云科技在现代化应用领域的产品也愈加稳定、安全和丰富。其优势主要体现在四个方面:广泛选择,灵活部署;深度集成、快速构建;安全可靠、生产就绪;开源开放、合作共赢。

“很多人都在抱怨,在现代化应用开发架构实现之前,几乎80%的时间花在基础运维繁杂的工作,而真正开发精力只有20%落在应用上。所以,亚马逊云科技希望通过现代化的应用改造,比如说,Proton、Serverless和容器融合的应用,帮助客户实现现代化应用转型,让客户更关注于业务扩展,本身而不是基础运维的繁杂工作。”顾凡如是说。

猜你喜欢
重构运维亚马逊
85亿美元,亚马逊收购米高梅划算否?
长城叙事的重构
重构
基于GPS的电力运维轨迹定位系统
IT运维管理系统的设计及应用
学科哲学导向的高中历史教学重构
电子政务甲方运维管理的全生命周期
基于FPGA的动态可重构系统设计与实现