谈起自动化运维,现在已经成为运维工作最热门的词语,关于运维自动化本人早在2012年就已经接触了BMC的ITSM系统,将ITIL运维管理体系和自动化运维工具的有效的结合大幅度的提高了运维工作效率。下图为HP提的统一运维自动化理念和运维手册,从目前企业基础架构层来看,运维人员无关乎关心的如下几个方面的自动化。
关于自动化运维的实践×××_第1张图片

要了解运维自动化在企业当中应用场景和是否真正能够解决运维团队工作的问题。那我们则需要站到企业运维人员的角度去考虑问题。那么我首先要知道一个企业或者运维团队在规划运维的时候所需要考虑的问题及面临的挑战。
关于自动化运维的实践×××_第2张图片
那么我们针对运维决策着的问题和目标逐个展开,因为产品的本质是为了解决用户问题,帮助用户完成自己内心预期的目标。

我们首先来看下传统运维和自动化运维的比较:
关于自动化运维的实践×××_第3张图片
我们从运维发展的过程来看,首先是传统运维,主要靠手工操作。比如上线一台服务器,登陆服务器按照操作文档一步一步操作,更高级一点,把配置命令写到脚本里,运行一个或多个脚本完成配置。
有什么缺点呢?首先,人每天重复这样的工作,很累,又没有体现价值,交付效率低,疲劳时还容易出错,忘记某些配置。
使用脚本呢,容易相同功能重复开发,很多脚本不专门记录日志,查找历史操作比较困难。使用脚本进行运维操作,发生了故障,由于没有统一的运维操作日志,无法及时了解谁做了什么。
关于自动化运维的实践×××_第4张图片
随着时间的发展,运维发展到更高级的 DevOps 时代,我们也正处于这个时代。这个时代有一个明显的特征,就是各种各样开源工具的使用,同时自己会开发很多工具。工具带来了效率的提升,大大加速了运维自动化的进程。
关于自动化运维的实践×××_第5张图片
那么这就需要一个统一的自动化运维平台,在一个平台内将运维工作的自动化工作完成,我们降云产品所谓的自动化模块顶多是网络自动化的一个分支,随后还请看我分享的BBNA网络自动化的PPT详情。 降云只是完成了工单流程的自动化,还有策略下发的自动化,那么什么是运维环境的自动化,那么我们就开始详细说明,本章主要讲述网络自动化。
关于网络自动化主要围绕三个关键点:变更、配置、合规管理
关键挑战:

设备与配置无法可视化
大批量的变更耗时长
合规&修正复杂
网络及其复杂程度增长快,难以做到有效管理
网络自动化产品的目标:

设备、配置、变更实时可视化
策略执行、合规报表、漏洞警告
减少错误、宕机事件、审计失败
单一平台支持多设备厂商
提高生产力,降低风险与成本。

针对上述产品要求落实到自动化的功能对照如下:
配置管理
配置采集:自动采集设备的软硬件信息,比如型号、板卡、Flash、序列号、软件版本、路由表、ACL等
配置备份:定期或触发式备份设备的running和startup配置文件,并保存所有历史
配置比对:对任意的配置文件进行比对,并醒目地标注差异部分
配置检索:根据各种条件搜索当前或历史配置
配置检查
配置基线:定义受信任的配置作为配置基线,自动跟踪当前配置与基线之间的差异
日常检查:根据规则检查配置是否符合一定的要求或规范,并自动通知管理员;内置大量开箱即用的规则,用户也可以自定义规则
合规检查:内置PCI、ITIL等合规检查报表
运维面板:将所有检查出来的问题通过运维面板进行集中展现
配置变更
自动生成变更脚本:对于检查有问题的配置可自动生成变更脚本进行修复
批量并发执行作业:将以前手工执行的作业自动化,大批量并发在多台设备设备上执行
配置恢复或回滚:不需要重启设备实现对任意配置文件的恢复或回滚
ACL安全切换:自动生成ACL的切换步骤,确保安全无风险切换
配置模板:可定义多厂商的配置模板,可引用变量
软件管理
软件介质库:自动收集所有的设备软件,并集中保存和管理
软件版本检查:自动检查软件版本是否符合规范要求
软件升级:批量更新软件版本
安全管理
操作审计:自动记录用户的命令以及命令输出
分辖域管理:不同用户可以分配不同的设备管辖范围
分权管理:不同用户可以指定不同的权限
工作流审批:可以快速建立工作流,用户的操作必须经过审批才能执行
报表
配置差异报表
设备库存报表
变更统计报表
标准合规报表
合规趋势分析报表
关于自动化运维的实践×××_第6张图片
该图为BMC的BBNA系统设计架构图,降云为内网安全策略管理平台,网络安全设备及网络设备的自动化运维,安全策略的变更只是其中的一个范畴,降云产品的目前来看在自动化运维提到的亮点就是,安全策略的自动化下发,并且能够自动寻路。但是从目前寻路的现状来看,寻路的稳定性强依赖于网络的健壮性(即三层路由信息,二层及透明部署则不见得准确性有所保障)。

结合以往工作经验有了以下想法:

在BMC的ITSM系统中,其实不管是哪家的统一自动化运维平台,都是依赖CMDB库,资产之间的CI关系完成变更的可视化,在大型企业的运维管理工作大多数依赖于资产管理,那么如果资产管理形成了CI之间的管理,例如核心交换机精确到板卡上的光模块的级联设备(需要人工干预),当我们发起变更请求时(安全策略开通)那么在变更视图下,就可以看到与该策略的干系的所有设备,可以根据源IP地址所在的地址和目的IP所在的地址确定数据流在CI视图下的路径。然后逐个匹配路径上的设备的安全策略,进行开通。并且记录变更状态。

个人总结:

目前各个公司运维团队都在开发适应自己现有场景的自动化工具,可以高效率的替代了许多重复性工作,例如策略开通,端口开放,虚拟机初始化配置等等。但是自动化高效运维一定是建立在标准化的基础之上,所以企业在信息化建设过程中,一定要做到统筹规划,业务方、运维方、用户方共同计划,提取共性部分方可在此基础上建立标准化,对于多种产品异构的环境,还需建立标准的适配库,提取多种设备特征方可为以后的自动化打下牢固基础。再建立自动化平台时,架构、使用语言、并发承载能力、多场景适应性都是考虑的范畴之内,所以高效的自动化运维平台,一定是持续优化持续改进的过程。