上线后对内、对外问题沟通主要通过运维负责人牵头和发起进行。
对内问题沟通,重点根据问题分类(缺陷或需求)、问题优先级,每天定时组织需求、研发、数据等相关负责人进行问题分析和确认解决时间。
对外问题沟通需要进行分层,对于客户管理层主要通过日例会、周例会方式进行汇报,重点体现在问题的整体收敛进度和后续的解决计划、人员保障方面内容。对于一线人员沟通主要通过QQ群、企业微信群等及时通讯工具,重点体现在对个体问题或群中的消息及时进行响应以及问题处理进行确认等。
问题处理流程主要包括五个关键的环节:问题提出、问题响应、问题转派、问题处理、问题关闭。我们发现很多项目虽然上线成功,但是上线效果不好,追其根本原因之一发现问题并未进行闭环管理,导致上线效果未尽人意,很可惜。并且,上线之初是问题集中爆发的阶段,留给项目组解决问题通常也就一周左右 黄金时间段。通过有效的版本管理和升级流程、问题管理流程来应对集中爆发问题的版本发布及管理,避免出现版本的混乱。问题处理可以采取下面4小步:
查理·芒格说“如果你的工具只有一把锤子,你会认为任何问题都是钉子。”因此,在系统上线初期需要构建项目多维度、多元化的工具,工具箱箱中的工具越多越好,可以在项目管理、版本管理、测试管理、运维管理、系统安全等方面起到很大的帮助。
有效且合理的监控能为项目组在上线运维过程带来极大的帮助,特别是有效且合理的自动化监控,极大的减轻了运维人员的工作量。在这里连续强调了两次“有效且合理”,那什么是有效且合理的监控?
监控系统运行环境的健康度,网络的健康度,各功能模块的进程运行的健康度,业务指标的健康度等。通过对SaaS、PaaS、IaaS 层的自动化监控,向我们及时提供系统健康情况。SaaS层重点监控网络、设备使用率等指标;PaaS重点监控容器CPU、内存使用率,文件系统使用率等指标;IaaS 层重点监控业务进程存活情况、业务指标波动情况等。
从系统各功能模块或者业务逻辑线条的各关键点进行自动化监控点的设置,监控点的内容中需要体现“面-线-点 ”信息,通过由点到线,由线到面的自动化监控,可以捕获到哪个系统的哪个功能模块的哪个点有问题,为我们快速定位问题节省了很多的排查时间。例如:业务监控方面,需要细化监控点,从产品业务粒度、资源配置原子服务粒度、存量资源可用率拆分颗粒度,进行“点”的监控;各产品业务场景涉及的业务工单情况、原子服务配置情况、资源可用率等串起来形成“线”的监控,所有产品业务场景涉及的情况汇总后就形成资源配置“面”的监控。通过一系列有联系的监控点,可以推导出当前系统健康情况,异常点在什么地方,对后续分析定位起到指引作用。
多维度可以精确定位问题点,通过对环境容器内存、CPU使用率,对内部环境-网关-对端网关进行网络互通监控,对进程存活监控、业务工单或访问量波动情况监控,进行多个维度设置监控点。例如,我们的进程监控点和该进程对应功能影响的业务监控点,是互相有关联的,这两个维度的监控,指向的是同一功能当两个监控点同时出现波动时,那系统功能大概率出现问题了。
多途径,很好理解,既要有短信监控、也要有企业微信或钉钉等监控,这样避免其中一种监控途径本身出现问题时,我们无法及时获知监控信息。
项目上线后,运维管理的本质是项目组尽最大的努力通过事前准备、事后预案来保障系统稳定,守住上线取得的来之不易的成果。对于项目交付的生命周期,从项目启动之初的需求管理工作开始,在经过版本研发管理、数据配置管理、接口研发管理、数据迁移管理、测试管理、割接管理阶段后来到了最后一个环节,也就是本文谈到的上线运维管理,其中每个环节执行的质量和进度都是相互依赖、相互影响、相辅相成。
本文最后用纳瓦尔宝典中的一段话作为结尾:“你的脑海中是不是会偶尔出现一首歌曲的旋律,它总是挥之不去?这就是记忆痕迹。其实所有思想的形成莫不是痕迹效应的结果。”希望本篇中的观点、方法如同痕迹效应,能带给参与到项目交付的同学一点帮助、启发或参考。