2019独角兽企业重金招聘Python工程师标准>>>
自动化运维
在没有建设运维平台之前,一个新业务上线,需要做很多操作,例如DNS变更、LVS变更、OS初始化、自动化测试、持续部署、持续反馈、监控、业务调用关系配置等等。现在新业务上线只需要简单的配置,剩余的工作由平台协调自动完成上线。使用自动化运维平台后用户满意度从33%上升到95%,同时期IT费用营收占比从4%下降到2.4%。
企业自动化运维总体规划图:
自动化运维平台的建设以ITIL标准为依据,按照先底层后高层的原则先建设服务工具区域的各个运维子系统,各个运维子系统通过API的方式对上层提供服务,最后不同的业务平台去调用这些服务接口即可,运维平台的各个层面建设要全面符合管理制度的要求。
实现标准化的第一步是物理基础设施的标准化,例如,识别物理对像服务器、交换机、机柜等硬件;识别这些物理对像的属性,服务器的序列号、ip地址、厂商等信息;识别这些对像之间的关系,服务器所在的机柜、接入哪个交换机的哪个接口了等信息
服务器物理基础设施的标准化如下图(其它设备的标准化以此类推):
第二步是应用的标准化,应用服务、中间件,数据库等;例如,数据库的表、视图、存储过程的标准化,表的字段名、值,索引等,表和视图之间的关联关系等。
第三步是流程标准化,如备份、软件升级、杀毒,新业务上线等流程的标准化,下图是现在的运维流程:
自动化运维是基于流程化的框架,将事件与IT流程相关联,一旦被监控系统发现性能超标,超过预先配置的阀值或宕机,就会触发相关事件以及事先定义好的流程,可自动启动故障响应和恢复机制。自动化工作平台还可帮助运维人员完成日常的重复性工作,提高运维效率,下图是实现自动化运维的流程图:
运维的自动化能够预测故障、在故障发生前能够报警,让运维人员把故障消除在发生前,将所产生损失减到最低。由过去的手工执行转为自动化操作,从而减少乃至消除运维中的延迟,实现“零延时”的运维。
Puppet简介
Puppet是一个开源的软件自动化配置和部署工具,它使用简单且功能强大,很多大型IT公司均在使用puppet对集群中的软件进行管理和部署。
Puppet 作为另一种版本管理器,Puppet Enterprise专门管理基础设施即代码(IAC),在这种类型的IT基础设施配置过程中,系统用代码而不是脚本流程来自动构建、管理和配置。由于它是代码,整个过程易于重复。Puppet有助于更容易控制版本、自动化测试和持续交付,可以更快速地响应问题或错误。
相关链接:https://puppet.com
优缺点分析:优点是Web界面生成处理报表、资源清单、实时节点管理,push命令可即刻触发变更,缺点是相对其他工具较复杂、需学习Puppet的DSL或Ruby,安装过程缺少错误校验和生成错误报表。
链接 :
自动化运维工具——puppet详解(一) : https://www.cnblogs.com/keerya/p/8040071.html
自动化运维工具——puppet详解(二) : https://www.cnblogs.com/keerya/p/8087675.html
puppet的facter使用几例 : http://blog.51cto.com/caiguangguang/1355027
puppet recurse 导致的性能问题一例 荐 : http://blog.51cto.com/caiguangguang/1355020
puppet结构图一例 : http://blog.51cto.com/caiguangguang/1354076
Puppet学习之文件管理 : http://blog.chinaunix.net/uid-29179844-id-4083189.html
集中配置管理工具puppet安装使用方法详解 : http://blog.chinaunix.net/uid-29179844-id-4083187.html
编写puppet的第一个模块puppet : http://blog.51cto.com/zhaochj/1662625
puppet的master/aget环境部署及案例展示 : http://blog.51cto.com/zhaochj/1661642
学习puppet不得不掌握的基础知识 : http://blog.51cto.com/zhaochj/1661360
Puppet基于Master/Agent模式实现LNMP平台部署 荐 : http://blog.51cto.com/scholar/1673562
puppet的安装部署实例 : http://blog.51cto.com/liangey/1625016
自动化运维工具Puppet(一) : http://blog.51cto.com/cuchadanfan/1699961
自动化运维工具puppet(二) : http://blog.51cto.com/cuchadanfan/1700070
自动化运维工具puppet(三) : http://blog.51cto.com/cuchadanfan/1700163
自动化运维工具puppet(四) : http://blog.51cto.com/cuchadanfan/1700305
自动化运维工具puppet(五) : http://blog.51cto.com/cuchadanfan/1700538
自动化运维工具puppet(六) : http://blog.51cto.com/cuchadanfan/1700706
puppet自动化部署的FAQ : http://blog.51cto.com/dl528888/1040569
运维自动化之svn+puppet实现监控系统的版本控制与自动部署监控系统 荐 : http://blog.51cto.com/dl528888/1040552