计光

大家好我是来自新华三集团的云计算部门的计光。今天我给大家介绍一下新华三集团在容器云方面的一些应用的实践,今天非常高兴我们新华三集团以及其他四家参评单位通过了这一次可信容器云的认证。这其中我们现在参与评本次的可信云,这也是感谢大会支持。

今天我所讲的容器的实践,实际上是比较干货的,是偏技术的。首先就是说我们还是从容器技术开始谈起。为什么是有现在这一些包括云技术的产生,我们从头开始讲起,在最原始的时候,我们世纪类似一个动物园我们有各种各样的不同应用,不同的异构的系统,有的体积很庞大,有的很小,有的相互之间是有共生或者是一些依赖,或者是互斥,在这种情况下我们如何把这一套系统很好的布置起来,让它能够为我们提供服务。在最原始的时候实际上烟筒式的方法,我们各自建各自的系统,各自的利用率,有的负载很高、有的负载很低,有的可能在使用上完全是一个很粗放的方式。而且在之后我们就进入了所谓的虚拟化时代,是帮助我们解决了一些问题,主要是帮助我们把这一些所谓的应用,做一定的封装,实现了它的一个类似高可用,或者是一种资源的合理调配。但是为什么现在我们又进入了一个容器的时代呢?容器实际上是做到了一个更加精细的管控,我们相当于给每一个动物,我们给每一个它自己的应用做了一个围栏,把它跟它所需要的资源绑定在一起,这实际上类似于一个集装箱,我们可以把这一些各自的应用完全独立的打包,而且体量很小。

这也是我们为什么现在所谓容器越来越火的一个原因。首先对于容器来说它相当于虚拟化是少了其中的一个一层次,我不知道采用虚拟化的时候,每一个应用要跑起来,它首先是需要有一层操作系统的。这可能是各式各样的大家各不相同,有的比如说Windows的,我们通过虚拟化的技术能做到比较好的封装,而在容器的时候实际上是我们通过一个容器引擎,就能够做到一个更加底层、更加贴近于我们的硬件资源的封装。对于现在比较火的Docker的技术,它都是利用原生的Caroup的打包以及实现一个隔离,在这种情况下实际上是能够实现我的应用在这种类似于一个裸机上一个直接的运行,所以它的包括运行的效率、以及对资源的使用能够达到一个很高的程度。这也是为什么现在我们越来越推崇使用容器的技术这一些封装的原因。

这里实现了作为一个容器跟现在虚拟化的对比。我们可以看出来就是说在这种使用容器技术的时候,在相同的物理资源下,容器能够承载更多的容量,我们可以知道一个传统的机我们跑虚拟机,顶多是十来台,而对于容器来说它实际上一个更大量级的这么一种能力。另外在使用容器的时候,实际上是可以拥有更快的启动速度。因为我们知道在使用虚拟化的时候,我要想把自己的应用跑起来,首先是需要启动我的这虚拟机镜项的操作系统,在这操作系统运行起来之后我们才可以把容器内的应用拉起来。所以这其间是存在一个时间差,我们知道一个操作系统它启动再快也得消耗大概10到20秒,有的比如说Windows那肯定是更长。在这种情况下,我们在使用这种容器技术的时候,实际上就是类似于在我们的操作系统上直接将应用所运行起来,这也是容器对比虚拟化技术它应有更快的一个启动速度,以及更高的一种性能。但是容器说白了也不是万能,它本身也是有一定的约束条件、我们知道就是说对于虚拟化来说,我们可以实现一种完全的隔离,从技术上。因为它实际上依赖于像CTO里头基于硬件的隔离的指令,而对于容器来说它是完全基于Windows操作系统里的技术,进行一些隔离。所以它在安全性上是相对于虚拟化来说是存在一定的缺陷。因为它毕竟达不到基于硬件层面的安全性。另外就是说一个兼容性的问题,我们知道就是说在使用虚拟化或者是传统的部署的时候,我们可以兼容各式各样的应用。包括我们的Windows应用或者是一些传统的应用,这一些东西它实际上无法在容器中进行部署的,这也是我们讲到的,一个微服务架构的采用。为什么现在比较推微服务的架构呢?实际上微服务架构的一个来源,我们可能现在比较流行的一个来源,就是所谓CNCF,我不知道有一个组织叫CNCF,属于基金会底下的组织。它的目的就是说来推动如何把这一些传统应用做容器化的部署,以及微服务架构的调整,它所倡导之前提出的12要素,就是说我们的什么样应用可以在容器化的场景下可以去部署和运营,首先是要满足12要素,这12要素实际上是定义了,我们能够在云化的条件下运行所需要的技术能力,以及它的一些标准化的支持的方式。

在这种微服务架构之下,我们就可以实现这一些类似于以前比较庞大的单体应用,我们可以把它做小型化、微服务化。说白了就是我们以前庞大的体系拆成很多比较小,但是集中的业务能力,这种情况下就是可以更灵活的业务管控,比如说我们以前的单体应用,即使做这种扩容或者缩容这种能力实际上是存在一定的欠缺。我们知道往往一些性能压力或者是系统中存在的问题,他是存在于你这大系统中的某一小部分,在这种条件下我们如何对这一小部分做一个如果的扩容。比如说我们当然是外部前瞻的大力我们想对这一部分使用一个扩容。这也就是说原生组织越来越火,包括我们新华森也是加入了CNCF组织。实际上我们新华三在容器方面的实践分成两部分,也算是两条腿走路,一条腿就是DCCS的框架的。今天就是基于容器相关的理念和实践。

首先就是介绍一下新华三容器实践的一些相关经历,我们实际上在2014年的时候,在新华三云平台这一块做了很多的实践,在各行各业卖的很多。这在早期2014年还是基于一些比较传统的,包括就是说Open Stack的集成这种管控都还是相对来说比较原始的,然后在Open Stack怎么做高可用,包括一些内部的弹性,这一些管控。当时我们也是经过了很多的思考。在2014年的时候我们逐渐发现了有Docker技术,Docker也都是刚1.3还不到的这么一个环境,在这时候我们实际上就想如何把我们的云平台,也就是OpenStack做到这种更灵活、更加微服务化的架构。 在这种情况下我们实际上就是2014年开始启动了对整个Open Stack的一个容器化的改造。在2015年的时候推出基于微服务化容器化这么一个云平台,也是我们H3CloudS,这也是业界第一个基于云器化Open Stack的方案,当时在社区有类似于解决方案,但是我们的基于Docker这一套架构的云平台还是取得了相当大的成功。

下面就是说经过这一些年的演进,我们现在是把底层的基于Docker底层框架也是剥离的H3CE。下面进行一些容器的分享,首先在这种容器的实践中,也就是说我们实际上接触了不少客户,它实际上想去做这种容器化的实践,他们说我的现在业务,不是说容器很火,我们想上容器的业务看看怎么样,看看这一些东西能把原有的业务迁移到容器里,走这一套都是算是比较标准化的方式。但是他们往往遇到的第一步,就是我这容器怎么构建,我自己的业务是怎么做这种容器化的改造,怎么做这种迁移,以及怎么样打包。因为就是说在这种不管你是用的Cloud还是DSCS容器化改造中都是需要涉及到怎么做容器的配置。你如果能有一些比较有指导性的方式、方法,能够帮助你把容器合理的做出来,能够让它在现在的这一他微服务架构中跑起来,当然从业务的开发来说,它首先是要满足三要素,这是一般上微服务上云的一个基础条件。另外就是说你如何能够给你一个比较便捷的方式,我能够把我的这一些容器做到这种一个有效的构建。

比如说其中常见的一个问题,我把我自己的业务,我编出来了,我在我的容器平台上可能一跑起来现在是没什么问题,但是其中的比如说涉及到我要调整一些东西,类似于我们在Open Stack实践中,因为大家知道像Open Stack这一种理念它实际上涉及到大量的配置文件,这一件在实践中实际上是,如果你做了容器化的改造你是不方便类似于比如说Open Stack或者什么,做一点小小的配置你就重新打一个容器,这种在实际的应用过程中也是不可行的。所以就是说我们需要在这种容器的初始构建中就要能够做到一个很好的配置。比如说哪一些东西该有环境配、盖有一些注入,溶液容器中需要有哪一些健康检查的一些东西,这一些东西该怎么跟你的整体的框架配合起来,这都是需要有一定的指导和实践,才能够真正把你的业务做到一个很好的融合,上云的过程。

另外就是说在我们构建好了容器之后,下一步说白了就是因为这一些东西微服务架构,就拿我们的云平台来说Open Stack也是拆成了很多的微服务,这一些微服务就涉及到很多的组件,这一些东西在这种很庞大的组织结构中,包括就是说你怎么跟数据库关系,你怎么跟通讯,这一些东西在微服务的结构中是很复杂、很庞大的一个体系,你如何把这一整套的东西能够合理的跑起来,能够不出错,其中单个的东西能够做到很好的弹性,这种扩展,这一些东西实际上都是依赖于一种所谓的编排,我们如何这把一些东西有效的组织起来。

在这种不管你用Open Stack或者什么,它的一个原生的编排说白了就是让你写一堆的配置文件,这说起来容易做起来难,它的配置还是蛮复杂。通过这种目前大家实际上都是采用普遍化的编排方式。就能够做到我把我所依赖的这一些镜项,能够再一个图形化的方式编排,包括它们之间怎么调配,之间怎么样依赖的方式通过编排的方式展现出来,包括编排以后整个的蓝本运行起来之后,我们如何能够很方便的通过一揽子的方式看到我这一套整个微服务体系整个运行的体系情况,这实际上也是类似于一个拓普的展示,它前端是怎么访问的,它的节点数有多少,他们之间的调度关系是怎么样通过这种编排以后拓普化的展示,实际上更能够符合容器化的一个方案真正落地、真正帮助我们把这一套微服务体系落到一个私有云落到实处。

当然容器部署就是这么几步,首先把自己的定制,包括一些网上的下载,编排到仓库里,通过这种编排方式并且一些自动化的参数配置,包括我们一些有状态的东西,可能常见的数据库,需要存储件,我们需要跟一些WIFI做对接,通过前期的镜像上传,编制、下发,包括后续的运维,包括日志、性能、告警种种的这一些运维的体系东西,帮助我们把整个体系能够建立起来。因为就是说实际上就是在这一些实践中,一环都是少不了,不管是开发、部署、运维这一些方面都是需要有相当的支撑能力,才能够达成你的业务的7×24小时不中断的相应部署能力。

这随便举一个小例子,跑一个类似外部应用,实际上提到容器,或者是提到Open Stack,现在可能大家感觉比较火热的东西有什么呢?在前几年可能就是Open Stack,包括容器,容器是从2015年、2016年就开始火起来,今年的热点实际上就是说机器学习。这一块就是说我大概介绍一下,就是说在现在这种很火的机器学习、深度学习这一方面,如何跟我们的现代容器的方案进行一个落地,因为大家知道,在现代的这种机器学习的理念中,在这里头我们如何把深度学习的框架,能够落实下来。因为我们知道在上一个这种人工智能的系统,实际上是经过三步走,第一步首先我们需要知道数据怎么来,数据是需要经过清洗,数据的一些整理。它实际上是帮助我们解决了数据本身的像不均衡,数据的一些偏差、误差。在这一步之后我们就是需要定义我们的深度学习的模型。

在这里举一个简单的例子,为什么现在类似于这种定义好的环境之后,我们现在如何再把深度学习的环境落实下来,就是说包括我们在私有云的条件下,我们如何进行一个实践,因为大家知道你实际上想布一套深度学习的环境,实际上还是很困难的。包括安装、部署,以及怎么样去做大规模的运行,都是需要有相当的技术功底或者能力。在刚刚所说的第二步部署了这种模型之后,第三步实际上就是说涉及到我的一个深度学习的框架如何能够落地,落地这一块就是说一个如何实践的过程。这一块在传统的像大数据什么的可能都是一些比较自成体系,像走Hadoop、Saprk的过程当中深度学习是更密集的体验,而且是涉及到比较大规模的分布式、涉及到高性能的计算,涉及到利用GPU的部署,在这种条件下我们如何将这种深度学习的这一套框架,有效的保证我的怎么去编排,怎么去保证高可用,怎么样跟现在的GPU这一些高性能计算的东西进行一个结合。所以现在从业界的一个实践来说,深度学习更多的是基于这种容器化的一个方式进行一个部署,它更多是Docker1.6版本已经开始支持对这种GPU的节点的一个编排,我们在Docker里面因为也能够支持利用到GPU这一些技术。所以就是说从目前来看大家深度的学习实践更多采用容器化的方式,这也是现在的容器化实践的一个从广度上这种扩展,因为它实际上是容器适用于各行各业,包括从你入门级部署一些WED应用中间键各种的东西到我们现在火热的深度学习这一些东西都是适用的,所以这也是为什么现在整个容器的发展越来越适用,包括微服务架构。

我们的容器在其他节点上拉起一些新的副本,这一些大家都是比较熟悉了。包括像灰度发布,我们知道现在现代应用中,我们如何做到应用的灰度的发布,包括怎么解决不间断的升级。因为知道类似传统应用中我们很难做到对于一个应用的不间断的切换,往往这种切换也是类似于前端加一个LB,然后做一个流量的迁移。但是在这种微服务架构下,一个容器下的方案下,我们就可以利用所谓的会度发布的方式,做一个升级。它实际上类似一个业务多个实力多个副本,我的升级按照这种轮转的方式,从第一个升级第二个版本,第二个、第三个,这样子在我的业务使用中,我的用户感知到了,实际上是在最开始的时候发现是20%的是走了我们新版本,80%走的是老版本,而过一段时间就是50%。在这种情况下我们可以对于,包括升级过程中一个体验,我们也能够做到预先的感知,类似于比如说我上线了一部分VI版本但是发现这版本可能有一些问题,我需要做回滚,我不至于整个业务全部切大VI,再回滚就是升极的过程中就去发现其中存在的这一些问题,我可以做大祭师的,可能我省级了10%,我就可以做大一个回滚这也是微服务容器所能够解决的这一些问题。

当然就是谈到容器也少不了对应的性能监控,以及日志的管理,当然这一些东西目前可能比较主流的都是基于开源的,比如基于性能采集,可能就是Kibana的,基于日志就是ELK这种场景比较适用。实际上就是开源模块的支持下,我们能够帮助很好的对整个容器云有一个有效的管控,因为大家知道对于日志来说,我们的容器实际上是在各个集成中去不断的启动、漂移,它的实力是随时销毁、随时建起来。我们如何做到一个统一的管控,这实际上涉及日志集中式的管控,我们可以将这一些相应的日志,或者这一些数据做一个统一的收集、统一的分析,这也是在这种容器条件下,能够具备运维能力的基础要素。

下面介绍一下我们新华三集团一个产品的体系,我们最早实际上是一个云平台,也就是说H3Cloud Devops,也就是H3Cloud AE C3CloudCE H3CloudOS,我们包括从Laas层、Paas层包括虚拟化、存储网络,这一些东西做到更加有效的融合,因为大家都知道可能开源的东西有的确实很好在这种你去使用它,确实也是不会说有这种绑定相应的东西,但是如何把大的体系做到一个很好的融合,很好的运维商的绑定,我们需要一个很完善的相互融合的体系架构,在这种架构下我们需要包括从Laas层到容器层到Paas包括底层的虚拟化存储、网络这一些东西整体融合配置。在这种条件下实际上是能够给客户提供一个更加有效、更加可靠的一个支撑。当然就是说实际上我们华三的东西也都是基于开源来源于开源,但是在开源基础上做各种的扩展。所以因为来源于开源,比如说我们的OS我们的云平台,实际上也是能够兼容Open Stack基础的能力。所以就是说在这一块可以实现一个包括跟其他厂家的完全无缝的对接。

这是我们OS的一个云操作系统的整体框架,当然内容是比较多了,包括代码托管、应用商店、精像仓库各种的中心线服务一些金属包括一些工单、报表这一些东西都是具备的。

另外是我们的一个基于Paas平台,这一块也是能够提供一个面向开发Paas解决方案,当然这一些我们的整个,包括像OS这一些Paas引擎都是基于容器平台,做一个微服务化的部署。也就是说本身这一些东西都是微服务的架构。再这之上来提供Pass的能力,包括一些运维这一些能力的提供。我们Paas平台也是双模的体系,它能提供容器化的Paas方案,以及传统应用的兼容。因为我们知道确实有很多的应用,它是在云化的改造中,但是它现在还无法做到真正能够上到容器,所以就是说这种如何做到一体化,所谓的双模的概念,能更好的把容器非容器的方案整体的解决,这也是我们在Paas平台上的这么一个实践。

最后是我们的一个运维中心,大家知道缺了运维实际上很难把一套体系、一他环境能够很好的跑起来,所以我们通过这种一个运维的中心,能够提供一个很好的,包括像监控、一些事件、一些各种的服务,包括一些自动化的流程。因为大家知道确实像我们在实施这一些服务中,我们如何将这一些业务部署下去,首先一步是我们的这一些业务,如何能够落到这一些露金属上这里实际上涉及到我们如何容器所依赖的基础服务,这一些资源所依赖的东西部署起来,这里就包括通过露金属进行服务的安装,这一些东西说白了都是在整个解决方案舭部缺少的,不然派着运维人员一台一台去安装这种环境,如何做到这一种,包括虚拟化,包括露金属、包括网络存储统一的管控,统一的调配。这一些东西实际上都是一整套的方案体系。

好,今天华三的介绍就到这儿,谢谢大家。

关注中国IDC圈官方微信:idc-quan 我们将定期推送IDC产业最新资讯

查看心情排 行你看到此篇文章的感受是:


  • 支持

  • 高兴

  • 震惊

  • 愤怒

  • 无聊

  • 无奈

  • 谎言

  • 枪稿

  • 不解

  • 标题党
2024-04-23 10:25:00
2024-03-16 21:01:07
市场情报 “2024华为云青竹奖”正式揭晓,十大优秀伙伴斩获殊荣
在中国传统文化中,青竹一直被赋予“坚韧不拔、旺盛进取”的深刻寓意。 <详情>
2024-02-26 10:11:52
市场情报 亚马逊位居IDC MarketScape全球云计算和以应用为中心的市场供应商“领导者”类别
对卖家而言,亚马逊云科技Marketplace提供了有效的业务拓展渠道,帮助他们触达全球数百万客户,同时,显著降低销售成本并缩短销售周期。 <详情>
2023-12-18 18:19:00
云资讯 新华网报道|中企通信新推智能化网络安全方案“云网神盾”
中企通信“云网神盾”的突出特点是突破了传统模式,让攻防进退有度。 <详情>