大家好,今天小编关注到一个比较有意思的话题,就是关于python自动化运维学习资料的问题,于是小编就整理了4个相关介绍Python自动化运维学习资料的解答,让我们一起看看吧。
自动化运维用shell还是python?
基本上shell是首选,shell能有效完成则用shell。因为它简单,而且所有系统都搭载了,无需额外配置,Python不一定都有,而且可能有不同版本的困扰。
但是如果用shell的复杂度增大,越来越力不从心,那可以切换到Python,因为Python的可用的库要多的多,特别是对于特殊的需求。
运维岗真有人用Python脚本运维吗?
几年前在openstack流行的时候,python就已经火起来了,作为运维人员是必须要能写一些python代码的,python的相关模块很多,开发起来相对效率更快。
同时,shell必须比python更熟练,并且在如今k8s的热度下,运维人员还需要会写一些go代码。
Python作为使用普遍的脚本编程语言,应用场景非常多,自动测试、打包构建、部署运维,等等。
举一个例子,使用Python脚本调用云服务SDK,根据业务需要,随时创建所需数量的云服务器实例,动态管理云服务器。
通过脚本执行代码创建或者释放ECS实例,就像使用水、电、煤气等***一样便捷、高效。比如在业务低估时段,释放不需要的云服务器***,节省费用。
来自一个一线运维告诉你答案是,没有了。
现在已经不是之前的手工时代了,都有工具支撑。近年来,大家纷纷上云,都是云部署,云监控,云原生这一套,哪里还需要手动写Python这些,把工具用好,完全不需要用写一行Python代码。
拿部署为例,现在都不用上服务器,通过cicd,直接点下job就直接部署到了k8s集群或者虚拟了。
比如监控,基于容器的,都使用了Prometheus了,监控报警全都有。
说这样不是说Python没用,别听其他人带节奏。就这样
肯定有;
可能大多数同学都泛指的是公司内部运维,那肯定是上的完整的监控平台,但是由于工作的不可控***,我近几年一直是接项目运维,既然是接项目,那么就会遇到各种各样的问题;
就拿我们公司来说吧,承接了很多企业的项目,那么后期的运维怎么做呢,我们不可能说每个项目都给人家搭建一套完整的监控平台,单项目也就10几台服务器,单独弄监控平台也是不合理的,客户也无法接受这个成本,那么此时就体现了我们的脚本功底,每个服务都有专属的监控脚本;
可能是我们公司的产品不靠谱,总是会遇到各种各样的问题,比如有些请求处理失败了,那么怎么弄呢?提BUG?提需求?都是没问题的,但是需要的是什么?时间啊~~~从提起-讨论-开发-测试-修改-测试-上线~~~往往一个月就过去了,那么这一个月的时间里,出现问题怎么弄呢?这个时候我们的脚本功底就起到作用了,我们知道怎么处理,直接写脚本干上去就完事儿,虽然这个是过渡阶段,但是这个阶段往往很重要,而且用到的机会还是蛮多的~~~
个人觉得没有任何东西是“没用的”,既然存在,就有其道理,如果你学好了使用python写脚本,其实可以完成很多东西,比如监控、数据处理、业务逻辑分析、接口调用、简单测试、随时随地都可以解决很多问题~~~
答案是肯定的, 做运维很多时候是做重复的工作, 这时候一个好的脚本工具的重要性就体现出来了。当然, Python绝对是一个不错的选择, python直接集成在linux系统里面这一特点也足以说明它非常适合用来做运维。
其实就单从运维这个工作本身的内容来讲,用什么方式去做不是最重要的。初阶的运维工作可能使用shell脚本一般就可以满足日常运维的需求, 然后进阶一点的运维工作就可以使用Python脚本来做, 还有的项目型运维可能会直接使用一些高级语言, 如Java和Golang甚至是C来写一些常用的运维工具了。
大家通常所说的Python运维, 其实是因为shell虽然很灵活, 但是它的扩展性不够, 这时候就需要选择[_a***_]开发语言, 为什么大家都选择了Python呢, 因为它语法结构比较干净简单, 上手容易,既灵活又好扩展, 而且整个Python的开源包也都比较完善, 所以后来搞运维的基本都会做Python相关的开发,只是看更加偏重于做什么事情。
其实, 要想把Python脚本和运维相关联起来很容易, 之前写的shell脚本都适合用python重新实现一遍,另外只要在运维中的操作会重复多次的, 都应该尝试用编程的方式来进行自动化方式实现, 这个实现的过程初期可以用简单的脚本实现, 后期完全可以用python将整个逻辑封装成一个项目或者直接开发成运维管理系统, 让之前在主机上操作的运维过程可以直接在页面上自动地完成操作。这些过程其实都是可以用Python去做的, 当然都到这个程度了, 就不限于用什么语言了。
python在运维上可以干什么,请举几个具体的例子?
python的出现极大的简化了编程的复杂度,运维上可用到的地方非常广泛,甚至不夸张的说,可以完成整个运维体系,学会使用第三方的开源库,几行代码就可以获取服务器,网络,应用的各种信息,并通过图表,短信,邮件形式给予反馈,甚至可以规划自愈系统。
Perl、PHP、Python、Ruby对于入门的Linux运维来说,哪个更易学?
PHP主要是用于WEB的语言,基本上不会有人用这个做运维的,我不太理解为什PHP出现在这个选项里。
Ruby的最大优点是语法优美,但是主要用途还是WEB,并且用户相对于其他语言还是属于小众,不建议用Ruby作运维。
所以公认最适合做运维的是Perl 和Python。
Perl是很强大的语言,现在流行的linux发行版有很多小工具都是Perl编写的。Perl十分适合处理字符串,如果你想写一个类似于grep的程序,Perl十分适合。
但是Perl语法相对比较复杂,并且国外使用这个的远远多于国内,并不建议新手学。
所以最合适的是Python,Python绝对是最适合的运维语言,没有之一。
首先 linux对Python支持完美,几乎所有发行版都直接有Python运行环境。并且,大量linux工具都是Python写的,比如centos的yum。你可以直接阅读源码。
其次 Python包管理异常强大,只要用pip install 就可以直接安装包,pip会自动解决相互依赖,非常方便。
Python最大的魅力是庞大的用户群,世界上有无数的程序员为Python共享代码,你几乎可以找到任何有用的包,极大减轻编程的工作量。
我觉得作为一名运维,你首先要掌握shell脚本语言,这门语言是你不得不掌握的,也是你的基础。
其次,我建议你掌握Python,并不是别人所说的什么“人生苦短,我用Python”,我一直坚定的认为合适的场景选择合适的编程语言。
Python具有极其丰富的针对运维的第三方库,有大量的实际经验可以借鉴。虽然运行效率不是太高,但针对于运维场景,高的开发效率远比稍慢的运行效率更重要。
希望对你有所帮助。
到此,以上就是小编对于python自动化运维学习资料的问题就介绍到这了,希望介绍关于python自动化运维学习资料的4点解答对大家有用。