细数华为云云原生产品及五大开源实践
本文分享自华为云社区《细数华为云云原生产品及五大开源实践》,作者: 华为云社区精选。
今天的内容主要包括四个方面:云原生发展阶段和趋势,会涉及一些云原生领域的历史发展进程和技术趋势。然后我会介绍 5 个华为云主要的云原生产品和 5 个华为在云原生领域的开源项目。
我们先看第一个内容,云原生发展阶段和趋势。
简单来看,企业 IT 建设所依赖的基础资源经历了从服务器到云化资源的发展历程,正在快速进入云原生阶段。
服务器阶段的特点是以硬件设备为中心,业务应用随不同厂商设备、操作系统、虚拟化软件的差异化进行定制; 设备的安装、调试,应用的部署、运维基本靠人力完成,自动化程度低,缺乏统一的设备和应用管理能力。后期随着虚 拟化软件的出现,资源的利用率、扩缩容器的灵活性方面得到一定的提升,但并未从根本上解决基础设施与软件割裂、 运维复杂的难题。
解决这些问题,在云化阶段,传统模式下分布离散的设备,被统一起来,实现了各类资源如计算、存储、网络的池化,通过统一的虚拟化软件平台,为上层业务软件提供统一的资源管理接口,实现资源管理能力的自动化,屏蔽一部分基础设施的差异, 使得应用的通用性增强,但因为虚拟化软件平台差异化较大,尤其是各厂商的一些商业化增强,无法在厂商间进行能力 共享,应用还是无法以完全标准化的模式构建,应用部署还是以资源为中心。
以资源为中心有一个明显的弊端,就是应用的管理是资源的视角,举个例子,我们在 Kubernetes 管理中心看到的是一个个的工作负载,只能划分出有状态负载、无状态负载、任务等,没有一个应用的视角,因为应用通常包含多个不同类型的工作负载。云原生阶段这一阶段,企业的关注点从以资源为中心转移到以应用为中心,包括应用敏捷交付、快速弹性、平 滑迁移、无损容灾等。因此,企业开始考虑如何将基础设施与业务平台融合,为业务应用提供标准的运行、监控、治理平台, 并将业务的通用能力下沉到平台侧,更好的帮助企业实现应用的自动化,云原生基础设施成为了企业数字化转型的首选。
据 Forerester 对国内三百多个企业的调研结果显示,企业充分认同未来市场变化和企业发展的五大关键挑战包括:需求快速变化、市场不确定性、业务连续性、创新业务价值、将本增效,其中让企业领导者最担忧的是需求的快速变化,这就要求企业未来的技术架构必须能够满足敏捷交付、快速弹性这些特性,以适应需求和市场的变化。CNCF 的亚洲企业和云原基础设施使用率调研结果显示云原生已在企业内被广泛使用,超过 54%的企业正在使用云原生基础设施,14%的企业计划使用。Gartner 预测,到 2025 年超过 95%的的数字化业务将基于云原生基础设施构建,可以看出云原生在未来仍然有较大的增长空间,云原生基础设施是企业数字化转型的长期首选。
下面我们进入第二部分,给给位展开介绍 5 个华为云云原生产品,
首先让我们看一下 CCE Turbo。从名字上看,CCE Turbo 是 CCE 的加强版,它主要在计算、网络、调度和安全几个方面对 CCE 做了增强。
在计算方面,基于擎天架构,将容器存储、容器网络和容器引擎百分之百卸载到擎天卡上,服务器资源利用率可提升 20%。
在网络方面,深度整合了华为云 VPC 的弹性网卡和辅助弹性网卡的能力,直接从 VPC 网段内分配容器 IP 地址、支持 ELB 直通容器、支持容器直接绑定安全组、支持容器配置 QoS、支持容器直接绑定弹性公网 IP、支持安全容器 VF 直通等高阶能力,构建了业内领先的深度融合云上虚拟私有云 VPC 的新一代容器网络方案,实现了虚拟机 trunkport,裸金属 ENI 流量直通容器,性能提升 40%。
在调度方面,实现了多类型业务智能混合调度,应用拓扑感知、分时复用等,缓存+多调度器共享视图,调度速度达到 1 万 Pod/s。CCE Turbo 的调度,使用的是批处理工具 Volcano,我们在之后开源项目中会详细介绍。
在安全方面,支持裸金属节点部署安全容器,提供虚拟机级别的资源和业务隔离以及基于 VPC 安全组提供容器网络访问控制能力和 Qos 限速。
智能边缘平台 IEF。智能边缘平台的全称是 Intelligent EdgeFabric,它基于 CCE 构建,可以支持接入边缘节点。接入 Kubernetes 集群的节点需要有 VPC 以及相同子网的约束,IEF 打破了这个约束,只需要在边缘节点上安装一个代理,EdgeCore,就能让用户把已有的设备接入 IEF 管理。这些边缘节点可以分布在不同的地理位置,不同的边缘节点可组成节点组,同一个边缘节点可分属不同的节点组,这样应用就可按节点组调度。一个典型的云边端协同场景是分布在全国的电塔或者通信塔上的摄像头,视频数据有着巨大价值,可以作为森林防火、湿地监控、禁渔监控的数据输入,将全国可支持相同业务的摄像头接入的边缘节点划到相同的节点组,这样一个算法就可以实现全国发放,全国的相同业务都实现秒级更新。
除了基本能力,IEF 还提供边云协同通道,支持边缘节点提取价值数据上云。IEF 作为边云协同平台,它具备以下重要特性。海量设备接入能力,在物联网和 web3.0 的趋势下,越来越多的数据需要在边缘处理,因此需要支持大规模边缘设备接入,当前 IEF 可支持 10 万级节点接入,实际已交付过六万节点接入的项目。第二点是云边协同,为边缘应用和云上服务提供互访的方式。第三点是离线自治,这是边缘场景下的基本特性,因为边缘节点与数据中心的节点不同,没有稳定的风火水电供应,边缘节点可能部署在露天场所或者仓库、汽车里,云边网络得不到保证,因此需要保障部署到边缘设备上的容器应用不被驱逐,需要长期稳定运行,IEF 支持边缘节点断连后边缘应用可稳定运行。最后一点是极致轻量,IEF 可支持内存低至百兆的设备接入,大大扩大了接入设备的类型,让更多的场景可以实现云原生数字化升级。
云容器实例(Cloud Container Instance,CCI)服务提供 Serverless Container(无服务器容器)引擎,让您无需创建和管理服务器集群即可直接运行容器。
Serverless 是一种架构理念,是指不用创建和管理服务器、不用担心服务器的运行状态(服务器是否在工作等),开发者只需动态申请应用需要的资源,把服务器留给专门的维护人员管理和维护,进而专注于应用开发,提升应用开发效率、节约企业 IT 成本。传统上使用 Kubernetes 运行容器,首先需要创建运行容器的 Kubernetes 服务器集群,然后再创建容器负载,如果使用 CCI 来部署容器应用,用户就无需在 CCI 集群绑定虚拟机,直接部署应用即可,CCI 会根据应用申请的资源为用户提供足够的资源运行应用。除了这个基本能力,CCI 还提供了其他能力。
第一是 CCI 拥有极致的性能,基于华为云 Vessel 容器平台,批量调度引擎 Volcano,Yangtse 容器网络和 Everest 容器存储,在计算、网络、存储各方面做了深度优化,让 CCI 单实例启动耗时小于 3 秒,在 30 秒内可完成 8000 核可扩容。
第二点是使用容器 Serverless 相比于保持固定量资源运行应用,成本更低,因为容器 Serverless 按需申请资源并及时释放,支持秒级计费,相比与按小时计费的容器集群 CCE 费用更省。
第三点是极简运维,用户无需关心底层的节点资源和 Kubernetes 容器集群,CCI 会根据业务自适应容器管理规模以及管控面自动升级,开发者只需专注应用管理。第四点是支持多元算力,CCI 下面的计算资源可支持 X86、鲲鹏、AMD、昇腾、GPU 等多种算力形态,可根据容器应用的架构自动申请对应的资源,用户无需关心异构资源分配。
应用服务网格 ASM 全称是 Application Service Mesh,在开源的微服务治理平台 Istio 的基础上提供了八大商业能力。
第一点增强是提供端到端的图形化控制台,内置包括金丝雀/蓝绿发布不同的应用灰度发布模式,在服务治理方面,支持按流量比例、请求内容、源 IP 等维度治理。
第二点增强是提供微服务级的可观测性,传统的监控服务提供的是单应用的监控,服务拓扑和调用链的支持采用的是侵入式的,ASM 可支持非侵入式的日志、拓扑和调用链,只需要用户把微服务相关的 Service 接入 ASM 的网格中。
第三点增强是提供性能更高的数据面,除了与 Istio 社区一样支持 Pod Sidecar 部署外,还支持 Node 级的 Sidecar 部署。Node 级的数据面资源开箱相比于 Istio 降低 30%,时延降低 30%。第四点增强是管理规模,ASM 的单一网格可支持十万级的 Pod 实例,实现高密度大规模的实例统一治理。
第五点增强是支持多种基础设施治理,意思是网格可接入在容器、虚机或者物理机上部署的服务,帮助用户实现业务平滑迁移,不需要大刀阔斧地将整个服务从非容器架构迁移容器。
第六点增强是升级能力的提升,控制面和数据面的服务可以实现一键升级,支持数据面随业务滚动和独立升级。
第七点增强是管理面的可靠性和可维护性的增强,控制面支持跨 AZ 部署,用户无需担心控制面的单点故障,影响数据面的服务治理,降低用户的运维负担。
第八点是提供专家服务,相比于 Istio 开源社区,ASM 能够为客户提供更完整的咨询和服务支持,帮助开发者更快地构建解决方案。
UCS 的全称是 Ubiquitous Cloud-Native Service,是华为云 2021 年重磅发布的一个服务。要理解 UCS 可以把它拆成两部分:分布式云和云原生,大家对云原生可能已经耳熟能详,但是分布式云是最近两年才起来的概念。何为分布式云?分布式云指的是将公有云服务(通常包括必要的硬件和软件)分布到不同的物理位置(即边缘),而服务的所有权、运营、治理、更新和发展仍然由原始公有云提供商负责,这也意味着,公有云由原来的几朵“大云”,转变为“大云”加“小云”的分布模式。分布式云解决了因地理空间所造成的“硬件”难题,云原生则是从业务视角出发,解决企业应用云计算的“软件”难题。
UCS 分布式云是一个资源和应用的统一管控平台,可接入 4 类区域的 Kubernetes 集群,分别是华为公有云,自建 IDC,边缘集群和第三方云。华为云公有云包括中心 region,智能边缘云 IEC 以及智能边缘小站 IES 上的 CCE 集群。这里简单解释一下 IEC 和 IES,IES 可理解为中心 region 拉远的一个区域,IES 是内置了计算、存储和计算资源的一体化机柜,可搬到用户机房,连接上华为云后可被华为云统一管理。IES 和 IES 距离客户更近,云服务或者应用部署到 IEC 和 IES 后,数据可在 IES 和 IEC 上处理,提供缩短业务时延。
第二类场景是自建 IDC,用户在自己的数据中心或者机房自建 K8s 集群或者使用华为云的 Kubernetes 敏捷安装版本 CCE 敏捷版创建的 K8s 集群,可手工注册到 UCS。第三类场景是边缘集群,即通过智能边缘平台 IEF 纳管的边缘设备组成的集群可被 UCS 管理。最后一类是第三方云上的 Kubernetes 集群,比如 AWS 的 EKS 集群,Google 的 GKE,Azure 的 AKS 集群,都可以注册到 UCS。除了从华为云直接创建的集群,手工注册的 UCS 的集群只需要在集群上配置 UCS 的集群管理的配置文件即可注册到 UCS,实现云端到边缘,跨云多集群的统一管理,实现集群生命周期统一管理、配置策略统一管理、应用和资源可视化监控洞察等。
除了基本的集群管理能力,UCS 还提供了三大竞争力,应用算力供给、应用流量治理、应用与数据协同。
应用算力供给新模式,新供给模式支持百万级分布式节点资源协同供给以及 1K 分布式集群的统一调度,秒级响应。UCS 实现全局资源视图,通过对每个分布式站点的实时故障探查感知故障资源,一旦出现故障,秒级将应用迁移到其他健康站点。UCS 通过全局应用调度屏蔽位置带来的复杂性,将全域的算力打通,根据资源分布和业务特点,结合地理位置、网络 Qos、资源均衡度等条件,实现全域资源的最优化协同部署。
应用流量治理新模式,在分布式云中,流量互通是业务协同的根本,UCS 通过提供全局服务能力,可以提供管理分布式云中的南北东西向流量策略,实现全局服务流量的智能调度,以及实现了网络 QoS 优先级调度、地理亲和、动态路由算法等调度能力。
数据与应用协同新模式。在分布式云的布局下,数据的管理也是一个难题。应用和数据的割裂会为容灾、迁移、弹性等场景带来很大的困难。华为分布式云原生 UCS 围绕应用的数据模型进行了建模,并对不同类型数据进行分层管理,实现存储层、容器层、中间件层等不同层次数据的实时联动,使数据能够更好地随应用在分布式云场景中进行通信和流转,支撑应用容灾、扩容、迁移的应用场景。
从以上三点可以看出华为云的 UCS 致力让企业使用云原生时感受不到地域的限制、流量的限制、跨云的限制,充分保证应用在多个场景下的使用。
在三大能力之上,是统一的云原生服务市场 OSC,可以理解为云厂商的 Marketplace,不过这里面是 Marketplace 的子集,只包含容器部署的服务。OSC 可支持服务提供商发布商品,服务提供上需要按照 OSC 的服务规范改造服务,充分利用 UCS、CCE、IEF 等基础服务提供的跨云、跨集群的调度能力、调度能力和数据协同能力,达到服务的真正云原生化。
简单总结一下,华为云云原生团队提供了三个基础设施管理服务 CCE、CCI 和 IEF,分别管理华为云资源和用户接入华为云的边缘资源,这些被管理的资源为应用提供了部署环境。还提供了三个软件服务,SWR、UCS、ASM。SWR 这次没有展开讲,因为它当前的功能比较简单,可提供镜像的生命周期管理功能。ASM 为微服务提供了非侵入式的容器化服务治理能力,UCS 则包罗万象,以 CCE、CCI、IEF、ASM 为基础,在这些服务之上构建了跨集群、跨云的统一治理和调度能力。
接下来让我们看一下华为云在云原生开源中的贡献和相关实践。
一直以来,华为云都是开源社区和基金会的重要参与者、支持者和贡献者。
在基金会贡献方面,CNCF 基金会 2015 年成立伊始,华为云便成为基金会亚洲唯一创始成员、白金会员,一直到今年,华为云已向 CNCF 贡献多个首创开源项目,包括云原生边缘计算平台项目 KubeEdge,云原生批量计算项目 Volcano,云原生多云容器编排项目 Karmada,今年,华为云又开源了两个云原生领域的项目 Kurator 和 Kappital,收到广大开发者的追捧。
在社区贡献方面,K8S 和 ISTIO 两个社区成立之初华为云就加入该项目,并开始贡献代码至今,目前无论是维护者席位还是代码贡献在亚洲都是排名前列。
总体上,华为云在云原生领域,一直都保持高投入,高贡献,持续多年排名第一位。
接下来,我将带领大家针对华为云在云原生领域的开源策略做一次庖丁解牛,总结过去,规划未来。
KubeEdge 是业界首个云原生边缘计算框架、云原生计算基金会内部唯一孵化级边缘计算开源项目,在全球已拥有 900+贡献者和 70+贡献组织,在 Github 获得超过 5.4k Stars 和 1.6k Forks 。近年来,KubeEdge 社区持续开拓创新,完成业界最大规模云原生边云协同高速公路项目(统一管理 10 万边缘节点/50 万边缘应用)、业界首个云原生星地协同卫星、业界首个云原生车云协同汽车、业界首个云原生油田项目,开源业界首个分布式协同 AI 框架 Sedna 及业界首个边云协同终身学习范式。
以云原生卫星为例:
“天算星座”计划由北京邮电大学深圳研究生院与天仪研究院共同发起,以服务国家重大战略需求和国际科技前沿探索为目标,通过对卫星智能化、服务化、开放化设计,构建产学研用一体化的空天计算在轨试验开放开源平台,为推动我国 6G 网络、卫星互联网等技术发展提供技术支撑。
华为云作为首批合作共建单位,将边缘计算与卫星计算平台融合,云原生边缘计算平台 KubeEdge 及其边缘 AI 子项目 Sedna 为天算星座提供统一的资源、应用管理、分布式应用协同能力和在轨 AI 推理能力,使得卫星在太空中可同时调用边缘和中心云的资源并具备 AI 能力和多任务处理能力,有效降低空天计算实验门槛。测试数据表明,通过卫星与地面站协同推理,计算精度提升了 50%以上,卫星回传数据量可减少 90%。
“天算星座”首席科学家、北京邮电大学教授王尚广:云原生边缘计算平台 KubeEdge 及其边缘 AI 子项目 Sedna 为天算星座提供统一的资源、应用管理、分布式应用协同能力和在轨 AI 推理能力。结合北邮开发的卫星网络系统、基础通信组件,可为空天实验提供按需使用的计算能力,有效降低空天计算实验门槛。
Volcano 是一个基于 Kubernetes 的云原生批量计算平台,也是 CNCF 首个容器批量计算项目,并已正式成为 CNCF 孵化级项目。Volcano 主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。Volcano 社区已吸引 2.6 万全球开发者,并获得 2.4k Star 和 550+ Forks。目前,Volcano 在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,并构建起完善的上下游生态。
Karmada 是华为云 2021 年 4 月开源的云原生多云容器编排项目,沉淀了众多企业在多云管理领域的丰富经验,可构建无限可扩展的容器资源池,让开发者像使用单个 K8s 集群一样使用多云。目前,Karmada 已正式捐赠给 CNCF(云原生计算基金会),也是 CNCF 首个多云容器编排项目。Karmada 项目的加入,将 CNCF 的云原生版图进一步扩展至分布式云领域。自开源以来,Karmada 已拥有 2.3k+stars,450+forks,120+贡献者,极具潜力,工商银行、VIPKID 等企业也基于 Karmada 进行了容器化改造。
今年,华为云开源团队贡献了两个开源项目:
一是云原生服务中心 OSC 的核心能力开源,推出分布式云原生服务 Kappital,旨在帮助开发者快速构建云原生服务,为云原生服务提供统一的打包、部署、管理标准和一致性使用体验,加快云原生服务的落地,Kappital 主要提供统一的服务生态、全场景的部署,全生命周期治理,开箱即用的运维能力四个方面能力。
华为云希望通过 Kappital 项目,能够帮助广大开发者和生态伙伴轻松快速地构建健壮可扩展的云原生服务,丰富云原生服务生态。
二是基于华为云在分布式云原生领域的多年优秀实践,华为云开源团队构建了开源的分布式云原生套件 Kurator,Kurator 是业界首个分布式云原生开源套件,整合了 Karmada、Istio、Kubeedge、Prometheus 等业界主流开源技术栈,同时包括新增的开源分布式云原生服务中心 Kappital。
Kurator 致力于打造开箱即用、开源开放的分布式云原生平台,提供多云、多集群统一编排,统一调度,统一流量治理,边云协同,统一监控运维等核心能力,可以帮助广大开发者、生态伙伴实现云原生应用服务化,助力企业快速搭建分布式云原生平台,实现企业业务跨云、跨边分布式化升级开发。
面向未来,华为云将继续秉持携手创新、成就共享的理念,深耕云原生领域,基于云原生领域开源的已有的成功经验和优秀实践,以分布式云原生套件 Kurator 为核心,协同开发者持续打磨增强,在南向生态方面,主动参与各生态资源对接开源,主动开源华为云自身各类资源插件,打造 K8S 南向标准生态。在北向生态方面,加强 CNCF 现有优势社区集成,开源大数据、数据库、AI、中间件、UI 等场景化工具套件,降低开发者使用门槛,使能开发者生态。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/10509900807b89667acc06bb8】。文章转载请联系作者。
评论