来 DTDS 全球数字人才发展峰会,与刘润、叶军、快刀青衣畅聊成长>> 了解详情
写点什么

从理念到方案,企业应用架构在云原生时代如何重塑?

2021 年 1 月 05 日

从理念到方案,企业应用架构在云原生时代如何重塑?

在 11 月 28 日举行的 GTLC 厦门站上,华为云云原生解决方案架构师陈斌带来了主题演讲《云原生基础设施,重塑企业应用架构未来》,他从多个方面入手,全面分析了云原生的一些技术方案和应用案例,并详细介绍了云原生 2.0 会如何影响企业的基础设施、泛在应用和架构升级,以下为演讲内容的文字整理。


嘉宾介绍:陈斌,云原生解决方案架构师,在华为主要负责华为云云原生解决方案及架构设计,在软件行业工作十年,先后在网易,阿里负责中间件,微服务平台等架构设计,在元数据库,Serverless 领域都有着深入的研究。


大家好!我是陈斌,今天主要聊聊时下比较热门的话题——云原生,这两年出现了一个有趣的现象,几乎所有云产品都开始挂上云原生的概念,只要一提到云或者云服务,自然就会提到云原生。


其实云原生背后有一个实体组织——CNCF(云原生计算基金会),它对云原生有着明确的定义:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。


在我看来,云原生的核心主旨并不复杂,其本质是基于强大的云平台,去支撑上层的应用服务,同时能把应用从共用部分下沉到平台中,进而让应用聚焦到业务中。


云原生的核心理念和发展趋势


细分来看,云原生的核心主旨重点体现在两个方面:


第一是要有强大的云平台。


强大的云平台可以理解为一套标准的云技术,实际中公有云用的技术栈和机房的技术栈,通常会演变成两套技术栈,想把公有云的应用下沉到自建机房,或者自建机房上迁徙到公有云,需要面临很大的改造变化。


理想的情况就是形成标准的云平台技术理念,让它可以用在多个云平台上,同时也能用于 IDC 自建机房,包括多种混合云的场景。


第二是很多人在提倡的 IaaS、PaaS 的一体化。


当部署应用之时,许多操作需要在 I 层和 P 层间反复交互,这导致等值运维的复杂度升高。云原声的理念是把 I 层和 P 层形成 IP 一体化,可以实现应用联动底层的资源,进而达到应用自动化,同时将应用部分通用的能力下沉到平台中,让应用真正聚焦到业务层面。



从这个角度来看,云原生能够对研发人员实现减负,因为直接把 40% 到 50% 共同的能力下沉到平台,研发者就能真正聚焦到业务当中。


说了云原生的理念,再来看看云原生的发展趋势,目前行业内的发展主要体现在 4 个方面:


第一个发展趋势是软硬件一体化。在早期容器的调度平台选择非常多,随着整个社区的发展,标准也逐渐在清晰并且开始固化,社区就需要把软件和硬件结合起来,激发出硬件的真正实力,从而实现软硬一体化,让云原生在基础设施上发挥更大能力。


第二个发展趋势,体现在云原生会逐步把应用中的一些通用部分剥离出来,下沉到平台当中。比如在服务治理方面,大家都很熟悉的 Service Mesh,在早期拥有很多的产品,而现在逐步统一到 Istio 了。


第三个是应用方面的多情况支撑。无状态应用 + Job 类应用趋于成熟,有状态应用逐步增长,现阶段容器平台对无状态应用支撑相对比较好,但社区正在大力发展的一个方向,是如何实现有状态应用或者部署复杂的应用进行支撑,而 AI、大数据等 Job,如何在平台上更好的运行也是在被密切关注的事情。


第四个趋势是统一化的问题,这也是许多企业面临的挑战。因为 K8s 北向接口已经趋于稳定,但时常会遇到多云甚至是边云的环境,比如有私有云、自建 IDC,公有云甚至混合云,如何进行统一管理和统一治理,就显得尤为重要。


了解了当下的发展趋势,接下来谈一谈企业在 IT 数字化转型的方面的一些问题。


云原生技术对数字化转型带来的帮助


在我看来企业数字化过程中,通常会面临三个阶段:



一是服务器阶段,这是最早期的阶段,特点是以设备为中心,部署应用需要通过运维来协助装机。


二是云化阶段,也就是资源自动化阶段,是多数企业会停留的阶段,基本是因为运维成本增加而出现。它具有自动化资源分发,随着在线应用场景越来越多样化,会逐渐变成上百个应用,仅仅通过人肉运维,根本无法正常处理。


三是云原生化阶段,它要从云化阶段升级过来,对应于应用自动化过程的阶段,这个过程企业需要思考如何进行有效的转变。


而在实际情况中,企业从“Cloud  First”到“Cloud native First”的转变过程,大多数会选择以容器为入口,这时云原生就会是企业架构升级的新动力,而容器在市场的占有比例在逐年上升,除了大家对运维自动化存在迫切需求,另一个原因是容器发展技术越来越受到认可。


如果观察一下头部的各大云厂商,就会发现他们进行的云原声的研究和布局,其核心关注点有一些共性,主要体现在以下几个方面:


第一,软件层面 K8s 已经很成熟,重心将放在如何将软件硬件结合,更好地发挥优势;


第二,逐步过渡到多云化管理,很多企业面临基于多云,有多机房的场景,多云化的管理已经成为了刚需;


第三,就是针对有状态应用,大数据等应用的支撑,目前很多企业开始推广基于 Opreator 的框架和社区。


在这样的背景下,华为在云原生社区也做了一些事情,首先华为和众多厂商一起联合成立了 CNCF 社区, CNCF 亚洲地区唯一的创始会员和首个白金会员,并持续向社区做贡献,而且逐渐根据 CNCF 标准引导和推动行业的发展。


除了在社区上的一些举动,华为还积极拥抱开源,比如开源了 批量计算项目 Volcano,它能广泛应用于批量计算场景,又如华为云开放的智能边缘项目 KubeEdge,也 已经成了主流的开源边缘计算软件。


另外一个方面,华为还和国内中国信通院以及其他厂家一起,共同编写了云原生产业发展白皮书,帮助企业规划云原生建设如何落地。


那么在实际的应用中,在企业进行云原生基础设施的架构升级时,会面临哪些实际的挑战?又会有哪些可能的解决方式?


第一个挑战就是应用支撑的单一性,因为目前云原生可以支撑无状态应用,但对企业来说,必然还要面对有状态的应用,要进行部署并非易事。


随着 5G 的快速发展,技术的需求也在增大,除了多云的需求还出现了边云等场景,而现在的开源做法只是在逐步沉淀方案,并没有很好解决方案,所以还要不停地进行探索。


此外云原生社区多是从软件层面推动的,软件通常是部署在硬件资源上,虽然能够做到兼容但无法将底层硬件资源的价值发挥出来,这也是云原生 1.0 面临的弊病。


到了云原生 2.0 ,就将打破这个局限,把真正的云原生融入到基础设施里。这其实是重定义基础设施的过程,只有把云原生的软件和硬件融合进去,硬件的价值优势才能被发掘出来。


第二个挑战是泛在应用的管理,需要考虑的如何把多集群的环境资源统一起来,将企业内部所有的资源真正盘活,同时去推动企业未来的技术演进,对未来的边缘云场景下提供支撑。


第三个挑战是再升级应用架构。当前有些方法可以支持无状态应用,如何使有状态应用更好地运行,以及如何进行服务治理,包括在 AI、大数据场景中,如何提升系统整体性能,都是需要考虑的问题。


细化而言,针对复杂的应用,尤其是有状态应用,如何把基于 Operator 框架,更好地运用在云原生技术上,也是重点要进行的内容。



云原生 2.0,华为云可解决的用户场景


在这些调整之下,有哪些解决的方式呢?基于云原生 2.0 的理念,华为目前提供了一些方案。


第一是高效运维解决方案,它主要是激发底层的资源优势,提供更高效便捷的云原生基础设施,同时针对企业的混合云场景,提供混合云解决方案,还有针对大数据、AI 以及边缘场景的对应解决方案。


第二是通过构建功能全景图,基于华为软硬一体化设备,将华为底层的硬件能力和云原生深度融合,将硬件的性能价值发挥到最大。说到新赋能泛在应用,要做的是将企业多云环境统一管理起来,同时将企业边缘云的场景进行统一。


第三是再升级架构,华为目前提供了商用级的产品,可实现业务无入侵的方式实现服务治理,同时还提供了 OSC 应用市场,通过 Operator 框架进行应用市场的生态打造。


具体到每一个层面上,也有相对应的对策。


在基础设施层面,我们推出了擎天卡,擎天可以把预留给系统的资源,直接放入卸载卡里面,让机器的算力完全用在业务中,以此帮助企业进行降本增效。


而在网络层面,我们会和华为下一代的数据平面结合,让两个服务之间不再经过容器网络,形成直接打通。此外还进行了存储优化,更快捷的磁盘挂载,磁盘读写性能的提升等等,通过这些做法将软硬一体化的优势进行了结合。


面临多云管理,在新赋能泛在应用的方面,华为通过云原生集群联邦技术、边云协同操作系统,为企业打造高效、高可靠的泛在计算平台,实现应用在公有云、混合云、边缘云等形态下的有机协同。


而把集群应用进行统一管理,是为了实现应用跨集群的伸缩,从而实现跨集群部署,统一运维管控,有了这个能力之后,就能实现集群之间容灾能力,当某一个集群出现故障,可以将集群上异常应用都换到正常的应用中,以此来保证集群间的业务稳定性。



然后是关于边缘计算的处理,边缘一体化也是被重点关注的方面。随着 5G 数据海量涌现,数据不能放在中心集群处理,此时需要边的节点,并提前做一些数据的预处理,比如怎样提高边节点之间的资源充分利用,如何做好边缘的管理,倘若边节点和中心集群网络断联了,边节点之间该如何自治等等。


接下来看一下微服务的架构升级。早期是用服务总线实现 AB 两服务相互请求,把 A 服务请求 B 服务的依赖关系,和 B 服务部署在哪个节点的信息配置在服务总线上,以此实现两个服务的调用。但随着时间延长,服务总线的规则变得非常复杂,所以就有了第二阶段,出现了经典的微服务架构。


它是把服务注册到注册中心,从注册中心拿到服务再请求,这个架构也会遇到一些问题,首先成熟的框架都是基于 JAVA 技术栈,其他语言技术栈存在空缺,第二是目前的框架基本基于 SDK 实现,框架是否好用取决于研发人员的能力,这很对企业来说是一个人才技术的考验。


而使用云原生的理念,则能够解决这个难题。虽然同样是做服务注册,但由于实现了 IP 一体化,不再需要注册中心,诸如垄断、限流的能力,完全可以使用流量拦截、不放在应用里就可实现服务治理。其实就是云原生通过无入侵的方式,快速地实现了服务治理。


架构升级还需要建立标准化、为应用提供更好的性能、更有机的协同,及更完整的应用生命周期管理。


例如, OSC 市场核心在于两个方面,一是与社区一起建立运营市场,二是把更多优质的服务孵化到市场,使企业的通用能力逐渐沉淀在市场中,成为内部的软件资源。


最后是完成多业务统一计算,在线与离线业务混合部署统一调度。如对于运行态的应用,华为云原生基础设施则是向上通过 Volcano 感知应用 SLA,实现高效批量调度;向下通过瑶光智慧云脑为应用匹配最佳算力,实现应用与资源的高效协同。


而在算力层面,打造了基于擎天架构,以容器为核心,构建包括容器、裸机、虚机、函数多种资源的统一计算平台,让传统应用与云原生应用能协同得更好,最终实现企业业务立而不破。


以上就是今天要介绍的内容,希望这些内容能够给各位提供一些帮助,谢谢大家!

2021 年 1 月 05 日 18:341190

评论

发布
暂无评论
发现更多内容

外包程序员的幸福生活

四猿外

Java开发3年面试老被问到原理?不慌!SSM框架+JVM原理文档送给你

周老师

Java 程序员 面试 SSM框架 JVM原理

深入理解JVM垃圾回收机制 - 运行时栈帧的内存变化

WANDEFOUR

深入理解JVM 运行时栈帧

极客时间 - 架构师训练营 - week2 - 课堂笔记

毛聪

架构作业-第2周

铁血杰克

作业2

annie

极客大学架构师训练营

第二周课程学习总结

Geek_a327d3

作业

架构师训练营第二周总结

hiqian

架构师训练营第二周作业

时来运转

豆瓣9.0,35万读者“搜不到信息”的神秘作者,我们帮你找到了

华章IT

JVM 虚拟机 深入理解JVM Java 25 周年 周志明

设计原则

GalaxyCreater

架构

架构师训练营-第二课作业-20200617-设计原则???

👑👑merlan

架构设计 软件设计

学习总结 -- Week2

吴炳华

极客大学架构师训练营

Week2学习总结

铁血杰克

第二周作业

王鑫龙

极客大学架构师训练营

架构师培训第二周作业

talen

架构师 0 期 | 架构师怎样实现架构目标?

刁架构

设计模式 极客大学架构师训练营

一周信创舆情观察(6.8~6.14)

统小信uos

新基建 信创

架构师训练营第二周总结

时来运转

编程的本质

GalaxyCreater

架构

【总结】框架设计之架构师实现自己架构目标的主要手段

魔曦

极客大学架构师训练营

RPC实战与核心原理-学习笔记(4)

程序员老王

架构培训 -02 学习总结 架构师实现自己架构的主要手段

刘敏

依赖倒置原则理解

Thrine

Spring Boot+Redis 扛住,瞬间千次重复提交(实例)

周老师

redis Spring Boot 幂等 服务Api

架构师训练营第二周命题作业

whiter

极客大学架构师训练营

拼多多市值快 1000 亿美元了

池建强

创业 拼多多

极客时间 - 架构师训练营 - week2 - 作业

毛聪

设计原则——依赖倒置原则

GalaxyCreater

架构

架构师0期week2-作业

小高

极客大学架构师训练营第二周学习总结

竹森先生

设计模式 架构设计 极客大学架构师训练营 面向对象设计原则

「中国技术开放日·长沙站」现场直播

「中国技术开放日·长沙站」现场直播

从理念到方案,企业应用架构在云原生时代如何重塑?-InfoQ