Linux集群和自动化维3.2 选择Python的原因

3.2 选择Python的原因

对于开发工程师而言,Python的优雅和简洁无疑具有最大的吸引力,在Python交互式环境中,执行import this命令,读一读Python之禅,你就会明白Python为什么如此吸引人了。Python社区一直非常有活力,和NodeJS社区软件包的爆炸式增长不同,Python的软件包增长速度一直比较稳定,同时软件包的质量也相对较高。有很多人诟病Python对于空格的要求过于苛刻,但正是基于这个严格的要求,才使得Python在做大型项目时比其他语言更有优势。OpenStack项目的代码总共超过200万行,也证明了这一点。

对于运维工程师而言,Python的最大优势在于,几乎所有的Linux发行版本都内置了Python解释器。Shell虽然功能强大,但缺点很多:语法不够优雅,不支持面向对象、没有第三方库支持,所以在写比较复杂的任务时会很痛苦。用Python替代Shell,完成一些Shell实现不了的复杂任务,对于运维人员、运维工程师来说,是一次解放。

对于DevOps而言,Python的优势在于它是一门强大的“胶水语言”,特别适合应用于Web后端、服务器开发,其优点如下:

Python的代码风格简洁易懂、易于维护,包括语法优势不用写大括号,代码注释风格统一,强调做一个事情只有一种方法等。

有着丰富的Web开源框架,主流的包括Web2py、Web.py、Zope2、Pyramid、Django等。

具有跨平台能力,支持Mac、Linux、Windows等系统。

Python可用库和模块比较多,非常方便。

Python社区非常活跃,在其社区里基本上能够找到一切你所需要的答案。

基于以上原因,我们还有什么理由不选择Python呢?

时间: 2024-10-23 20:45:19

Linux集群和自动化维3.2 选择Python的原因的相关文章

Linux集群和自动化维3.1 Python语言的应用领域

第3章 轻量级自动化运维工具Fabric详解 近期公司的业务系统代码发布频繁,笔者同时在几个项目组里面穿插工作,发现发布和运维的工作都相当机械,加上频率比较高,导致时间的浪费也比较多.很多测试工作,例如通过SSH登录到测试环境,推送代码,然后修改Bug进行测试,这些操作都是非常机械并且具有重复性的.更让人郁闷的是,每次的操作都是相同的,命令基本上都是一样的,并且是在多台机器上执行,很难在本机上以一个脚本来搞定,主要时间都浪费在使用SSH登录和输入命令上了.这个时候需要一个轻量级的自动化运维工具,

Linux集群和自动化维3.5 Python(x,y)介绍

3.5 Python(x,y)介绍 Python(x,y)是Windows下一个免费的科学和工程开发包,提供数学计算.数据分析和可视化展示.从名字 就能看出来这个发行版附带了科学计算方面的很多常用库,另外还有用于桌面软件界面制作的PyQt,以及 进行文档处理.生成EXE文件等的常用库.此外,它还包含了大量的工具,如IDE.制图制表的工具.加强 的互动Shell等.下文提到的很多软件在此发行版中都有附带.在其他方面,Python(x, y)还附带了手工整理 出的所有库的离线文档,每个小版本升级都提

Linux集群和自动化维3.3 Python的版本说明

3.3 Python的版本说明 关于Python的版本需要重点说明下,Python的2.x版本和3.x版本的差异还是很大的,语法上也有很多是完全不一样的,这里以线上环境说明.在线上环境中,暂时还是只用Python 2.7版本,具体原因如下: 由于历史原因,笔者公司业务系统的Python代码是基于Python 2.7版本开发的,如果向Python3.x版本移植的话工作量太大,而且不能保证系统的稳定性,所以暂时不考虑采用Python3.x版本. 现在采用的很多第三方类库都只提供了Python2.x版

Linux集群和自动化维导读

Preface  前言 为什么要写这本书 笔者从事系统运维和网站架构设计的工作已有10多年,现在在一家外企担任云平台架构师.云计算是现在的主流技术,未来也有很好的发展趋势,云计算的流行对于传统的运维知识体系来说,其实也造成了冲击,有很多读者经常向笔者咨询工作中的困惑,比如从事系统运维工作3-5年后就不知道该如何继续学习和规划自己的职业生涯了.因此笔者想通过此书,跟大家分享一下自己的工作经验和心得(包括传统运维和云平台运维工作的区别与对比),以期解决大家在工作中的困惑.本书提供了大量项目实践和线上

Linux集群和自动化维1.3 如何根据服务器应用选购服务器

1.3 如何根据服务器应用选购服务器   无论物理服务器是选用IDC托管还是AWS EC2云主机(以下为了简略说明,将它们统称为服务器),我们都要面临一个问题,那就是选择服务器的硬件配置,选购硬件配置时要根据服务器的应用需求而定.因为只通过一台服务器是无法满足所有的需求,并解决所有的问题的.在设计网站的系统架构之前,应该从以下方面考虑如何选购服务器: 服务器要运行什么应用. 需要支持多少用户访问. 需要多大空间来存储数据. 业务有多重要. 服务器网卡方面的考虑. 安全方面的考虑. 机架安排是否合

Linux集群和自动化维3.7.2 线上环境中的Fabric应用实例

3.7.2 线上环境中的Fabric应用实例 笔者线上的核心业务机器统一都是AWS EC2主机,机器数量较多,每个数据中心都部署了Fabric跳板机(物理拓扑图可参考图3-3),系统为Amazon Linux,内核版本为3.14.34-27.48.amzn1.x86_64,Python版本为Python 2.6.9. 如果公司项目组核心开发人员离职,线上机器就都要更改密钥,由于密钥一般是以组的形式存在的,再加上机器数量繁多,因此单纯通过技术人员手工操作,基本上是一项不可能完成的任务,但若是通过F

Linux集群和自动化维1.4.4 Linux下CPU使用率与机器负载的关系与区别

1.4.4 Linux下CPU使用率与机器负载的关系与区别  笔者的线上竞标业务机器,在业务最繁忙的一段周期内,发现Nginx单机并发活动的连接数超过了2.6万,机器负载(基本上不到4,Nagios监控系统并没有发送报警邮件和短信)和Nginx+Lua服务都是正常的,网卡流量并没有打满,但流量就是怎么也打不进去.经过深入观察,发现这段时期内每台机器的CPU利用率都已经很高了,基本都维持在99%-100%左右,这种情况应该是CPU资源耗尽了,导致不能再继续提供服务,所以这里有必要研究下CPU负载和

Linux集群和自动化维3.8 小结

3.8 小结 Fabric作为Python开发的轻量级运维工具,小块头却有大智慧,熟练掌握其用法能够解决工作中的很多自动 化运维需求,这应该也是它受到运维人员和开发人青睐的原因.大家可以通过在开发环境和线上环境的应用 示例,熟悉掌握相关用法,然后将其应用于自己的系统自动化运维环境.

Linux集群和自动化维3.6 轻量级自动化运维工具Fabric介绍

3.6 轻量级自动化运维工具Fabric介绍 笔者公司目前的数据中心采用的是分布式部署方案,在全球多地都有数据中心.数据中心采用的是AWS EC2机器,在核心的数据中心里,EC2机器的数量比较多,基本上每个数据中心都在运行着几百台AWS EC2机器,而且业务繁忙的时候,会通过AWS AMI(Amazon系统映像)直接上线几十台相同业务的EC2机器,它们的机器类型.系统应用和配置文件基本上都是一模一样的,很多时候需要修改相同的配置文件和执行相同的操作,这个时候为了避免重复性的劳动就需要用到自动化运