2011年(5)
分类: 系统运维
2011-03-01 21:27:38
长期以来运营在国内互联网企业得不到应有的重视,我们重点关注的是能够直接带来收益的产品特性和销售,运营嘛就是找几个经验丰富的系统管理员搭建一些开源监控系统发现一些常见问题。然而,国外的很多大公司如akamai、facebook等却已把运营放到了公司首要位置,facebook甚至推行运维驱动开发的模式。
任何一个互联网企业在经历过迅速膨胀期过后,必将进入一个以稳定、高服务质量为核心价值观的平稳发展阶段。运营是该阶段的关键,而监控则是运营的核心支撑。目前腾讯、阿里等各大互联网企业都在努力发展自己的监控系统。
和电信行业类似,对于一个互联网企业来说,运营活动无外乎要解决如下几个问题:
1. 配置管理:组织业务运营所需要的资源和数据,保证服务的基本配置,监控当前的配置和按照具体情况改变配置,设置系统参数,收集并存储各参数,报告与基本配置值的偏差,起动和关闭资源等。
2. 故障管理:业务运营各环节故障的检测、快速定位、隔离故障点并进行修复等。
3. 性能管理:评定提供服务的性能尺度,如响应速率、服务成功率、服务波动、服务能力评估等。
4. 安全管理:保证服务正常运行,信息不被外界窃取和破坏。
5. 计费管理:依据预定的收费标准对用户使用的各种资源计费并开出收费通知。
监控系统是运营支持的基础系统和核心系统。在一个业务运营之初,我们可以没有配置管理系统、没有性能管理系统、没有安全管理系统、没有计费管理系统。这一切都可以靠人工完成,服务也能运营起来。但是,我们不能没有一个监控系统用于检测服务各环节的故障,非监控状态下的服务是不可运营的服务。
一个完善的互联网服务监控系统无时无刻不在监控着业务运营所需的资源、网络、软件服务和服务质量等各方面,拥有最及时最完整的运营时数据。基于这些数据监控系统不仅能够及时定位到运营问题,还能为运营支持的各个活动提供数据支持。
监控系统在运营支撑活动中的关系图示如下:
几乎所有的开源监控系统都只把异常检测和报警作为监控系统的核心定位,与业务和运营的脱节使得这些系统很难融入到一个互联网服务企业中充分发挥监控的功用,甚至成为实现高效运营支撑的壁垒。从对公司运营支撑的角度来看,监控系统仅仅提供异常报警功能是远远不够的,我们更需要的是一个以运营支撑为核心目标的监控系统。参与运营的不同角色对监控系统有着不同的需要,汇总起来我们需要的是具有如下特性的一个监控系统:
1. 一个快速精确的异常报警系统:
快速异常发现是监控系统的核心使命。所有业务上表现出来的异常终究都是由于某个运营环节的异常导致。我们处理一个个报警有可能是一个业务问题的根源,也有可能是导致业务异常的一个潜在风险,及时的将这些问题和风险处理掉是业务正常运营的有力保证。
2. 一个快速问题分析、故障排查的系统:
如果说异常报警和处理是一个离散的点的概念,那么问题分析则是一个系统的面的概念。我们在处理一个个报警的时候,我们不知道该报警将会导致什么问题或已经产生了什么严重后果,而问题分析、故障排查的功能使得我们在发现业务异常时快速定位到问题根源。与报警不同,这是一个至上而下的视角,适用于客服、产品等角色对业务问题进行分析。
3. 一个运营状况反馈系统:
及时异常发现和运营状况数据使得监控系统可以及时的将运营状况反馈给运营控制系统,运营控制系统结合监控系统的反馈信息作实时运营配置调整。
4. 一个产品运营状况的数据仓库
监控系统拥有产品的运营数据,对这些数据进行挖掘和利用可以使得我们对我们的产品有更为深刻和精准的认识。
5. 一个公司运营决策的支撑系统
监控系统庞大的运营数据集合,反映的产品状况无疑将成为我们执行产品决策的重要参考因素。