杨文兵:基于PaaS快速构建企业运维的工具文化

12月15日,由腾讯云主办的首届“腾讯云+社区开发者大会”在北京举行。本届大会以“新趋势•新技术•新应用”为主题,汇聚了超40位技术专家,共同探索人工智能、大数据、物联网、小程序、运维开发等热门技术的最新发展成果,吸引超过1000名开发者的参与。以下是物联网的场景化技术应用分论坛的演讲内容,稍作整理,分享给大家。

此篇从从运维的角度讲如何基于PaaS构建企业运维的工具文化。从四个方面出发:第一,我们跟着腾讯云对外做了非常多的输出和交流,我们在外面看到的,其它同行业他们在运维方面的发展现状;第二,在腾讯内部,我们如何面向500、600款不同架构的业务,实现PaaS工具文化的落地;第三,跟大家展示一下我们大概做了哪些工具;第四,给大家分享一下我们对外开放的一些策略。

这个界面运维称之为CRT,会写一些批量的脚本命令,或者非常多的日志。,10年前腾讯云也是这么做的,一个命令敲下去等半个小时看一下有没有问题,发现有问题再写,都是这样的传统模式。

这几年我们看见大家都在做云,以前面向的是传统的物理机,面向云的话我们遇到了哪些对象,首先是虚拟化,各式各样的容器,再一块是应用,我们发现各式各样的应用都上到了云上面去,这些对于运维来讲,如果按照原来的传统模式运维,都是非常大的挑战。

对于运维自动化构建来看,他们无非面向两个选择,第一个,他们会购买成熟的商业产品,第二他们会自建,会从互联网公司挖一些自动化运维,挖一些有非常多经验的人做这块。

关于购买,他们会对接国际上一些大型厂商,特别是金融或者是政府这块,BMC、惠普、IBM、CA,我们非常多的一些外部同行他们都是通过这样的系统做内部运维的,在支撑了他们自动化运维的情况下,也带来了很多的问题。

他们在买的过程当中,在2B这块有甲方和乙方的概念,甲方和乙方前期在做需求调研、做POC的过程中,乙方说我可以做,但实际上在中标之后真正实施的时候,乙方说能不能换种方式,像这种对于企业运维长期的发展是很不利的。

首先面向运维这块,首先我们提出一个词叫工具文化,工具文化的概念其实是谷歌提出来的,工具文化用一句话来讲,能用工具替代人的地方,直接用工具做,如果替代不了,直接用工具辅助人,这个概念非常好,就是解放人,但是忽略了一点,工具文化这个工具本身还是要靠人,同时包括这个工具未来的维护,也是非常大的事情。我们在运维自己业务的同时,你还要运维这些工具,这个可能是不能接受的。

关于DevOps,,他其实主要就是促进开发、运维、测试,各岗位的协作,把整个软件交付链条变的顺畅,打破组织架构之间,能够让企业的信息化交付非常顺畅起来。

运维需要做不仅仅是发布变更的事,他需要做故障处理、需求处理,做精细化运营这块。在腾讯内部,运维人员叫技术运营,传统的运维应该就是第一层,运营保障。第二,运维是一个技术岗位,不仅仅需要保证你的基础设施,保证你的业务稳定运行,它和周边的岗位会有互动。我们把它抽象成运维工具,构建一个快速开发工具的PaaS,让运维做转型,做一些开发工具,我们做运维开发,让他们提供工具,把这些工具交付给周边的岗位,让他们自助,或者我们招一些外包团队去负责页面点击。最上面一层是运营决策,腾讯不仅产品策划的好,我们还会做非常多的辅助产品,我们会通过运营决策层这块,让运维脱离了成本部门的角色,让他能够享受到给业务带来价值(如收入、在线提升等)。

PaaS分三层,首先最下面这一层,我们会构建非常多的原子平台,这些平台,每一个平台在企业内部可能是一个非常大的开发团队在维护的,甚至其它的一些周边团队,我们构建的各个平台都可以叫原子平台。第二是iPaaS和aPaaS,它主要是负责集成服务,包括我们提供开发框架,全托管的运行,在这个上面,第三层的话,就是讲到场景层,我们会快速开发出各面向业务场景的各类SaaS。

对于运维来讲,最主要的是CMDB,你所有的IT资产和业务信息都需要统一存储起来,为其它的平台,你都从这个地方共享,这样才能够打通你企业内部的全流程自动化,否则的话你的信息有隔离,比如说你做一个监控,监控里面可能有一个CI信息,发布里面又有CI信息,这两个信息没有一个融合所以我们需要有一个信息枢纽的作用,提供给周边系统读写。

第二针对运维有个作业平台,我们运维所有的执行脚本命令,以及运维所有的文件分发都会调度一个统一的作业平台,传统运维,从最开始我放的黑色CRT上面能够转移到这上面来,运维所有的脚本都到这上面来,还有一块,所有运维执行的历史记录的审计,原来运维比如说一个月以前执行了某项命令,未来一个月以后带来一些影响,他能够把所有执行的结果,永久地保存起来。

第三个,容器管理,容器管理这一块,坦白来讲对于整个这一块,所有的开发来讲,其实前面也讲了,对于未来来讲,我们所有这一块运维系统,如果是基于容器,它的编排模式可能会发生非常大的变化,整个这一块,所有运维的管理模式可能跟传统不一样,它是镜像的模式,这个时候需要运维来参与,运维通过传统模式做需要一个容器管理平台。

还有数据平台,数据平台对于传统的做保障型团队来讲,你可能不需要。对腾讯这种,我们通过运维、决策运营的团队来讲,我们需要有一个数据平台,我们需要到运营所掌控的生产环节中,收集各种各样的信息。包括所有的主机、网络、系统日志,所有数据你都要有一个传输、存储,需要有一个数据平台做,在数据平台需要提供一个可视化的页面,要让运维快速接入进来。整个运维的话,是针对所有的业务架构非常熟悉,所以他能够做一些调优,或者业务运营的决策。

AI这一块,这两年AI非常火,对运维来讲我们提出了智能化运维,目前来讲,还是雷声大雨点小,我们需要构建这样一个AI平台,托管这样的算法。在内部,运维做AI有几个做法,首先第一个我们会招一些硕士研究生,以前写论文,对算法非常熟,这是一个算法分析师。另外,我们会有一些运营规划,运营规划他们不想写SaaS开发,但他对业务的理解非常深。比如说他要做一个智能AI的扩缩容。你做AI必须有数据,数据之后加上AI算法,同时你需要有一个规则模型,最后训练得出规则的平台,你需要有一个AI平台。

在腾讯内部我们有非常多的部门提供了非常多的平台,我们都会把它对接到PaaS里面,我们把它作为第三方系统,你们以前购买了非常多的商业软件,这个时候你也需要对接进去。当我们把这些平台或者第三方对接以后,我们需要让运维基于PaaS构建工具文化,我们需要把它落地,怎么做?这一块我们讲有一个终极的目标,就是我们要做运维开发,就是运维实际去写这些东西,传统非常多的事情,运维以前可能没有参与,整个这一块我们提供了这样的PaaS。

这是我们10年以前运维开发团队的传统工作模式,后来我们用PaaS做了,运维就负责组装前端、后台和API。我们从2012年开始构建这样一个PaaS平台,这些业务架构不一样,开发语言不一样,所以我们会做非常多的单系列,当SaaS工具达到一定程度的时候,我们会做一个通用,这样慢慢延伸,最后我们会做出非常多通用的大型SaaS。整个这一块,我们做的SaaS给谁用,我们可以看一些东西。像这种多口径的发布,在这一块,在腾讯内部我们的一个方式,我们运维只要开发提交代码以后,所有后面工具的布署运营这块都全包的,我们只需要让运维开发专注于写Python模块,我们运维在构建这样一些工具。

什么工具最好用?有两种,首先第一种是通用,做一个工具整个公司所有人用,但这个用肯定应用型很差,因为他兼顾一万人的需求。最好用的是什么?定制本,我给你单独做一个,VIP的贴身服务,你要什么我给你做什么,这种其实是应用性增强的,但是这块成本会很高,因为一万个人要做一万个工具,我们通过PaaS的理念,我们做到了定制和应用性强,而且它成本很低。在这一块,在腾讯内部我们延伸了这样一种工具文化,通过PaaS的理念做了之后,我们可以看一下,这几年跟着腾讯这一块,要扎根互联网,要全面拥抱产业互联网,我们也跟着腾讯云一起对外输出我们的能力,我们会把我们构建的SaaS上线到我们的市场里面去,包括非常多的业务通用的脚本都会输出,你只要去下载一个PaaS,这些SaaS就可以安装下去,就像买一个苹果手机你可以安装APP一样。

目前,在内部我们构建工具文化,是基于业务形态构建的,我们的平台能力是非常多的。面向外部有各式各样的行业,比如说金融、政府、地产、能源,我们的输出,我们会有非常多的以前传统的代维领域的,现在我们通过互联网的模式,把顶级互联网的PaaS输出给他们,让他们对外服务。

面向行业,我们开发了几个版本,一个是社区版,企业的运维人员下载好,在内部实现私有化的部署,这个是我们目前在后台看到的一些用户数据,我们有真实注册的实名企业达到4000+,我们激活安装的用户有20000+,同时我们跟腾讯云面向企业提供版本,以企业版的形式输出给他们。

下载链接:杨文兵.pdf

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券