题主提出这个问题,实际上有些跑题了
人们对自动化运维最大的反感就是“不知道执行结果如何”, 所以,一个自动化工具或一个自动化运维动作流程在设计的时候,就必须能够构成一个“闭环”。 例如你启动了一个系统服务,那么你的自动化动作流程的结尾就要检查该服务是否成功启动。 这个检查方法有很多,实际上,人肉运维的时候,当发起一个动作后,如何检查执行结果的呢? 人怎么检查,机器就怎么检查就OK了。
当然,有些人工的检查手段机器无法实现,那么就有2个方向:一个是放弃这个运维动作,一个是寻找到机器可以实现的检查手段。
总之,自动化运维是要实现闭环操作的。 一个大的流程是一个大闭环,在大闭环中,每一个小动作都是一个小闭环。
呵呵,说的挺玄,实际上没那么复杂, 你在编写程序的时候,垃圾代码仅仅会做个操作,但是优秀的代码会尝试捕捉任何异常并进行对应的处理。自动化运维的编程也是如此。
收起应用部署是否成功的判断需要分两个层面来判断,一是程序部署后是否正常启动,可以在部署任务后增加一些技术性检查,如服务进程、服务端口、日志信息等的检验检查作为自动化部署的一个必须任务。还有一项是业务服务运行是否正常,可以在部署后增加一些业务模拟交易进行自动化验证,也可以结合实际交易的监控判断,还有一些需要业务配合进行人工验证,这是目前比较难解决的问题。如果具备条件可以与业务协商建立一些模拟账户进行模拟验证,涉及应用系统开发。
收起