码迷,mamicode.com
首页 > 编程语言 > 详细

Python在自动化运维中的应用

时间:2015-07-03 00:27:23      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:python   运维自动化   运维开发   

      欢迎加入Reboot运维开发千人群(365534424) 技术交流分享天天有

      我更喜欢用“系统平台管理”来形容“运维”这项工作。注意系统、平台这两个词语。运维听起来是偏执行的一项工作。python在系统管理上的优势在与强大的开发能力和完整的工具链。python的工程开发能力强大,远强于各种shell和perl。易读易写,兼具面向对象和函数式风格,还有不错元编程能力。通过系统化的将各种管理工具结合,对上述的各类工具进行二次开发,形成统一的服务器管理系统。 和python类似的ruby也很适合编写系统管理软件,但是在相关库和工具上,比python差太多。

      比如: 某运维,精通 bash,python,perl,ruby ,在工作中写了数百个单一功能的脚本(任何语言)来进行日常操作,涵盖了监控,部署,网络配置,日志分析,安全检测 等等许许多多的方面,无所不包。但他所作的,只是操作,并没有把系统管理这项工作做好。
再多的脚本,也只是把“操作”这个行为做到极致。写再多的脚本,也不能转化为公司在系统管理上的宝贵资产。

      让系统易于管理,是一个工程。只有像puppet(ruby),saltstack(python) 这样的自动化管理工具,才能完整的描述整个系统,并且让系统管理的方方面面纳入统一的体系,而不是一堆脚本。

     python在服务器管理工具上非常丰富,配置管理(saltstack) 批量执行( fabric, saltstack) 监控(Zenoss, nagios 插件) 虚拟化管理( python-libvirt) 进程管理 (supervisor) 云计算(openstack) ...... 还有大部分系统C库都有python绑定。对于流程确定的事情,最终一定是纳入系统管理的体系,写成程序,成为系统的一部分。而不是无法复用游离与整体的各种脚本。
       随着云计算时代的来临,中小型公司,不需要运维了。大型公司,没有工程开发能力的运维,是没有竞争力的。

本文出自 “Reboot运维开发” 博客,请务必保留此出处http://opsdev.blog.51cto.com/2180875/1670315

Python在自动化运维中的应用

标签:python   运维自动化   运维开发   

原文地址:http://opsdev.blog.51cto.com/2180875/1670315

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!