运维自动化 | 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

规范化:设计运维自动化、CMDB系统首先你要做规范化,确定好资源CI,梳理清楚资源关系、组织架构、技术架构和流程规范。


12

处理数据要注意:确定好监控指标,信息采集方式,确保数据采集和变更一致性、正确性。


13

软件工程原则:运维自动化软件系统是软件工程,遵循项目工程规律,不可当做作坊式直接上来就“敲砖”。


14

库表设计:数据库表结构设计关系到你要采集与展示什么数据,并影响你程序逻辑的复杂度。


15

数据库设计:数据库选择影响到你的存储架构、分布式架构和性能问题。


16

工具选择:选择社区活跃、评分高的产品工具,不一定选择最新的。


17

实施方法论:不要轻易重复造轮子,造之前先看看有无业内优秀思路、产品可借鉴的。


18

功能亮点:产品模块间数据打通,流转复用是难点也是成功亮点。


19

运维自动化的安全是把双刃剑:要特别注意安全防护和权限控制,一定要避免一些高危动作,避免执行rm *等,要建立完善的运维安全和审计制度。


20

机遇风险同在:运维自动化是给运维人员带来曙光和契机,但不要寄希望于一套运维自动化系统解放运维人员全部工作。人类有了飞机,但仍离不开火车,人类有了电梯,但仍离不开楼梯,为什么?

想与更多自动化运维专家面对面交流吗?


来 DevOps 国际峰会·北京站-自动化运维专场


来自阿里、京东、华为、招行的四位专家为你解锁更多自动化运维的新技能



大会前瞻视频新鲜出炉⬇️



点击阅读原文,更多精彩

    本站仅按申请收录文章,版权归原作者所有
    如若侵权,请联系本站删除