特来电CMDB应用实践

        配置管理数据库(Configuration Management Database,如下简称CMDB)是一个老生常谈的话题,不一样的人有不一样的看法,实际应用时,由于企业成熟度以及软硬件规模不一样,别人的成功经验很难直接复制,所以用好了会成为整个应用系统的基石,用很差就成了鸡肋。特来电云平台在规划伊始,便意识到了CMDB的重要性,在实践中不断丰富完善其内容,探索出了一条行之有效的轻量级CMDB建设之路,下面笔者具体谈一下应用实践思路,但愿能给感兴趣的同行带来一些共鸣。算法

1、总体架构数据库

        特来电云平台是互联网架构的分布式应用平台,但CMDB的设计初衷倒是中心化的,这样便于为上面的应用层提供统一的数据变动处理,保证各应用系统共享一致性的配置数据,总体架构以下所示:微信

        1.应用层架构

        特来电云平台是CMDB支撑的上层分布式高并发高可用系统,做为一个支持“全生命周期管理”的技术服务平台,主要由三大子平台构成:开发交付平台、公共技术平台、运维管理平台,分别对应一个应用系统全生命周期中的开发时、运行时以及运维时,总体架构图以下所示:并发

 

        2.管理层运维

        硬件资产管理主要管理物理的数据中心、应用主机,以及逻辑上划分出的服务单元、应用集群、应用节点等;软件资产管理主要管理关键应用以及应用程序定义、应用程序实例(进程);应用配置管理主要管理应用运行时须要用到的各类静态或动态参数;软硬件资产申请主要管理各产品研发团队发布应用时,须要用到的硬件资产,以及须要注册的软件资产基础数据,经过与自动运维系统打通,申请经过后,能够进行应用主机的部署以及应用程序的初始化;数据准确性校验一是经过初期对软硬件资产的正确盘点,二是经过与监控系统打通,定时将收集上来的数据与CMDB存储的基础数据进行自动校对,必要时根据校验的异常信息进行人工校对,从而保证CMDB基础数据的绝对准确;数据统计分析报表主要从运营的角度对软硬件资产及应用配置进行如数家珍的图形化展现,以及统计应用主机利用率、分析使用成本等,为机器升降配置、扩缩容量提供有力的数据支撑。机器学习

        3.存储层分布式

         做为轻量级的CMDB系统,考虑到集中存储以及数据一致性,经过关系型数据库便可知足应用配置以及访问查询需求。高并发

2、核心模型学习

        传统应用中,CMDB做为ITIL(Information Technology Infrastructure Library,信息技术基础设施库)关键模块中的基础,主要面向硬件资产,涉及的内容及流程模型比较重,而一些创新型的中小型互联网公司,大部分采用的是公有云,不须要管理自建机房,更多关注软件资产,所以若是直接使用标准的CMDB系统,每每会感到水土不服,失败案例比较多。经过研究业界主流作法以及结合自身实践,特来电云平台通过不断探索,认为构建一个轻量级的CMDB系统,应该以关键应用为抓手,将云上轻量的硬件资产以及软件资产进行统一协调管理,核心模型以下:

 

        1.硬件资产模型

        在强调高可用的互联网领域,建设多个数据中心(一主多从),构建多地多活应用,愈来愈成为主流趋势,而且同一个数据中心的鸡蛋也不是放在一个篮子里,而是经过服务单元进行Set化管理,每一个篮子(Set)做为一个更细粒度的封闭部署单元,均可以对外提供一样服务,这种多Set化方式,更加灵活的提升了应用的可用性;同时一个Set又继续细分为多个应用集群,为了能最大化复用应用主机,每一个物理的应用主机上抽象出了多个逻辑的应用节点,就像在一个机器上,部署了多个虚拟的应用容器,所以每一个应用集群不是由应用主机直接构成,而是由应用节点构成。

        2.软件资产模型

        一个复杂的业务应用平台,一定是由不少应用构成的,识别出这些具备技术及业务功能属性的关键应用,就是抓住了整个应用平台的牛鼻子。关键应用能够按业务线进行划分,既包括可视化的系统,也包括非可视化的系统,每一个系统都由必定数量的应用程序构成,每一个应用程序都会有对应的实例,也就是最终运行在每一个应用节点上的应用进程,每一个应用进程能够经过应用主机、进程名以及部署路径进行惟一肯定。经过这种从上到下的模型抽象,为准确监控应用系统运行状态而且及时定位应用系统运行故障,提供了深刻到进程级别的有力支撑。

3、应用实践

        特来电云平台基于CMDB在应用层面作了大量实践,积累了不少典型应用场景,如下概要谈一下在运维方面的应用场景。

        1.监控预警

        整个监控预警系统彻底架构在CMDB之上,一方面监控预警的对象来自于CMDB中的基础数据,另外一方面监控收集上来的基础数据,要定时与CMDB中的基础数据进行校对,若是有异常时,会经过预警通知运维人员,以保证CMDB数据的绝对准确。

        2.应用拓扑大屏

        应用拓扑大屏是对CMDB系统的实时展示,能够全方位查看整个系统的运行状态,同时与预警系统打通,当有预警发生时,会将对应应用节点标红,点击该节点,能够查看预警信息,并进一步联查全链路信息,直至钻取到存储在大数据系统中的异常信息,实现了多个系统数据联动。

        3. 智能运维

        智能运维是目前运维界的主流发展趋势,目的是经过机器学习的方式来进一步解决自动化运维所未能解决的问题,提升系统的预判能力、稳定性、下降IT成本,并提升企业的产品竞争力。特来电云平台在系统智能运维方面进行了探索性尝试,目前已经初见成效。当有预警发生时,经过计算预警携带的CMDB信息,一方面经过自动运维进行场景化处理,好比回收Web站点应用程序池、重启应用程序、转储应用日志等,经过这种点杀方式,防止预警事件进一步恶化为系统故障,另外一方面利用机器学习算法,对预警发生时的数据进行决策分析,尝试找到预警发生的根因,以期后面从源头上切断预警发生的条件。

4、总结

       基于公有云的CMDB建设须要采用集中化的轻量级解决方案,以业务线的关键应用为抓手,打通业务系统与CMDB之间的数据通道,让数据流动起来,最大化发挥CMDB的价值;同时要保证CMDB基础数据的绝对准确,为上层应用提供一致性的数据支撑。

5、特来电云计算与大数据微信公众号

1.微信公众号名称:特来电云计算与大数据

 2.二维码:

 

相关文章
相关标签/搜索