不会开发的运维,不是好运维;不会运维的开发,不是好开发。
话糙理不糙,这就是DEVOPS的本意。
在上一篇《2019技术系列开篇絮叨》,曾说过我是一名数据库管理员,曾经的职业辉煌已经不在,而现在除了不断的深耕数据库技术栈以外,还在不断的去恶补其他技术栈,目标不是全栈胜是全栈。
可能有人会说,你都工作了这么多年了,还在那搞什么技术栈,怎么不往管理上走;又或者是现在才开始拓展自己的技术栈是不是优点太后知后觉了?
这样的问题,早在两三年前我曾经想过,我把在工作的职业生涯序列简单分为三种,纯技术序列,纯管理序列,以及以技术为依托的技术管理序列,而我选择了最后一种,不为别的,自己擅长的是做技术,爱这盘菜,而管理是随着年龄的增长又不得不经历的。取长补短,相对而言会容易些,通过技术自信来补充管理上的劣势,也能让这段尴尬期平稳的度过。
★ Python是技术栈的重要一环
Python是截至目前为止,世界上最热门的开发语言之一,而且热门趋势还在不断的延伸。现在有太多关于Python的学习用书,教学视频,很容易去上手学习,第三方包很多,拿来导入即用,可谓非常方便。
我们做运维(偏基础)的,是以业务服务为中心,面对的并非客户。如何保障基础环境的高效、稳定运行,是我们夜以继日的责任。所以驱使我们去重复的做巡检、性能分析、日常变更等。在运维几套或者几十套环境时,人工去一遍一遍的做,是可以应付的来的,但随着环境的复杂度提高,环境日益壮大,人力运维成本也成正比例的增加。这无形之中给企业带来了成本压力,以及运维人员的工作量压力。
面对这样的情形,我们只能去改变现状,将工作分门别类,对于重复性、可固化的工作通过脚本来部分替代,运维人员则负责需要思考,随机应变的工作。虽然是比完全人力提高了一定的效率,但还是让运维人员的工作手忙脚乱,效率仍然低下。因此如何去做更智能的运维成为我们渴望的目标。
Python给我们提供了很好的技术支持,通过使用Django框架,可以更容易的实现基础运维工作,结合自己的运维经验,将性能指标,故障趋势分析做到工具内,形成更各符合自身的运维标准。
★ 如何迈出学习Python第一步
工欲善其事必先利其器,学习是一种习惯的养成,包括使用工具,如果工具不当,那么对后期的学习必然也会造成一定的阻碍。
选择Pycharm作为开发工具,工具可以在官网jetbrains下载免费的社区版本,如果想进行远程服务器调试开发,需要专业版才可以。
目前涉及的Python包,以实际需要为主,涉及到操作系统及数据库两方面。下面罗列出目前实战需要的包。
SSH远程连接:paramiko
Oracle数据库连接:cx_Oracle
MySQL数据库连接:PyMySQL
postgresql数据库连接:psycopg2
redis缓存数据库连接:redis
mongodb数据库连接:mongo
★ 我的Python第一个程序Hello Oracle!
通过Pycharm新建一个Python文件,编写如下代码
通过Python Console功能执行结果如下,最后一段即为执行结果。
下一期重点来介绍通过Django Web展示Python代码,从感官上来体验我们写出的Python魔力
