导语:金融行业作为国家命脉行业,对其业务运维管理方式和平台的侧重型都有特殊的考量。那么,在为金融机构做DevOps方案时,该如何帮助这些机构管理私有云IaaS层资源呢?
作者丨李光:现任职于腾讯社交网络运营部/织云产品团队,负责织云监控告警平台规划与运维新产品开发工作,具有多年业务运维、运营规划经验。
前言
金融行业的业务对于大多数运维同学来说,可能是即熟悉又陌生,熟悉的是在我们每天的生活中都要应用它们的服务,例如 日常购物支付、理财与投资等等,陌生的是金融行业的业务运维管理方式与业务运维平台的侧重性,特别是现在如火如荼的DevOps在金融行业如何演进落地等。
金融行业是国家命脉行业,受限于银监会、证监会等监管机构的安全合规的要求与商业竞争的考虑,一般不会把核心业务搬上公有云,而更偏向自行搭建或者采用第三方厂商的成熟方案 (例如腾讯金融云),因此在将来很长的一段时间内,银行与券商等机构还是主要采用私有云与混合云的管理方案。
织云(Cloud Operations Console)是腾讯的一站式企业级运维管理平台,本文优先讨论的是织云如何帮助现有金融云客户(银行与券商)管理私有云IaaS层资源,对于织云如何管理上层业务、中间件、云组件等因篇幅关系暂不涉及,后续会逐步展开讨论。
IaaS
IaaS、PaaS、SaaS这三个概念想必大家是耳熟能详了,其实就是云计算的三个分层,Infrastructure-as-a-Service(IaaS)基础设施即服务,Platform-as-a-Service(PaaS)平台即服务,Software-as-a-Service(SaaS)软件即服务。
IaaS层其实就是一些显性可见的资源,如 服务器(物理或者虚拟)、网络设备与存储设备等。IaaS层也是最基础的就类似于建筑的地基与水电等基础设施,上层的服务都是依赖于IaaS层,假定IaaS层管理不好,那么PaaS与SaaS的高效与可控管理其实也是非常难了,甚至可以说空谈了。
IaaS层的不稳定会直接导致企业对外的服务质量大打折扣。我自己在负责手机QQ业务的时候,名下有4k多的机器,如果没有一套高效与可度量的管理平台,光凭人肉去管理4K多的机器,那基本和噩梦差不多了。
这里出一个问题,现在形态多样的金融云、医疗云、政务云、游戏云与各个银行与券商搭建的私有云,这里有什么共同点与不同点呢?先抛砖引玉的给出答案。
共同点:
对于形态各异的云来说,IaaS层的资源组成都是基本相同的,基本就是IDC、服务器、网络设备、网络专线与存储设备等显性资源组成的。
不同点:
1. 不同行业的云所承载的的业务形态、权限、架构、逻辑与管理流程等等差异。
2. 在公有云环境中,用户所能接触到的虚拟资源、云主机、云数据库等,公有云都会提供配套的自动化管理系统与监控系统。从控制权这个维度来说,公有云的用户对资源控制力度相对私有云较弱,因为都依赖于云服务商所提供的能力,而且很多资源管控能力是不会对用户开放的。
3. 而在私有云环境中,所有的基础架构设施均有用户自行管理,同样在对资源控制权这个维度来说用户对于资源控制力度较强,对资源的管控力度完全由用户的需要而定了。
织云IaaS层管理模型
综上所述IaaS层也是由各个资源组合而成,每个独立的资源,我们都可以看成是一个对象,那么管理也就是对这些不同的对象所展开的。那么针对这些不同的对象,织云是如何抽象出通用的IaaS层的对象管理模型呢?
对象类别管理:某台服务器、某台网络设备与网络专线,每个对象都有自己的固有描述信息,例如服务器,型号、厂商、CPU、内存等等
对象数量管理(动态变化):成套基础设施用了多少服务器?多少网络设备(自发现与静态录入)等
对象关系(关联)的管理:例如某台服务器关联哪个机架、那台交换机、那个集群、哪个负责人等,一般来说关联是可递进的。
对象动作的管理:例如服务器就是重启、部署OS、上架、迁移等。
对象状态的管理:待运营、运营中、故障中、待下线与待加电等
对象的分析(质量、性能、容量):例如某台服务的当前资源使用率、网络设备某个端口的流量、网络专线的丢包率等一系列具化的指标。
对象的监控与告警:例如服务器down了、网络设备的运行log异常了等要能监控到(视图展示)并且及时的告警出来。
基于对这些维度的管理,我们也基本可以勾勒出,管理IaaS层需要那些功能模块的支持,下面将会依次为大家介绍。
CMDB
对于现网环境中众多的管理对象,织云的理念是先配置在操作,反之就无法行之有效的的去管理与度量。在云时代,CMDB不仅仅是单一的资产管理也不只是管理Iaas层,而应该是一个数据可维护、动态流转、供外围关联系统所使用的”数据中心”(这里的数据动态流转是双向的),且本身具有数据生产与消费的双重属性。如上文所述对象的多个维度都可以纳入到CMDB中来管理,如对象的类别、数量、关系、状态等
在现在的织云CMDB中,纳管了多种IaaS层资源,例如服务器、网络设备、网络专线等对象,并且通过与监控平台实时联动也保障了每个对象的服务质量的可控与可度量。
下面两张是客户环境示例图(服务器与网络设备),我们通过CMDB将客户的IaaS层资源统一纳管,同样每个不同的对象都具有自己的属性与动作。
IaaS的层资源纳管到CMDB只是开始,后续还需要对每个对象有完善的监控、告警、数据分析等,这样才能对于每个纳管对象做到精细化运营,织云的理念是先纳管在监控。
监控
监控与告警是每个运维小伙伴每天都会用到的平台能力,这里先抛出一个问题,对于一个好的监控体系要做到那几点?
全:监控对象的广度,监控点的覆盖率
快:监控的性能,数据流的处理能力
准:智能分析与收敛、监控对象收拢
在对于IaaS层资源的监控上,织云的监控体系会覆盖到客户IaaS层资源的全对象,例如服务器、网络设备、专线、网络出口与云组件等等。对于每个监控对象来说,从数据的维度看我们要监控到对象的状态数据、负载(性能)数据、服务质量数据这三个维度。
用网络设备举例来说,我们现在一个证券行业的客户网络设备有150台左右(交换机、防火墙与路由器),对于每台网络设备来说,织云的监控的粒度是细化到:
网络设备的物理端口的监控与告警
网络设备的逻辑端口(物理端口的逻辑组合)的监控与告警
网络设备的syslog(设备运行日志)的监控与告警
对于syslog这部分,因为各个厂商的日志并没有统一标准,织云在这里是会允许用户根据自己的设备厂商设定待匹配的关键字来监控与告警。下图为客户的某台交换机的部分指标展示
网络流量分析
对于私有云IaaS层运维同学来说,除了常态的单个设备的监控数据,也会需要的是对于网络专线、网络出口等资源的流量分析,相信运维小伙伴们多多少少都会遇到以下的场景:
这条专线当前利用率多少?
在已经使用的流量中,具体是那个业务或者那个ip使用了多少带宽资源?
这些所消耗的带宽是基于什么协议与方向?
专线的丢包率与时延是怎么样的?
等等高频使用场景。织云基于厂商的Xflow协议可以捕获到网络内的相关会话信息(ip+端口维度),并对于每个会话进行量化的分析与展示。为什么在这里说是Xflow呢?是因为各个主流厂商例如CISCO与H3C的flow协议就不相同,织云目前可以支持主流厂商的不同flow协议。
总结
为了更好的运维管理我们设计了这套平台,平台里面非常重要的一个设计理念点:“简”,化繁为简。做运维平台产品要简单,解决这么复杂的用户环境、场景的情况下,其实“简”是非常重要的。我们根据多年海量业务(QQ与Qzone等)的DevOps实践经验,减少运维管理对象、标准化运维模型与简化运维操作。
> 欢迎关注【腾讯织云】公众号,了解最新技术资讯。
网友评论