从 Cloud 1.0 到 2.0,云计算的“多元架构命题”

阅读数:704 2019 年 12 月 19 日 07:50

从Cloud 1.0到2.0,云计算的“多元架构命题”

今天,我们处于 Cloud 2.0 时代。1.0 时代,企业接触云计算,开始上云;2.0 时代,企业云化加深,核心业务上云。然而,在 2.0 时代,我们看到云计算正在进入多元架构时代。

什么是多元架构?为什么云计算如今会进入到多元架构时代?多元架构时代,企业面临哪些技术挑战?它给架构师带来了怎样的机遇和挑战?技术大厂在多元架构时代有怎样的动作?

带着这些疑问,在今年的 ArchSummit 全球架构师峰会(北京站)上,InfoQ 技术编辑独家采访了华为云 DevCloud 首席架构师曾正阳先生。它曾在京东建设并负责容器平台,是国内最早一批 PaaS 实践者。后进入华为,全面负责华为云 DevCloud 产品家族十多个服务的架构设计及研发工作。

以下是采访对话:

InfoQ:您好,请您先自我介绍一下

曾正阳:

我来自华为云应用平台部,现任华为云 DevCloud 首席架构师,负责整个 DevCloud 架构的设计和研发工作。2014 年,我进入华为,此前在京东负责容器平台。

InfoQ:您全面负责华为云 DevCloud 产品家族十多个服务的架构设计及研发工作,专注构建华为云全栈 DevOps 研发平台。请问,华为云 DevCloud 是怎样助力开发者提升开发和运维效率的?

曾正阳:

这要先讲一下 DevCloud 历史。华为内部有八到九万的研发员工,这么多年,它产生了超过 1000 亿行的代码,整个产品线涵盖非常广,比如路由器、交换机、芯片和操作系统(鸿蒙)以及数据库等等。

在这个过程中,它孵化出一大批优秀的工具去支撑华为内部这种高质量、高效率、高安全的研发过程。

其实,DevCloud 是华为内部工具对外的云化版本。所以,DevCloud 是集华为 30 年的优秀研发实践,以及前沿的研发理念,再加上先进研发为一体的一站式 DevCloud 平台。它对开发者提供开箱即用的服务。

如何提升开发者的开发效率和运维效率?总结来说,它有几大优势:一多二全三高。一多,就是它支持的场景比较多,包括常见的 Web、移动应用,还有微服务的开发、IoT 和 AI 的一些应用开发。

二全,第一个“全”就是它的全场景。华为云 DevCloud 涵盖从需求到计划,以及开发、测试、部署到运维运营,涵盖整个研发过程的生命周期。第二个“全”就是全集成,它把多个研发工具做了一个全面的集成,并且能做到数据层面的一些互通,这让开发者用起来更加简洁高效。

三高就是高性能、高安全、高质量。

InfoQ:您本次来 ArchSummit 全球架构师峰会(北京站)会分享哪些最新的看法和观点?

曾正阳:

今年 7 月份,华为在北京举办了“鲲鹏凌云开启多元新架构”论坛,把多元架构引入一个更高关注度。所以,趁这次在 AS 大会,我想跟广大的架构师同行去交流探讨多元架构。

InfoQ:今天,我们知道云计算正进入多元架构时代。在您看来,如何去理解“多元架构”?它有哪些特点?

曾正阳:

多元架构就是把一些合适的应用承载在合适的算力上,它是一种术有专攻的架构。可以从四个维度去理解:

第一是多元算力。它把基于一元的 X86 的算力分布在整个多样体系之上,让这种多样性的应用跑在不同算力上。你能实现计算多样性,提高效率,节省成本。

第二是多形粒度。它把算力经过一些不同力度的封装,通过不同的计算架构满足用户需求。比如裸机、虚拟机、容器以及 Serverless。

第三是多维加速。它利用软硬协同架构的优化,去实现算力零损失的一种加速。比如大数据、视频直播、设计仿真等业务场景需要的是算力加速、网络加速、存储加速的多维加速。

最后一个维度是这种多级调度。我们现在根据客户的一些场景需求,在云端实现多边的协同灵活调度。比如智能园区、自动驾驶和无人勘查等业务场景。

InfoQ:在您看来,为什么云计算如今会进入到多元架构时代?

曾正阳:

Cloud 1.0 是互联网应用上云的时代。X86 的这种架构有一个瓶颈,它无法摆脱“烟囱式”的发展,一旦用户选择 X86 这种服务器的类型架构后,它可能就变不了,即便你的业务可能不适合这种架构。

Cloud 2.0 时代,即云 +AI+5G 的时代,企业需要这种多元架构来支撑。一方面,企业成为云化的主角,它很多核心业务已经逐渐开始上云;另一方面,5G 技术推进的整个移动化进程,大量智能终端的数据、大量的数据应用,它需要一种新的多元架构去支撑它。

还有一点,据统计到 2025 年,全球联网设备达到 1000 亿左右,有 90% 的计算,92% 的数据承载在这个云的数据中心。这样,就会有很多多样性的一些应用聚到云上面,以及很多多样性的算力能在云上去产生。

并且,AI 带来一些智能化的应用,以及 5G 的大带宽,促使我们进入万物智能化时代。

从上面总结来看,这个云 +AI+5G 甚至 IoT 的融合,使企业产生突发的裂变,这些裂变就产生一些应用诉求。这个应用诉求就需要一些多样化的算力去支撑。这就催生了我们底层的一些云设施的更新换代,从而进入整个多元架构时代。

InfoQ:您能否分享一下华为云鲲鹏 +X86 的多元架构实践?

曾正阳:

我大概讲两个。第一个是华为现在有两个解决方案,一个是 HCSO,即 Huawei Cloud Stack online。这种模式它将整个鲲鹏的云服务延伸的方式在客户机房去交互,同时保证同步升级,因为它是 Online 的。还有一个是 HCS,它能够满足客户自建自运维的诉求。

同时,它支持 X86 以及 ARM 的混合部署。它能支持客户在传统架构之上去快速的扩展。并且,从计算、网络、存储以及 IaaS、PaaS,多个云服务从这种软硬件的协同优化,去增强整个架构。所以说,它的性能比传统的架构领先得多。

还有一个是,Kubernetes 容器,它支持这种 X86 跟鲲鹏的混合架构。它们在多元架构下的场景,应用非常广泛。

所以说,客户他们能根据自己的一些应用场景,决定哪些跑在这种单核的算力上比较优惠,或者说哪些应用跑在鲲鹏架构下,比较有性价比,通过平衡的算力分布达到资源成本的一些降低。最终实现企业投资最大化。

InfoQ:在这个多元架构时代,您认为哪些新兴的技术比较有潜力?

曾正阳:

我理解,这些技术已经都已存在,只是说会有更大的促进作用。

第一个是 AI。我觉得,AI 是我们整个新产业的助推力,它会使整个经济结构发生一些重要变化。但现在,对大家来说,AI 的门槛还是比较高的,像无人驾驶、智能机器人。华为从去年开始提普惠 AI 的概念,它是基于自研的昇腾系列芯片去打造 AI 全栈全场景的解决方案,让 AI 在这个多元的架构时代,变成一个基础的生产力,而不是大家“高不可攀”的一种算力。

第二个是 IoT 的边缘计算。上面提到,到 2025 年,有超过千亿的设备互联,数据主要承载在云数据中心上面,这个压力非常大。这个时候,边缘计算一定程度上可以减轻云端压力。同时,可以快速的反应,给用户反馈。这样,从用户体验来说,它非常有意义。

第三个是区块链。区块链不得不讲,为什么?首先它是国家战略。在整个万物互联时代,整个设备的暴露面越来越多,这样就提供了很多被攻击的可能性。利用区块链,它把所有的一些操作记录以日志方式记录下来,从此它不可更改。这样,我们可以基于记录的一些数据去做一些确定性的应对、预防。区块链的另一个用途总结为它能方便数据提供方和数据消费方之间的一些数据交易,保证安全高效。

InfoQ:多元架构时代的到来,对架构师本身也有一定的挑战。在您看来,多元架构时代,架构师面临的机遇和挑战是什么?

曾正阳:

在这个多元时代,环境变得多样化,有公有云、私有云、混合云等各种云存在,还有资源多样化,这些对架构师的挑战就很大。还有一个这种系统的形态很多样,部署形态很多样,这就是一个挑战,架构师很难的,他要从理论知识、架构体系,不断地去更新迭代。

但同时,多元架构给架构师带来一些更大的空间,这个空间,你也可以讲是一个机遇。

架构师怎么去抓住这个机遇?

首先,他可能要具备这种 Cloud Native(云原生)的这种思维。Cloud Native 就是容器、微服务、DevOps 加上一些 CI/CD 的概念。架构师必须具备这种思维和这种技能。

第二是避免云锁定。IDC 的统计,到 2020 年,整个最领先的四大云平台,承载 80% 的 PaaS 加 IaaS 应用,很多企业必须部署在多个云上面。

然后,对架构师来说,你必须要设计一种架构,能去避免这种云锁定。刚才讲到的 Cloud Native 能一定程度上避免这种事,它能很方便的在云之间做一些切换、迁移。

另外一方面,架构师还必须关注一些资源的调度。什么叫多元架构、资源调度,架构师必须了解,哪些这个应用适合在什么算力上运行,这样能达到资源的有效利用、降低成本。

此外,对架构师来说,他要去武装自己的一些武器库。从企业来说,架构师关注整个研发的整条线。从研发、运行态到运维态,架构师会在这一系列中去做研发的一些服务选型。

从研发工具角度来说,我们现在开源的优秀工具非常多,把整个元素周期表挤爆了,怎么去选呢?架构师,可能不同的企业,他根据不同的一些场景,选择不一样。通过开源的拼凑,能临时拼一个解决方案出来,但中间会涉及一些问题,比如数据互通、维护成本等。针对研发态的这个阶段,我建议架构师还是选择一个比较成熟的一些平台。不用自己再去摸索。

第二个就是云服务的一些选择。像运行态,你要去选 MySQL,去选 PG,选对象存储、文件存储等。对架构师来说,怎么去选呢?

一般来说,我们通常做法是正向的去选。我们先分析这个业务的一些需求、业务的一些量,业务的并发度,再去找。但是我建议,采用逆向思维,一个云平台,它们同类的云服务有哪些,我们做一个互相比较,从这个比较当中,你可以去推算出来,这个服务到底适用在什么场景里面。

甚至,我们可以跨云,比如我在这个云上面的一些服务,以及另外一个云上面的服务,这两个同等服务做一些对比,它们能力之间有什么差异。同时,我们可以去判断我们业务它的这个需求、它的选型。

评论

发布