本文目录
想学Python自动化运维,怎么学
现在市面上的自动化运维岗位主要技能要求是:Python、Django、Flask、Linux、Shell、Docker、Nginx,这些在传智播客的课程里面都会讲到,3天课程主要是讲Shell编程,还有Linux四剑客等高级命令,自动化运维主要是开发运维平台,也就是说侧重点在开发,市面上很多企业的运维平台都是用Django、Flask框架开发的,你们的师兄师姐有很多现在在公司里面做自动化运维的。
自动化运维需要学什么
自动化运维需要学的内容如下:
1、python是自动化运维工程师必备的技能。所以基础的运维工程师想提升自己的工作能力甚至岗位,需要在熟练掌握运维知识的基础上学习编程知识。学习编程不只是学习期简单的语法,同时也要掌握其中的算法,例如计算思维、解决问题的方法和编程思路等等。
2、python编程有多重编程方式,面向过程、面向对象以及函数式编程等等。新手建议从面向过程学起。面向对象的类相对更加抽象,类就是属性加方法构成的对象的蓝图。学习面向对象的过程中药了解面向对象的思想建模。
3、学习ansible,这是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
多看书多实战。学习编程需要多看相关书籍,选专业的书籍仔细研读。也可以去网上搜一些视频教程学习,边看边跟着敲代码,千万不要懒,不要认为自己看懂了,就可以省去不用敲代码!这是错误的,只有亲自把代码敲一遍,你才能对代码有一个更深入的认知。
系统运维需要掌握哪些工具
系统运维管理是许多公司在维护软件系统中非常重要的工作内容。今天,我们就一起来了解一下,在运维过程中都有哪些工具是需要我们掌握和使用的。
1、对服务器安全和监控,可以推荐一些开源工具吗?监控好像也就nagios,cacti,zabbix,还有其他可以推荐的吗?安全方面如何监控?
监控工具各有侧重点,zabbix同时支持snmp和自己的agent,也支持自定义模板,在大部分场景下都是不错的选择。
另外,不要把zabbix视为只能监控服务器信息,通过自定义模板,也可以监控业务层面的指标。安全监控分为主动检测,如TenableNessus,以及IDS、IPS。
2、Linux运维中,服务器版本都用什么版本?CentOS5还是CentOS6、Ubuntu?为什么选择这个版本?有做哪些测试?
目前我们以CentOS6.X为主。不同Linux分支各有特点,比如Ubuntu新版本发布较快,如果追求内核版本升级速度的话,可以考虑。CentOS一直是我们的主要Linux发行版,主要是考虑到它的稳定性以及熟悉程度高。
3、对于使用缓存有什么推荐吗?一般就Redis,Codis。还有那些比较好用的开源软件?
对于类似session-id这样的可以非持久存储的数据,可以考虑memcached,使用一致性哈希算法分布式存储。
4、做自动化发布,除了Jenkins持续集成工具,还有那些好用的工具呢?
目前我所知道的,一般都是Hudson或者Jenkins,后者是前者分支出来的。这些工具都有丰富的插件,灵活使用这些插件是关键所在。
5、问个MySQL问题,三个版本(MySQL(官方版本)、PerconaServer、MariaDB)您建议使用哪个版本,原因是?
我们团队一般使用的是官方版本。北京北大青鸟认为主要是考虑到支持和生态。
6、服务器日志收集和分析有什么好工具推荐吗?ELK貌似有点复杂,不太会用,有其他的推荐么?
ELK确实是目前使用比较广泛的日志收集和分析的工具。虽然有些学习成本,但还是值得去研究和尝试的。
好了,文章到此结束,希望可以帮助到大家。
发表评论 取消回复