大家好 欢迎大家来参加2021年在上海举办的库比抗线商会议我来自于世地互联 我叫华勇我们是一家大型数据中心的运营服务商我们有非常多的数据中心分布在全国各地支撑着几十万台服务器为大家提供在线的服务支持今天我想跟大家讨论的就是我们用云生的方式来管理这些大型的数据中心先简单介绍一下我自己我很早就加入了开源社区既参加过像Harbor这样的比较著名的大型项目也领导过像抱着这样开源的云元生管理平台现在我在21VIA.NET的社区里头在做一些贡献如果大家感兴趣的话 可以在github上找到我简单介绍一下IDC的业务我们讲到的云元生往往关心的服务器之上的存储计算网络这些资源但是在服务器之下 实际上还有很多基础设施包括像我们的机柜我们的机房我们的数据中心在这里面我们主要有几个大的系统俗称的就是风火水电系统风是指我们的空调火是消防系统水质温湿度管理电包括我们的UPS包括我们的柴油发电机作为备用电源再加上我们在机房的对外的带宽出口这些资源每天会产生非常多的管理数据那对这些管理数据进行管理就是一很大的挑战我们建立了一个smart-heaven的项目就是来做这些数据的管理我们采用了数据采集的方式就边缘测数据采集的方式把各个数据中心的数据采集到我们的核心机房放入我们的大数据管理平台大数据管理平台主要承担两个任务一是在线数据的这种计算提供我们的比如像我们预值高级还有大屏显示这些服务还有一块重要的部分是我们的离线分析因为有一些数据量非常大需要跑板上跑一些离线任务才能完成数据的计算提供给我们一些管理数据比如像我们的一些分析报表这些数据是我们大级平台的能力在这之上我们还建立了人工智能系统人工智能系统通过我们的标注吹拎模型到预测的这些流程提供一些我们自动化的人工智能的数据分析能力增强我们的数据效率减少我们的人工人号今天我就想分几块来给介绍一下我们其中云元生实现的部分首先第一个是我们的数据采集数据采集我们从边缘测的各个机房采集到传感器的数据然后传输到我们的核心测的中央机房我们建立了一套数据采集的机制我们是以耐次为核心耐次是云元生的一套数据传输机制然后我们在外面做了一套CRD这个CRD可以通过描述我们要传输的资源的类型无论是文件 消息或者是一些告警信息我们只要定义好它的类型再定义好它的原和目的我们就可以使用我们在云元生系统里搭建的耐次服务然后把数据从边缘测传输到核心测也可以把我们的人物智能模型从核心测下发到边缘测这个的好处就是耐次相对来讲它是云元生方式来构建的它的性能会比较好而且它可以用云元生包括互不native包括互b edge的一些原生的高可用的能力保证服务的可靠性我们这个系统现在也是在不断的发展过程中我们现在还暂时没有办法直接对接我们的大数据系统主要原因是耐次对接Flink的Bridge现在还没有完全成型后续我们也会紧跟耐次的社区然后去看我们如果能把耐次直接对接到我们的大数据平台上它对接到Flink里就可以省掉我们中间还要再经过卡福卡这样的数据中转提升我们的效率另外我们也会在数据处理方面做一些plugin帮助我们数据可以多种类型的支持介绍一下我们大数据的处理能力主要在实时计算方面我们采用了Flink这样的数据计算模型我们用Google做的Flink on Kubernetes的operator我们也非常清晰简单的可以定义出来我们一个Flink的机群然后通过我们部署我们的Flink的计算模块然后部署到我们的pod里去可以根据我们计算模块实施采用的资源的情况来按需分配我们的资源使用这样大大简化了部署和中间进行部署和机群建立时的一些手工测试手工验证的一个阶段节省我们的消耗另外我们可以采用session的方式采用port job的方式跟application的方式多种方式来部署我们的计算模块比如说我们要采用port job的方式就会对接我们的divops平台打出我们的任务的镜像包然后再部署到Kubernetes平台里头根据我们任务实际使用的资源情况来向Kubernetes平台申请我们的资源提高我们的资源使用效率节省我们在传统的福林克模型里头这两次申请资源一次是部署机群人申请资源另一次是部署任务时候申请资源这样两次资源不同步产生的消耗我们现在主要在大纸平台里使用的云元生的方式在福林克这方面但是在HDFS方面我们也做了一些尝试现在主要的问题是在网络性能消耗方面我们希望后面用一些解决方案比如像智能网卡的方式来解决我们网络性能的降低将来以后把我们的存储和离线计算部分也能部署到Kubernetes平台里我们的人工智能采用的是PetouchOnKubernetes的解决方案大家都知道互币flow是一个最佳实践但是里头相对来讲比较复杂我们把中间其中Petouch的operator提取出来放入我们的人工智能平台然后通过我们主辟练练练不可对接我们的Petouch training的模块来训练我们的模型然后再通过刚才讲到的NAS分发系统可以把我们的模型下发到边缘测在边缘测的时候我们通过模型来进行通过人工智能模型和我们边缘测数据的数据来进行推理和预测我们在网上在公开的论文里找到了清华大学跟腾讯来做的电池预测的一篇论文我们在我们系统里做了实现在论文里头他们能做到90%的90%以上的电池的寿命预测准确性我们采用我们的系统现在已经能达到80%多当然还有一点差距了我希望后面在我们不停的这种迭代和这种发展的过程中把准确率逐渐提升甚至超过最后再讲一下我们采用PoloMix就此加滚发达的方式来监控我们的数据中心的运营我们右侧定义的是我们一个网络的监控模型我们把它代码化了放在我们的Lab倉库里头然后我们通过自动化流水线可以把这些模型部署到滚发达里来监控我们的网络监控我们的告警监控我们的传感器以上这些是我们在Smart Heaven系统里用到的运营生的主要的部分总结一下我们有几个比较重点的观念或者理念在里面一个就是我们OpenSauce我们希望把所有做的东西都通过OpenSauce的方式来呈现给大家呈现给社区跟大家一块来分享这些经验当然大家知道在大型企业里做开源有的时候是比较困难的那我们会分布来走我们至少把我们的一些我们的做的一些方法我们做的一些过程跟大家分享逐步在分享到我们的代码最好的就是把一切我们都能以代码形式给大家呈现就是我们说的I will sing us a call就是包括我们的文档包括我们的脚本包括我们的配置甚至包括我们的基础设施我们都可以以代码的形式来分享给大家还有一个就是CRD对我们的帮助非常大CRD可以节省我们的这种因为我们内在很多运源生的这种定义是非常复杂的我们通过CRD方式来简化这种定义可以有效地节省我们在学习上的曲线包括我们在部数上的曲线部数上的学习曲线可能内体不用说了我们所有组建都要做可能内体因为我们要用到可能内体或者运源生的整个生态环境里的非常多的这种配合包括我们的所有的系统都可以用运源生的方式来进行日治监控管理这种共用的这种服务是运源生生态环境非常重要的一部分也是我们要做运源生的一个重要目的还有就是我们做运源生要保持一个技术中立因为运源生的很多技术在不停地发展过程中那怎样把各种不同的技术节偶我们可以用最新的技术最好的技术来替换一些我们的模块我们保持一个开放的特性这样的话对我们将来以后的发展未来的眼镜都是有很大帮助的最后想介绍一下就是通过diawob的方式像github的方式我们来进行一些组建的部数因为我们做到所有都是扣的尤其是Kubernetes这样的管理平台解决了在运为测的代码管理代码的这个就是一切接代码能力再加上diawob是解决开发测的结合在一起开发和运为成为一个整体而且都是用代码来进行管理或者是代码来进行描述这是会爆发出非常大的一个能力好 今天我就简单介绍一下我们的解决方案或者是我们的一个最佳实践我们后续会把我们很多的组建和我们的能力发布到smart heaven的社区里欢迎大家来讨论和学习