其实大家更多的关心的都是,看完作者的文章能学到什么,可以做什么东西出来,或者说目前正遇到一个实际的需求,需要点一下相关的技能树,那么我这里就整体介绍一下大家能从我这里学到什么。
路径的选择
路径的规划
那么对于自动化运维来说肯定首推的编程语言就是Python,不管是从Python的整个生态的丰富程度以及上手难度来讲,都是我们尝试自动化运维的最佳语言。但网上对于Python语言的教程一抓一大把,我为什么还要在这里去讲解呢?这其实等同于另一个问题:刚接触编程的人是否能通过看类似的教程快速上手Python?,或者通俗易懂的讲:是不是能看得懂?
大部分从事运维工作的朋友可能都没有编程经验,也没有系统的学习过计算机底层原理,所以对于标准式的教程就会感觉,好像会了,但又没有全会;好像会了,但又不会用,所以我自己作为计算机专业毕业的程序员,根据自己的学习方法再加上身边运维朋友们的学习经历,通过一些生动的例子和实际的场景来让大家快速的上手Python这门语言,并且能直接运用于实际工作中。
【自动化运维新手村】
新手村的内容主要是为大家搭建一个有页面的简易CMDB,这也符合很多运维朋友的实际需求场景,比如想要做一个小功能,再有一个简单页面可以供其他人点击操作。除此之外也会对其中涉及到的部分知识点进行详细的深入挖掘,呈现在番外篇中,让对其感兴趣的读者朋友去更多的了解。
-
Python基本数据结构和操作
将CMDB的增删改查与Python数据结构相结合,将枯燥的基础知识进行深入浅出的讲解
- 番外:数据结构的详解
- 番外:字符串的详解
- 番外:数组的详解
- 番外:字典的详解
- 面试番外:算法
-
Python函数与对象
将如何构建CMDB的函数与对象逐步拆解
-
Flask Web框架
将对CMDB的操作与Web框架相结合,通过页面的方式对CMDB进行操作
- 番外:基本html和css讲解
- 面试番外:计算机网络
-
MySQL数据库
将CMDB存储到数据库中,对其进行的增删改查从对文件读写转移到对数据库进行操作
-
Linux部署应用
将应用部署在Linux系统上稳定的运行
【自动化运维初级村】
其实初级村的内容顺序的设计和新手村是类似的,最终也是会做一个带有前端页面的应用,但这一部分所运用的Python知识就会稍微深入,所以建议已经对Python有一定了解的朋友,可以跳过新手村直接看初级村的内容,因为初级村会是更多运维朋友们经常遇到的需求场景,也是做自动化运必须要走的路。
-
paramiko和netmiko
两者的使用方式及优劣
-
Python 正则解析
将通过SSH收集回来的各种信息进行正则解析
-
Python snmp
如何使用Python调用SNMP采集指令,并讲解OID使用方式
-
NetConf
如何通过NetConf对网络设备进行操作
-
Crontab并回调CMDB
如何设置定时执行SSH任务进行定期巡检,并更新回写CMDB
-
Flask Web框架
将SSH和NetConf与Web框架相结合,通过API方式或前端调用其执行
【自动化运维中级村】
中级村与初级村最大的不同就是,会从简单需求应用的完成,转变为更为复杂架构的设计与实现,以及能够支撑更大型运维的场景。
-
Celery任务队列
如何使用任务队列异步处理大量的SSH或NetConf执行操作
- 番外:Redis数据库
- 番外:RabbitMQ中间件
-
Rsyslog日志采集
通过Rsyslog收集设备日志并存储进行展示和查询。
-
Mysql性能优化
支持更大数据量的存储和查询,进行数据库的优化,分库和分表
-
前后端分离
由于系统功能的丰富,由原先的前后端不分离的系统,拆分为前后端分离的应用。
-
Vue前端讲解
使用Vue作为系统的前端框架,讲解Vue的实际上手操作和更多前端的知识。
【自动化运维高级村】
如果想要做一个完整的自动化运维系统,就必然需要有相应完善的自动化运维的理念和方法论,所以高级村会设计到更多关于自动化运维的理念介绍,以及更为复杂和适应更大型企业的自动化运维系统。
路径的总结
上述的路径梳理是一个目前我能给到大家的最为系统的自动化运维方面的实践,在更新的过程中,我可能会根据读者的需要或者平时工作中的思考总结对内容进行更新迭代,所以说路径并不是固定的,它只是一个学习的方向,并且学习的过程必然是会有阻碍和困难的,希望大家都能有坚定的决心克服一个个的难点,当然也会提供给大家学习交流的群组,供大家互相探讨,互相进步,也欢迎大家有什么疑问都找我咨询。最后期待大家都能拿到属于自己的结果。
|