写点什么

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

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:341184

评论

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

如果非要在多线程中使用ArrayList会发生什么?

看山

线程安全

【Linux系统】一个常驻进程问题的再次分析

程序员架构进阶

Linux 七日更 28天写作 2月春节不断更 共享内存

MyBatis入门

小马哥

Java mybatis 七日更 2月春节不断更

下不了的开人的手

Ian哥

28天写作

天天向上跑分模式介绍开发

luluhulian

工业绿色哪家强?3D可视化盾构机构建隧道,推动设备预测性运维

一只数据鲸鱼

物联网 数据可视化 绿色交通 绿色工业 盾构机

深度集成 Flink: Apache Iceberg 0.11.0 最新功能解读

Apache Flink

flink

28天瞎写的第二百三十八天:这一年干了啥?

树上

28天写作

怎么一本正经地秀技

codevald

Java jdk

“嗖”一下28 天过去啦,我们都在交作业!

李忠良

28天写作

28天写作复盘

一笑

28天写作

redis分布式锁的这些坑,我怀疑你是假的开发

华为云开发者社区

redis 分布式 分布式锁 服务器 value

终于搞懂了Python模块之间的相互引用问题

华为云开发者社区

Python 路径 代码 模块

使用V8和node轻松profile分析nodejs应用程序

程序那些事

性能优化 Profile nodejs 性能分析 程序那些事

IDEA永久注册码来了!!!(支持2020.3.1版本)

程序员生活志

IDEA

28天写作

lidaobing

28天写作

浪潮云洲工业互联网平台创新实践,受权威机构关注!

浪潮云

工业互联网

长篇总结之JavaScript,巩固前端基础

魔王哪吒

JavaScript 程序员 面试 前端 2月春节不断更

面试时遇到一致性哈希算法这样回答会让面试官眼前一亮

中间件兴趣圈

负载均衡 一致性哈希 面试官

【无偿分享】史上最全Python学习大礼包

sum56

Python 学习方法 学习笔记 python 爬虫 资料整理

一款基于 Web 的通用数据管理工具(转载)

CloudQuery社区

数据库 运维 开发工具 dba 数据管理工具

Linux 文件搜索神器 find 实战详解,建议收藏!

程序员肖邦

Linux find

机器学习笔记之:Matrix Vector Multiplication

Nydia

有用的信息安全资质查询网站大全

石君

信息安全 28天写作

CDN加速原理的那些事

谈谈我所理解的科幻「-28/28」

道伟

28天写作

智能汽车颠覆世界!(28天写作 Day28/28)

mtfelix

28天写作 智能汽车 未来世界

养成好习惯,需要的不只是意志力

Justin

习惯养成 碎碎念 28天写作

2021年的十五个DevOps趋势预测

禅道项目管理

DevOps 微服务 自动化 趋势

看KubeEdge携手K8S,如何管理中国高速公路上的10万边缘节点

华为云开发者社区

Kubernetes 微服务 kubeedge 边缘

CSS开发过程中的20个快速提升技巧

华为云开发者社区

CSS

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