细数华为云云原生产品及五大开源实践


摘要:华为云已向CNCF贡献多个首创开源项目,包括云原生边缘计算平台项目KubeEdge,云原生批量计算项目Volcano,云原生多云容器编排项目Karmada,今年,华为云又开源了两个云原生领域的项目Kurator和Kappital,收到广大开发者的追捧。

本文分享自华为云社区《细数华为云云原生产品及五大开源实践》,作者: 华为云社区精选。

今天的内容主要包括四个方面:云原生发展阶段和趋势,会涉及一些云原生领域的历史发展进程和技术趋势。然后我会介绍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等场景化工具套件,降低开发者使用门槛,使能开发者生态。

 

点击关注,第一时间了解华为云新鲜技术~