运维支持
随着现代运维体系的不断发展,运维人员和使用的工具也越来越专业,运维理念也在不断的进步。而目标一直都很清晰:提升稳定性,降低成本。提升服务稳定性是所有在线服务提供商的追求,服务问题会直接影响到业务。此外,服务规模很大后,服务器消耗就成了服务成本中不可忽视的一部分。如何降低服务器成本也是现代化运维的研究方向。提升自动化水平是重点的方法,自动化水平的提高带来的益处很多,一方面是每个运维人员能够管理的服务器规模会随之提升,降低了管理成本,另一方面自动化会减少人工操作,减少手工错误的机会。
运维支持从层次来看,从机房建设的基础设施运维,操作系统、DNS服务等的系统级运维,到软件发布、监控的运营运维,覆盖了从物理层到服务质量的所有层次。可以说,从一台服务器都没有到业务能够顺利运行,整个建设过程都属于运维的范畴。
在运维支持时,最重要的是保证服务质量。这一点常常会被参与者所忽视,特别是开发人员。在遇到服务问题时,开发人员更容易想到的是哪里有缺陷,该如何修复。有时,服务问题可以暂时通过重启服务,版本回滚等方式临时修复,这种情况下应立即进行修复,而不是调研问题的根源。等服务恢复后,再调研出现问题的原因,并进行彻底修复。
监控
监控是运维服务中不可缺少的一环。在硬件层面,通过监控能发现硬件故障,及时进行替换,保证不丢失数据,不造成服务宕机。在服务层面,监控信息能帮助了解资源的使用情况,及时对资源进行调整,防止过载造成的服务问题。也可以帮助发现新代码部署的问题,从而终止发布。业务层面的监控还能在第一时间看到业务的健康状况,及时采取业务上的行动。
运营世界级平台时,运维支持和服务监控都是7x24全天候工作。一般会有人员轮流值守,保证服务的稳定运行。值守人员在遇到无法处理的问题时,还会联系开发人员或第三方合作伙伴来深入调查问题,尽快恢复服务。
有的监控还有警报的功能,在过载或者服务不正常时,通过短信、电话、邮件等方式通知到人,进一步采取行动。
除了出现问题的警报,监控还要支持日常数据观测、发现异常。在用户还没感知到时,就开始解决问题。如建模的试验平台的瓶颈在哪里,是网络速度、存储容量、还是计算单元的数量等等。再如,当应用服务部分响应速度变慢时,可以帮助分析具体的瓶颈在哪里,及时做出调整。
高可用与灾备
在数据部分,已经简单介绍过高可用和灾备的概念。根据需求,平台可能也要提供高可用和灾备的能力。
在高可用上,要充分利用各种负载均衡的方案,提高横向扩容的速度,同时要减少扩容时的手工操作以减少人为错误,将扩容过程自动化程度不断提高。另外,需要在监控中发现问题节点,及时将其终止服务,以免用户访问到这个节点出现异常。
灾备用于应付突发情况。平时需要做好演练,才能保证关键时刻能起到作用。灾备的同时,通过跨地域的多点服务也能有效提高不同地方的访问速度,也其称为异地多活。异地多活对数据同步、多版本共存都是很大的挑战。
配置化管理
现代运维开始从自动化脚本管理向配置化管理来演变。配置化管理,是为每个服务创建好脚本和配置,根据负载、升级需求等,按需创建、启动实例。整个过程几乎全自动进行,不需要人工干预。
<