参考读物 – 华章课堂

  本书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵、深和实践角度探讨Python在运维领域应用的著作;一方面本书的作者是中国运维领域的“偶像级”人物,本书是他在天涯社区和腾讯近10年工作经验的结晶。因为作者实战经验丰富,所以能高屋建瓴、直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息、服务、数据报表、系统安全等基础模块,而且深入了自动化操作、系统管理、配置管理、集群管理及大数据应用等高级功能。最重要的是,完整重现了4个来自实际生产的不同功能运维平台的综合案例,展示了完整的平台架构及开发流程。

  全书一共16章:基础篇(1-4章)详细介绍了系统基础信息、业务服务、定制业务质量报表、系统安全等基础和常用模块;高级篇(5-12章)深入了批量运维管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,统一网络控制器Func等高级功能,涵盖自动化操作、系统管理、配置管理、集群管理及大数据应用等主题;案例篇(13-16章)详细介绍了4个来自不同平台的运维案例,如何从零开始打造一个B/S自动化运维平台、如何打造Linux系统安全审计功能、如何构建分布式质量平台、如何构建桌面版C/S自动化运维平台,这4个案例均来自实际生产。

  本书在中国运维领域将有“划时代”的重要意义:一方面,这是国内第一本从纵、深和实践角度探讨Python在运维领域应用的著作;另一方面本书的作者是中国运维领域的“偶像级”人物,本书是他在天涯社区和腾讯近10年工作经验的结晶。因为作者实战经验丰富,所以能高屋建瓴、直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息、服务、数据报表、系统安全等基础模块,而且深入了自动化操作、系统管理、配置管理、集群管理及大数据应用等高级功能。最重要的是,完整重现了4个来自实际生产的不同功能运维平台的综合案例,展示了完整的平台架构及开发流程。

  全书一共16章:基础篇(第1~4章)详细介绍了系统基础信息、业务服务、定制业务质量报表、系统安全等基础和常用模块;高级篇(第5~12章)深入了批量运维管理器pexpect、paramiko、Fabric,集中化管理平台Ansible、Saltstack,统一网络控制器Func等高级功能,涵盖自动化操作、系统管理、配置管理、集群管理及大数据应用等主题;案例篇(第13~16章)详细介绍了4个来自不同平台的运维案例,如何从零开始打造一个B/S自动化运维平台、如何打造Linux系统安全审计功能、如何构建分布式质量平台、如何构建桌面版C/S自动化运维平台,这4个案例均来自实际生产。

  随着移动互联网的普及,拥有超大用户规模的应用和服务越来越多,服务器运维所面临的挑战也随之越来越大。当规模增长到一定程度时,手动管理的方式自然无法应对,于是自动化运维成为解决问题的银弹。在自动化运维方面,已经有大量优秀的开源工具和最佳实践,Python凭借其灵活性,在自动化运维方面具有先天优势,已经被广泛使用,而且基于Python编写了很多自动化的运维工具,这些工具能大大提高运维的效率,服务器集群的规模越大,优势越明显。即便不使用工具,很多运维工作也能通过几行简单的Python语句来实现自动化操作,简单、方便。

  本书作者先后在国内著名的天涯社区和腾讯从事运维工作近10年,不仅是公司内部的技术核心人物之一,而且在中国整个运维技术圈子内都有很高的知名度,被视为偶像级运维专家。他对Python在运维领域的应用有非常深入的研究,而且在腾讯的生产中得到了应用和实践,无论是知识还是经验,都非常宝贵。

  刘天斯 中国运维领域的偶像级人物,从事系统运维工作近10年。现就职于腾讯,担任高级系统工程师,负责腾讯CDN的运维工作;曾就职于天涯社区,担任架构师兼高级系统工程师。热衷开源技术的研究,包括系统架构、运维开发、负载均衡、缓存技术、数据库、分布式存储及云计算等领域,擅长大规模集群的运维工作。崇尚“技术让工作变得更简单”的,开发并着“天涯LVS管理系统”、“天涯服务器管理系统”、“在线图片处理平台”、“Varnish缓存推送平台”等7个开源项目。对Python如何在运维中发挥作用进行了深入研究,而且在腾讯内部开展了大量实践,基于Python开发了集群自动化操作工具yorauto,在腾讯各大事业群广泛使用,同时入选公司精品推荐组件。

  曾多次荣获新浪技术、51CTO和ITPUB等社区评选的“博客专家”称号。个人运维着博客“运维进行时”(),从2007年至今,笔耕不辍,分享自己在运维领域的经验和智慧。拥有发明专利4项。

  随着信息时代的迅速发展,尤其是互联网日益融入大活,作为这一切背后的IT服务支撑,运维角色的作用越来越大,传统的人工运维方式已经无法满足业务的发展需求,需要从流程化、标准化、自动化去构建运维体系,其中流程化与标准化是自动化的前提条件,自动化的最终目的是提高工作效率、人力资源、节约运营成本、提升业务服务质量等。我们该如何达成这个目标呢?运维自动化工具的建设是最重要的途径,具体包括、部署变更、安全保障、故障处理、运营数据报表等。本书介绍如何使用Python语言来实现这些功能点,以及Python在我们的自动化运维之上发挥作用,解决了哪些运维问题等。

  为什么是Python?Python是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年年底发明,具有简单易学、开发效率高、运行速度快、跨平台等特点,尤其是具有大量第三方模块的支持,其中不乏优秀的运维相关组件,例如Saltstack、Ansible、Func、Fabric等。大部分运维人员为非专业开发人士,对他们而言,选择一门上手快、技术门槛低的开发语言非常重要。由于Python具有脚本语言的特点,学习资源多,社区非常活跃,且在Linux平台默认已安装等优势。Python已经是当今运维领域最流行程的开发语言之一。

  2003年毕业后,我的第一份工作是当PHP程序员,人力紧张时还要兼顾美工的工作。时常回想,其实也只有在小公司才能出“十八般武艺”。在“”的岁月,大部分公司都闭门不招聘,一个毕业生能有这样的机会锻炼也显得尤为珍贵。工作中一次偶然的机会看到导师诗成兄在黑漆漆的界面中输入不同指令,第一感觉非常震撼,很酷,联想到《黑客帝国》电影中的画面,与之前接触到的Windows系统完全不一样,后来才晓得是Redhat 9(红帽9)。此后很长的一段时间里,整个人完全沉醉在Linux的世界里,处于一种的状态,那时我还是一个程序员。

  到了2005年10月,看到隔壁公司招聘一名Linux系统工程师,抱着试一试的心态去面试,结果出乎意料,我被录用了,这样我就找到了第二个东家—天涯社区。人生的第一个转折点在此酝酿,由于赶上了公司快速发展的阶段,接触到了很多开源技术,包括LVS、Squid、Haproxy、MongoDB、MySQL、Cfengine等,并且不断在生产中应用所学的技术,取得了非常不错的效果,重点业务的高可用持续保持在99.99%。期间新的问题也陆续出现,包括如何更好整合各类开源组件,发挥其最大效能,以及如何高效运营。不可否认,具有开发背景的运维人员有着先天优势,可以在不同角色之间进行思考,扩大视野。期间我参与了推动大量标准化、规范化的建设,以此为前提,开发了“SDR1.0-Linux主机集中管理”、“天涯LVS管理系统”、“天涯服务器管理系统(C/S与B/S版)”、“服务器机柜模拟图平台”、“Varnish缓存推送平台V1.0”等平台,这些平台在很大程度上改变了运维人员手工作坊式的工作模式。在人力的同时,我看到国内其他公司的同仁也在做同样的事情,突然间有一个想法,就是开源。此时已经是2009年,这个想法也得到系统部经理小军认可,同年12月陆续在台托管,让业界更深入了解天涯社区的技术架构。凭着这些作品及分享的技术文章,我的博客“运维进行时”()荣获了“2010年度十大杰出IT博客”的殊荣。我还先后参与了51CTO、IT168、CU等门户网站以架构、运维为主题的专访,在运维圈得到越来越多同仁的认同。

  再谈谈如何与Python结缘。接触Python是从《简明Python教程》开始,由于我有Perl与PHP的基础,学习Python没有太大压力。事实上,Python的简洁、容易上手以及大量第三方模块等特点,深深吸引了我,让我第二次沉醉于知识的海洋。我很快深入学习了Func、Django框架、SQLAlchemy、BeautifulSoup、Pys60、wxPython、Pygame、wmi等经典模块,同时将所学知识应用到运维体系中,解决在工作中碰到的问题。例如,开发的“多节点应用延时平台”解决了多运营商网络下的业务服务质量问题;开发的“Varnish&Squid缓存推送平台”解决了快速刷新缓存对象的问题。再例如,删除帖子的时效性要求非常高,需要在后台触发删除后立即生效,与缓存推送平台对接后很好地解决了这一问题;天涯服务器管理系统(C/S、B/S、移动版)实现自助、智能、度接入,提高了运维效率,减少了人工误操作,了人力资源,同时标准化与流程化得到技术保障与实施落地。

  天涯社区是我个人职业生涯的培育期,让我重新审视,明确了未来的规划与定位。2011年9月是我职业生涯的成长期的开始,加盟了腾讯,负责静态图片、大游戏下载业务CDN的运维工作,接触到庞大的用户群、海量的资源(设备、带宽、存储)、世界级的平台、人性化的工作氛围以及大量优秀的同事。所有的这些都深深地吸引着我,也让我的视野与工作能力得到前所未有的提升。分工细化产生运维工作模式的差异,从“单兵作战”转向“集团军作战”。我继续保持着对新技术的狂热,思考如何使用Python在运维工作中发挥作用。工作期间研究了大量高级组件,包括Paramiko、Fabric、Saltstack、Ansible、Func等,这些组件有了更高级的封装,强大且灵活,贴近各类业务场景。我个人也基于Python开发了集群自动化操作工具—yorauto,在公司各大事业群广泛使用,同时入选公司精品推荐组件。我的部分个人发明专利使用Python作为技术实现。目前我也关注大数据发展趋势,研究Python在大数据领域所扮演的角色。

  回到主题“为什么要写这本书”,这一点可以从51CTO对我的专访中找到答案。当时的场景是这样的:

  51CTO:您对开源是如何理解的?天涯社区在过去两年间陆续开源了包含LVS管理系统、Varnish缓存推送平台、高性能数据引擎memlink等好几个项目,业内人士对此都十分关注,您认为这给整个产业带来了哪些好处?身为天涯社区的一位运维人员,过期域名抢注您认为在这个过程中自己的价值在哪里?

  刘天斯:开源就是分享,让更多人受益的同时自己也在提高。经常看到很多朋友都在做平台、运维工具。事实上功能惊人相似,大家都在做重复的工作,为什么不能由一个人开源出来,大家一起来使用、完善呢。这样对整个行业来讲,这块的投入成本都会降低,对个体来讲也是资源的整合。如果形成良性循环,行业的生态将会有很大程度的改善。本人热衷于开源技术,同样也愿意为开源贡献自己一分微薄之力,希望更多的人能支持开源、参考开源。

  这就是我的初衷,也是答案。写书的意义在于将10年的工作沉淀、经验、思方法做个梳理与总结,同时与大家分享。最终目的是为每个渴望学习、进步、提升的运营人员提供指导。

  第一部分为基础篇(第1~4章),介绍Python在运维领域中的常用基础模块,覆盖了系统基础信息、服务、数据报表、系统安全等内容。

  第二部分为高级篇(第5~12章),着重Python在系统运维生命周期中的高级应用功能,包括相关自动化操作、系统管理、配置管理、集群管理及大数据应用等内容。

  第三部分为案例篇(第13~16章),通过4个不同功能运维平台案例,让读者了解平台的完整架构及开发流程。

  书中的代码以“【径】”方式引用,测试径为“/home/test/模块”、“/data/项目”。

  书中涉及的所有示例及源码的Github地址为,以章节名称作为目录层次结构,模块及项目代码分别存放在对应的章节目录中。

  其中第三部分以接近实战的案例来,相比于前两部分更。如果你是一名经验丰富Linux管理员且具有Python基础,可以直接切入高级篇。但如果你是一名初学者,请一定从基础篇开始学习。本书不涉及Python基础知识,推荐新手在线学习手册:《简明Python教程》 与《深入Python: Dive Into Python中文版》。

  由于笔者的水平有限,且编写时间仓促,书中难免会出现一些错误或者不准确的地方,读者。为此,特意创建一个在线支持与应急方案问答站点:。你可以将书中的错误发布到“错误反馈”分类中,同时如果你遇到任何问题或有任何,也可以在问答站点中发表,我将尽量在线上提供最满意的解答。我也会将及时更新相应的功能更新。如果你有更多的宝贵意见,欢迎发送邮件至邮箱,期待能够得到你们的真挚反馈。

  首先要感谢Guido大神,是他创立了Python语言,同时也要感谢提供Python优秀第三方模块的所有作者,开源的与力量在他们身上体现得淋漓尽致。

  感谢钟总、王工、诗成兄,是他们给予我第一份工作,也为个人此后的成长提供了非常多的指导。感谢天涯社区的邢总(968)、王总(建科)、小军,是他们提供了这么优秀的平台,让我有机会可以尽情施展才能,体现个人价值。感谢腾讯的Willim(崔晓春)、Tomxiao(肖志立)、Thundersun(孙雷)、Stanleysun(孙龙君)、Trackynong(农益辉)、Chanceli(李飞宏)、Blue(许明)导师,以及接入运维组(TEG)、数据管理组(IEG)所有兄弟姐妹在工作中给予的帮助、指导与支持,让我可以在新的继续突破,实现价值。感谢洪春兄(抚琴煮酒)的引荐,在他的努力下才促成了这本书的合作与出版。

  感谢机械工业出版社的编辑杨福川和姜影,在这一年多的时间中始终支持我的写作,他们的鼓励和帮助引导我能顺利完成全部书稿。

  感谢已经过世的爷爷,是他深深影响着我的人生观与价值观,他的我会永远铭记在心。感谢我的爸爸、妈妈,感谢他们将我培养,在成长的过程中不断鼓励、激励我继续前进。感谢姐姐、弟弟,他们是我成长过程中最好的挚友与伙伴。

  最后感谢我的爱人杜海英,没有你就没有我们幸福的小家和可爱的宝宝。感谢她支持我做的所有决定,没有她背后默默的支持与鼓励,也没有我今天的成就,更也不会有这本书。我想说:谢谢你!有你真好。

  市面上介绍互动的、面向对象的Python编程语言的书有很多,其强大而又灵活的特性,使其成为很多通过工具来实现工作(半)自动化的运营同学的首选。更难得的是,本书作者以其在腾讯游戏运营的工作经验,辅以大量实际的案例来讲述了他是如何使用Python来解决诸如、安全、订制报表和大数据应用等问题,以及构建一个自动化运维的平台来提升运维工作效率,值得一看。

  《Python自动化运维:技术与最佳实践》是结合刘天斯先生超过十年,在互联网行业“天涯在线”及“腾讯”等的工作经验,实际贴近工作应用场景所撰写的书籍,没有浮夸的文藻修饰,只有实际的落地执行和动手操做,可以作为大家在工作中的工具书。

  全书以系统信息的了解、采集、,以及信息良好地输出为开头,以提升个人工作效率的基础运维工具为承接,再深入介绍集中化管理海量机器、系统的方案,并且搭配实际的例子进行介绍,相信能够覆盖读者的大部分应用场景需求,也能够给予读者相关领域的入门。

  刘天斯先生的也是很值得推广和赞赏的,在繁忙的工作之余,能够思考、总结,并且能够以文字的方式与更多的人分享和传承,是除了书籍本身之外,我学习到的重要收获。

  在移动互联和大数据时代,无论是出于对效率的追逐,还是应对海量规模运维,自动化运维都是企业的必然选择。Python因为具有简单、灵活、功能强大和适合脚本处理等优点,在运维领域被广泛使用,让很多运维工程师从烦琐的日常工作中解放出来。

  天斯是运维领域的资深专家,在互联网行业工作多年,不仅具备解决各种运维难题的强大能力,拥有多项专利,还开发过多个运维利器,非常受欢迎。本书是国内第一本讲述Python如何应用在自动化运维领域的著作,是基于天斯对Python自动化运维的深入研究,以及在海量互联网实战经验中总结提炼而来,具有高度可读性和实战价值。

  刘天斯和我相识于腾讯,期间我正在负责腾讯云平台相关工作。腾讯有一个优良的新员工培养体系,那就是导师制度。有幸作为天斯的导师,让我接触并逐渐深入了解天斯。所以当天斯找到我为本书写推荐语时,我欣然应允,因为共事期间天斯给我留下了深刻的印象。时至今日,在中国的互联网企业里,我认为天斯都是最优秀的架构师之一。

  天斯来腾讯工作之前,在中国著名的天涯社区负责整个社区的运维工作,经历了天涯社区从Windows平台到开源架构的大,因此对B/S相关产品的技术架构和细节非常熟悉;而天斯又是一个在技术输出领域非常活跃的人,自己的技术博客荣获2010年度十大杰出IT博客,在中国互联网技术领域小有名气。

  记得来腾讯不到两个星期,天斯就向我提交了一份关于腾讯业务自动化运维的技术文档,从业务的部署到再到容灾等,都理解得较为深刻。这份输出文档让我眼前一亮,当时第一感觉是这个典型的在生活中不辞的IT男,一定对云计算中的自动运维管理有独到的思维和沉淀。

  Python语言作为获得2010年度编程大的语言,具备诸多优点:简单、开源、速度快、可移植性强、可扩展性强、面对对象、具备丰富的库等;更可贵的是,作为“胶水语言”,可以把Python嵌入C/C++程序等,从而向程序用户提供脚本功能。

  本书从互联网业务自动运维的场景出发,以Python语言为基础,总结了大量的实战案例,这些都是作者在十余年的大型互联网运维工作中的宝贵经验,相信会给读者带来不少的。

  更难能可贵的是,作者能从通俗易懂的角度出发,由浅入深地剖析Python自动运维管理之道。因此,目前Python水平处于各种层次的读者均能有效地阅读和吸收,各取所需。

  最后,感谢天斯能给中国互联网从业者带来这么好的分享,感谢我们的老东家——中国互联网的黄埔军校——腾讯培养了一批又一批的杰出架构师。

  “Operation”,运维在互联网时代一直有着举足轻重的地位,而近两年运维本身这个群体也变得强大起来,最为显著的特征就是运维人员所出的书越来越多,而都以“专”、“精”为卖点。这也是作为一名运维人员值得骄傲的地方。

  伴随着“云时代”、“物联网”的到来,无论数据,还是服务器规模都达到了空前的庞大,企业对运维工作人员的要求也由之前的运维转为“DevOps”,即研发型运维;在这个充满挑战的时代,任何一个岗位都需要保持持续学习的状态,而运维更不例外。

  “Python”,运维的标配语言,比起Bash、Perl、PHP等,它在系统管理上有着强大的开发能力和完整的工具链。易读易写,兼具面向对象和函数式风格,还有元编程能力都是它的优势所在。最关键的地方在于,可以利用Python系统化地将各个工具进行整合,对运维常用工具进行二次开发,形成一套完整的运维体系。“一套完整的产品生命周期”,这才是运维需要做的事情。

  运维“三板斧”:系统安装、命令执行、配置管理,再加上与日志分析等这些都是我们最常用的工具,而它们都有Python的版本,例如:Fabric、Ansible、Saltstack、Func等,这些都将在本书《Python自动化运维:技术与最佳实践》中向大家一一呈现,安装、用法、技巧、特别是大量实例一网打尽。为了让读者更好地系统学习,天斯又写了前端以及从“0”开始打造一个运维平台,可谓用心良苦。

  未来,中小型企业将精减运维,不会开发的运维,竞争力将显得更加单薄,相信天斯多年运维开发经验的结晶能帮到大家。

  初识刘天斯先生是邀其参加我在ChinaUnix举办的活动—“千万级pv高性能高并发网站架构与设计交流”,刘天斯先生提出的架构方案,堪称成熟、缜密、灵动,足见其在系统运维领域的。纵观《Python自动化运维:技术与最佳实践》一书,都是出自于刘天斯先生在天涯及腾讯工作的一线宝贵经验,相信无论是开发人员还是系统管理员们均能从中学习到新的知识点,使自己的职业生涯更上一个新的台阶。

  随着移动互联网的普及,拥有超大用户规模的应用和服务越来越多,服务器运维所面临的挑战随之也越来越大。当规模增长到一定程度时,手动管理的方式自然无法应对,于是自动化运维成为解决问题的银弹。在自动化运维方面,已经有大量优秀的开源工具和最佳实践,Python凭借其灵活性,在自动化运维方面具有先天优势,已经被广泛使用,而且基于Python编写了很多自动化的运维工具,这些工具能大大提高运维的效率,服务器集群的规模越大,优势越明显。即便不使用工具,很多运维工作也能通过几行简单的Python语句来实现自动化操作,简单、方便。

  本书作者先后在国内著名的天涯社区和腾讯从事运维工作近10年,不仅是公司内部的技术核心人物之一,而且在中国整个运维技术圈子内都有很高的知名度,被视为偶像级运维专家。他对Python在运维领域的应用有非常深入的研究,而且在腾讯的生产中得到了应用和实践,无论是知识还是经验,都非常宝贵。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.5.1 Zero

Copyright Your WebSite.Some Rights Reserved.