2018年的时候,有一个客户想做信息系统的全链路监控,于是老白的团队和客户一起花了一个多月时间,构建了一个全链路监控理念的运维自动化体系模型。对于正在向云平台转型的传统企业来说,构建这样一套体系还是相当有挑战的,因为当时甚至客户选择哪家公司的云平台还没有确定。信息化运维是十分复杂的立体结构,而不是我们以前所想象的平面结构。如何分层就是十分头痛的事情。不同的企业,不同的管理体系,不同的运维团队对自下而上的层次的看法往往都会有差异。不少小企业甚至未作任何的分层,日常建设工作与运维工作都混在一起,监控管理与运维也一样,按照谁建设谁负责的方式来进行后续运维。这种粗放的管理模式在企业IT规模较小的时候成本最低,一旦企业的IT规模扩大到某个程度,这种管理的弊端就十分明显了。最大的问题就是IT管理混乱、运维专业性不足、问题持续积压。一旦积压的问题爆发,往往就会出现大问题。可能很多企业的IT管理人员都说,我们企业太小,IT人员、经费都不足,没办法分层管理。实际上这是一个借口,哪怕自身的能力不足、IT运维经费不足,也不是不做管理的借口。理清楚自己每层的IT资产情况,选择适当的运维/维保模式,聘请专业的IT运维团队提供IT运维支撑服务,其成本是企业必须要承担的。既然要实现专业化的运维管理,那么如何分层就十分关键了。对于传统企业来说,传统架构为主的IT系统,自下往上可以分为:数据中心基础设施(动环、机房等)、网络层、支撑平台层、事务层、业务层、安全管理层。而对于IT已经云化的企业来说,可以分为:数据中心基础设施、云平台、PAAS组件层、事务层、业务层、安全层等。实际上对于上云的IT来说,云平台可以很好的解决基础设施层面的运维管理,包括服务器、网络、以及云平台的安全问题。不过我们还是把PAAS组件层单独拿出来了,这是因为一些比较重要的IT基础设施,比如数据库、中间件等,云平台的管理支撑能力还是不足的,需要单独拿出来做增强版的监控管理。对于一些比较大型的企业来说,除了云平台中管理的网络之外,如果大二层网络和三层网络十分复杂,那么基础网络仍然是需要单独来管理的。虽然企业上云的初衷是把复杂的IT基础设施交给云平台去管理,企业可以专注于业务与应用,但是实际上来说对于上了公有云的用户都有一个同感,就是天下没有免费的午餐,对于私有云用户来说,如果缺乏强有力的支撑,上了云之后,所有的以前IT运维要干的活基本上没少,又多了一个很难运维的黑匣子-云平台。这实际上并不是企业IT云化的初衷,也不是企业IT上云的实质。企业IT上云肯定是趋势,而且企业IT上云也是企业减少整体IT成本的解决之道。只是企业IT云化后IT运维管理的模式发生了巨变,而我们的企业还在按照原有的套路管理IT。以前传统企业的IT是十分传统的,不管说是IOE架构也好,还是啥架构也好企业IT的稳定性是基于基础设施的稳定性的。资源没有共享,那么就只需要确保我的资源是充足的,那么哪地方出问题哪地方去处理就行了,比较简单粗暴。因此我们的企业虽然构建了大量的运维自动化平台,其企业IT运维从本质上还是基于人力的。运维自动化平台的报警大多数是误报或者报了也找不到原因的无效报警,因此运维自动化系统有人去看的时候才是自动化系统,没人看的时候就是个摆设。企业IT上云后,如果还是按照这个套路去管理,那么今后我们的IT运维就和盲人摸象没太大区别了。应用软件可能出问题、PAAS组件可能出问题、SDN可能出问题、分布式存储可能出问题、微服务平台可能出问题,而对于这些东西的日常运行状态我们一无所知,出了问题到底问题在哪就很难去定位了。最近老白的不少用户正在进行IT上云的工作,不少IT主管都已经意识到了上云后IT运维管理模式的改变问题。运管平台虽然能够提供一定的运维支撑工具,不过这些工具的能力往往不足以应对企业IT运维的需求。对于阿里云这种已经十分成熟的云平台而言,其针对企业的私有云解决方案在云基础设施的运维管理方面确实已经做的很不错了,但是对于企业IT的很多需求来说,还过于底层,对于PAAS组件、应用层、业务层的支撑是不足的。确实也是,对于没有按照阿里云的整体思路开发的应用系统(用句时髦的话说,就是云原生应用),阿里云也没办法提供很好的支撑。目前最为成熟的阿里云私有云解决方案尚且如此,其他云平台的差距就更大了。云时代的运维必须是自动化运维,这个观点肯定已经被大多数企业所接受。对于资源共享、动态调度的云平台来说,传统的盯着一台主机、一个数据库的运维模式肯定是无以为继的。但是应该如何构建云IT设施下的运维自动化系统呢?全链路监控是所有已经上云或者正在上云的企业最终都能想到的模式。只有实现全链路的监控覆盖,才能在云环境中发现细微的蛛丝马迹,在问题没有放大之前尽快扼杀在摇篮里,这样才能确保应用系统的安全,甚至确保整个云平台的安全。对于全链路监控来说,我们需要覆盖上面所提到的各个层面。在数据中心基础设施层面,确保支撑整个云的基础设施是安全的,电力供应、散热、制冷、配线架、机柜都能很好的支撑上层的云平台,所有的服务器、网络设备、存储等的硬件都是健康的、都是亮着绿灯的;在云平台层面,整个云平台的健康度、容量、负载、性能、调度都是正常的,云平台上的各种服务、接口都能够正确的提供服务;在PAAS组件层,所有的数据库、中间件、负载均衡设备等都在状态上都是健康的,在负载上都没有超出基线,在性能上都是良好的,在容量上都不存在短期风险;在事务层,所有的关键业务的事务流都是正常的,核心队列的水位都处于正常水平,事务/交易处理延时都处于正常水平,交易成功率在基线范围内;在业务层,业务部门的业务流程是顺畅的,应用体验是良好的,业务量是正常的。上述的各个层面如果我们都有很好的监控覆盖,那么无论是哪地方出现了问题,我们都可以从本层面或者其他层面的一些异常发现问题,并且根据发现的蛛丝马迹,去排查与分析问题,避免大问题的发生。今天时间有限,我们仅仅探讨了企业上云后IT运维管理随之可能发生的改变,提出了全链路监控可以有效的改善企业上云后的运维问题。不过如何做全链路监控,是一个更为复杂的问题,我们以后找时间再来分析吧。