本篇文章2978字,读完约7分钟

基于Python的企业运营和维护平台怎么样? 涂画教育技术总监郭宏泽做了题为“基于Python的企业运维平台”的精彩演讲。他说,经过十多年的发展,操作和维护已经从手工操作和维护、脚本操作和维护发展到自动操作和维护。他分享了自己在操作和维护方面的经验,以及如何从头开始开发基于Python的操作和维护平台。 2018年3月21日至22日,由中国信息通信研究院主办、中国通信标准协会支持的“奥斯卡”在国家会议中心举行。作为子论坛之一,DevOps论坛于21日下午举行。

基于Python的企业运营和维护平台怎么样?

该论坛汇集了多个行业专家,包括涂画教育、高效运营和维护社区、京东云、用友常杰、德维普斯时代社区和哈尔滨银行,对德维普斯的标准体系进行权威解释,并分享他们各自的德维普斯实践。

(涂画教育技术总监郭宏泽)

涂画教育技术总监郭宏泽做了题为“基于Python的企业运维平台”的精彩演讲。他说,经过十多年的发展,操作和维护已经从手工操作和维护、脚本操作和维护发展到自动操作和维护。他分享了自己在操作和维护方面的经验,以及如何从头开始开发基于Python的操作和维护平台。

郭宏泽介绍说,企业在运营和维护方面面临越来越多的挑战。首先,系统架构变得越来越复杂。随着IaaS变得基于云、基于容器,以及PaaS变得智能化,依赖于库的多样性、运行时的复杂性,操作和维护人员无法满足新时代的操作和维护需求。

第二是技术债务。由于资源成本的压力,中小企业的信息技术运维和信息技术系统存在大量历史债务。然而,企业的能力不足以应对技术债务导致的频繁故障,导致客户应用体验差,无法满足客户需求。

第三,人员流动。他说,关键企业数据的离开将导致不稳定,并线性增加整个系统可持续性的可能性。

第四,战略规划。郭宏泽表示,企业的运营维护复杂,资源配置不合理。一般来说,没有固定的战略计划,导致整个系统的混乱。

他指出,企业目前面临的最大瓶颈是传统的运营和维护理念和思维已经不能支撑当前的业务发展。

操作和维护的发展过程可以概括如下:从手动操作和维护到脚本工具,到过程系统,到操作和维护平台,最后到智能操作和维护。

郭宏泽表示,流程管理和操作需要很长时间,而完成一项操作和操作任务需要处理很多环节。为了解决这个手工的、非自动化的和过于复杂的过程,开发平台的想法应运而生。

运维自动化平台是DevOps概念的落地方向之一,主要面向日常运维任务管理,部署管道面向端到端交付。

关于如何在企业中搭建运维平台,郭宏泽介绍说,搭建平台有两种方式,一种是自我建设;第二,购买。根据他多年的操作和维护经验,企业最需要的是掌握开发能力,开发一套适合自己工作流程的平台。在这个过程中,首先要考虑的是概念。

当我们开发操作和维护平台时,我们并没有真正开发一个平台,而是在原来的基础上增加了一个可视化。一个是敏捷开发。进行软件工程管理,使运维开发平台与业务开发流程和模式相一致;第二是快速迭代。使用敏捷开发方法快速迭代平台的功能,并在发现问题后立即修改平台,使其功能更接近操作和维护工作。第三是灰度释放。第四,模块化开发。第五是持续重建。为平台留下一个重写的路径和接口,即连续重构和迭代的思想。六是经验的沉淀。

基于Python的企业运营和维护平台怎么样?

运维平台的首要和核心任务是完成CMDB,即硬件管理和应用管理。他指出,资产管理是主要任务,包括与硬件相关的信息,如服务器、服务器属性、带宽、IP和机房。在应用配置上,软件信息主要包括软件包、配置文件、监控属性、安全属性、业务属性、架构属性、权限属性和操作属性。资产管理主要面向资源管理,包括IDC、网络、服务器、虚拟化、CDN、操作系统和DNS。

基于Python的企业运营和维护平台怎么样?

关于后端技术的选择,他认为能够解决问题的语言是一种好的语言。您的团队可以用Java或Python开发它,但是我们在本地使用Python+Diango。

MTV也是软件工程中的MVC,即模块化开发。郭宏泽是这样说的:在Python中,在用户请求后,我通过UL经销商把它分发给我不同的功能模块。各功能模块的通用管理逻辑调用数据库的添加、删除、修改和检查模块,并最终与首页模块形成返回给用户的结果。

帝亚吉欧的价值在于,它可以解决内置应用程序和模块丰富的问题,并且可以在不耗费企业太多精力的情况下进行开发,从而确保所有战略资源都集中在如何实现业务上。

在前面的选择中,涂画教育使用了一个HTML框架。具体而言,首页使用adminlte,图形项目使用Bootstrap,特殊效果应用程序使用Jquery,图标使用font-awe,弹出组件选择Layer,监控图表使用Echarts。做出这些决定后,后端提供的数据将被整合。当前端监控图表启动时,数据将被传输,表格将出现。

以上是涂画教育的资产管理模块。郭宏泽解释说,CMDB如何构建表设计的困难在于不知道如何构建表关系。他把所有的对象都放在数据库里,即电脑室里的一张桌子,柜子里的一张桌子,业务组里的一张桌子,并做了四张桌子。最后,形成了一个机房中多个机柜和一个机柜中多个服务器的关系模型。这样,将来查询机房时,可以找到机房的相关机柜和服务器,并且可以用一个键查询所有数据。然而,通过将这个现实和图像抽象成数据库的二维表格,整个CMDB的底盘就完成了。

基于Python的企业运营和维护平台怎么样?

他表示,在完成表设计后,只要在前端调整属性,表中的资产类型数据就会显示出来,即服务器和交换机的停用或故障灯状态会一个一个列出来。

关于应用程序配置,团队必须有一个产品线,设计其下的所有项目,并设立一个专门的负责人。在此基础上,添加证书以方便将来对产品线和关键问题的查询。

关于CMDB和安赛博的整合,郭宏泽表示,收集密钥解决了数据一致性问题。在CMDB,即使在服务器改变后,资产服务器中的被管理服务器的信息也将自动同步到Ansible,使得Ansible成为永久且有效的自动操作和维护工具,并且其数据库在不考虑数据不一致问题的情况下都是有效的。

如何管理资产和监控信息?他介绍说,他们使用Diango的HTTPSERVER作为接口,而不是Socket。他们使用Http Post方法上传和使用Json进行前端和后端数据传输,并将数据处理直接插入数据库。

在界面上,设置一个接收数据的函数,接受前端浏览器发送的请求体来判断它是否是Post,用Json格式化它,把机器脚本到磁盘CPU等信息转换成变量,最后主机,保存这些属性直接保存。

基于芹菜的异步任务中心可以解决每台机器的任务类型。在将它作为一项任务集中之后,是谁创建了这项任务?什么项目被称为?多久执行一次?信息一目了然。

为了更好的联动,涂画教育也开展了监控平台的实践。郭宏泽说,不要用关系数据库来存储监测数据;建议使用Influxdb rrdtool Prometheus来存储监控数据;前端选择要显示的Grafana图表;使用子数据传输;JS异步回调用于实时刷新数据。

郭宏泽介绍了任务联动处理的具体流程:代理上报各种监控告警,并推送到消息对列。从消息对列获得的值通过其自己的策略判断系统来判断问题,并将其转移到其自己的知识库中。知识库中调用了任务处理模块来处理该问题。最后,这个事件被写进了CMDB。

选择开发所有模块的初衷是为了对我们的操作和维护系统有更强的控制力,并为所欲为。

关联阅读

[中国国际数据中心圈原创未经许可禁止复制]

标题:基于Python的企业运营和维护平台怎么样?

地址:http://www.yunqingbao.cn/yqbxx/340.html