运维自动化 | 20 条来自学霸的经验总结

社区专家 高效运维 2018-05-09

本文联合作者:王鹏程(运维总监);贾晓辉(云公司负责人);韩晓光(运维负责人)


社区专家总结的运维自动化规律20条



1

初心:运维自动化系统要实用,能够很好支撑业务,而不是仅仅做成纯技术理论产品。


2

好的运维系统架构:可靠稳定,简单实用,贴合业务需求


3

核心架构设计不好:后面等着无限返工,或者直接烂尾停工。


4

设计二八原则:运维系统架构设计不易高大全,功能要精专,模块要解耦,不宜过分设计。


5

不必把运维自动化做到大而全,面面通。不必把运维自动化做到技术极致。贴合业务,做到小而精是个好选择。


6

生命周期原则:自动化运维体系处理的对象是CMDB全生命周期,是一条集采集、监测、管理、控制、处置、舆情一体的全流程闭环系统


7

开发工具:运维人员建议选择python开发运维产品,前端可以用bootstrap,WEB框架可以用django,flask,要想动画酷炫可以选择vue、Grafana,常规数据存到mysql里,性能数据、趋势分析数据可以选择时序数据库,例如infludb,RRDTool等,消息缓存用redis,Kafka,历史数据可以放到hbase里或者mysql里。其他很多优秀软件都可以用。


8

开发进阶:善用如下这些关键词,让你事半功倍,paramiko(ssh网络通信模块)、Celery(分布式任务调度)、epoll(异步多线程)、threading(多线程模块)、queue(队列模块)、twisted(基于事件网络模块) supervisor(非daemon的进程管理)、subprocess(系统交互模块)、urllib2(网络访问),CBV开发模式。


9

什么样的团队更适合开发运维系统:运维自动化系统设计与实现最好选择既懂运维又懂开发的团队,只懂开发的团队或只懂运维的团队都难以开发实用的运维自动化系统。


10

运维系统目标:实施支撑面向业务的运维自动化系统,需要团队既要懂开发又要懂运维,同时还得懂业务。


11