课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
软件程序系统运维可以说是在软件上线之后必须定期执行的一个工作任务。今天,我们就通过案例分析来了解一下,程序运维都有哪些风险。希望通过对本文的阅读,大家对运维有一个更加全面的认识。
一是操作不一致的风险
操作内容受操作者自身经验、知识深度、对服务的了解程度、稳定性意识而不同,从而制定出完全不同的变更方案,并有不同的变更流程。
解决方案有二,一是制定流程规范,变更之后要有变更方案评审。百度的实践是一周完成全部变更计划,然后再审核、发单、检查;二是制定标准SOP手册,形成指导日常工作的规范,所有的人参照标准的SOP进行线上变更,从而保证操作内容一致性。
二是操作不准确的风险
变更方案和具体实际执行不一致,特别是手动的误操作的风险。这个解决方案就是运维基本的能力-自动化。而SOP进行自动化的时候,需要有先后顺序,主要根据如下标准选择:复杂程度,风险程度,操作频次。
三是流程退化的风险
流程存在退化情况,刚开始遵守流程,随着时间的推移,例外越来越多;另外自动化的脚本或系统,维护成本较高,其很难实现全流程(如变更自动检查)。于是可以通过软件工程的方式解决问题–平台化。平台化的要点是:使用API关联相关系统,提供稳定有效的服务,对基础流程进行标准化,保证流程可执行。
以UItron为例,它解决了机器管理的三个问题。一个问题是怎么做机器环境初始化和怎么保证线上所有机器一致性。二个是故障机器自动维修,自动恢复服务。三个问题是如何在不停服务维修磁盘故障。Ultron中每一台机器都有一个状态机,依赖百度的标准化服务,当机器发生硬件故障时进行服务迁移,维修成功后又加入到资源池,保证容量的稳定性。
四是检查不充分的风险
解决方法是检查机制,分为变更后的检查和变更前的检查。变更后的检查主要是通过联动SLA系统、监控系统、冒烟平台等三方系统,进行变更效果检查。
而变更前的检查,则重点关注操作风险的防御,在操作尚未实施的时候就将危险操作拦截住,从而保证线上服务的稳定性。
作者:孙春鹭
节选:infoq
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。