运维学shell还是python_运维DBA要不要学python

运维DBA要不要学python

我个人认为是:要

现在 python 在运维 数据库 的工作中主要用在

1、编写一些运维脚本

2、编写运维管理平台

3、研究互联网大厂的运维脚本/工具并应有

特别是运维开源数据库的时候,第三点特别重要,例如 MongoDB 的zabbix监控数据库脚本就是用老外用python写的,如果要改一下里面的指标

肯定要用到python

一些互联网大厂开源的数据库脚本和工具,例如 mysql 相关工具,基本都是用python写的,这些工具/轮子我们肯定会用到

所以python是如此重要,当然用shell也可以完成第一点,如果强硬用python来写也只是用python来调用一下某些shell命令

但是,既然要学python,用python,做一个pythoner,那么最好所有工作都用python,有些人不这么认为,某些任务,shell可以做的python做不了

python一定要调用shell命令来做,这个是的,既然是调用shell命令为何不直接用shell

但是我个人觉得shell有个最大的缺点:格式化

shell几乎是没有格式的,只有简单的缩进,也没有专用的shell编辑器,那么,当你写了几百行代码的时候,如果没有很好的缩进习惯,那么review你的shell脚本

的那个人简直就是灾难,也由于没有专用的shell编辑器,编写shell的时候很容易出错,也不好调试

用python就没有这些问题,python可以用pycharm(本人觉得除了pycharm其他 工具 都不行)或者其他工具,python有严格的格式化,编辑器也非常强大

pdb,ipdb,print调试手段手到擒来

我记得之前有个招S银行技术部的招聘信息,其中有一条

必须会写shell,并且有写过单个脚本超过10000行shell代码的经验

当时觉得这个要求非常蛋疼,能在单个脚本写超过10000行shell代码的可能是高人也可能是SB,反正觉得招S银行的技术也好不到哪里好

据我所知,他们的mysql运维也是外包给某数据库服务公司,反正大部分都是外包,核心技术应该无啥

最后,还有一个语言,go语言

go作为互联网界的C/C++,虽然发展历史不长,但是最近几年确实比较火,go虽然是静态语言,也是带GC功能的

因为需要GC,所以 go 语言不适合做

1、系统编程:系统编程依然是C/C++做主导,由于GC的关系,性能比不上C/C++

2、大数据:依然是 JAVA 的天下,当时hadoop诞生的时候,go语言还没出生,所以大数据领域还是无法取代JAVA

3、电商:依然是JAVA的天下,JAVA有最成熟的解决方案,阿里巴巴的业务大量使用JAVA就是一个例子

go语言适合做

1、云计算:在云计算领域,go语言没有对手,go语言一般用于非cpu密集型业务,cdn,对象存储,docker,consul,k8s

其实性能上,go语言应该是比JAVA逊色不少,发展历史没有JAVA长,GC功能没有JAVA的完善

至于在运维领域,其实go语言的性能比python是要强,毕竟是静态语言,而且可以利用多核优势,没有python的GIL锁问题

但是在运维领域,更注重的是运维生态,而不是性能,我们开发的运维工具和运管平台其实都不需要很高性能

如果没有运维生态支持,运维将会非常难做,例如,现在每种数据库基本都有python驱动(mongodb,DB2,oracle,mssql,mysql,pgsql,sqlite等等),

spark编写作业也可以用python来编写,openstack本来用python来开发,有很完善的python API,kvm管理也有很完善的python API,

Linux内置python,Windows安装python也比较简单

python有相应的库可以编写Windows服务,国内公有云厂商基本都有python API等等,几乎每种工具、系统、软件都支持python

而这种运维生态,go语言是没有的,原因是go语言是2009年诞生,到现在才10年时间,而python到现在已经有30年历史

所以python才会有这种运维生态,所以才会有每种工具、系统、软件都支持python

而且目前互联网大厂用go语言来写的开源数据库运维工具和脚本非常少

当然,如果对python有几年经验并且很扎实了,那么可以用空余时间学学go语言

还有一个提醒:据我所知,go语言最流行的web框架beego问题比较多,没有python的django框架那么完善

如果要用go语言来开发运维管理平台,要注意这个坑

最后总结一句:对于运维或DB运维,个人觉得真没有必要学go语言,毕竟go语言是静态语言,门槛相对比较高,而且go语言没有运维生态

如有不对的地方,欢迎大家拍砖o(∩_∩)o

本文版权归作者所有,未经作者同意不得转载。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主论坛 EvilEssid to bypass WIPS surveilled environments 中国网络安全产业推进及公共服务探索 智能终端隐私防跟踪技术实践 Deep X-Ray- 一种机器习驱动的WAF规则窃取器 工业互联网车联网论坛 汽车网络安全守方之殇 浅析工业控制系统攻击 工控设备数字取证破冰之战 工业安全脆弱性评测与防护建设 金融科技论坛 AISecOps智能安全运营技术体系与实践 个人信息安全影响评估实践分享 建设新一代金融业智慧安全态势感知平台 攻防常态化下的企业安全运营体系实践分享 金融行业骚扰电话防治和敏感数据保护 新形势下金融行业的安全能力演进-数据化和服务化 设备指纹与闭环AI防欺诈引擎 CSO论坛 基于安全切面实现银行级默认安全 基于流量的敏感数据异常访问行为识别方法 一体化安全架构之路 感知可控,随需而变的应用 构建企业信息安全指数 数字转型与个人信息保护论坛 面向城市转型的数字信任体系建设研究 城市数字化转型与数据安全保障实践 愿加密与你同在 白帽live论坛 ATT&CK 红队战术漫谈 威胁情报挖掘浅谈 我的一键 getshell 代码开发之路 在代码中审计漏洞的世界 RedTeaming:主流杀软对抗之路 APP审计之白帽必杀技 云安全论坛 k0otkit:针对K8s集群的通用后渗透控制技术 网络安全等级保护2.0之云计算安全测评指标选取原则 面向实战的云安全体系构建与实践 人工智能与物联网前沿论坛 物流行业物联网安全体系构建及思考 AI模型的现实安全风险及应对 MTK安全启动大剖析 DevSecOps论坛 从DevSecOps看安全产品的自身安全 DevSecOps软件供应链安全的机遇与挑战 壹钱包安全开发体系3.0落地实践 赋能企业安全开发:DevSecOps最新标准解读 DevSecOps敏捷安全技术落地实践探索 Security By Default:MyBatis框架下SQL注入解决方案 黑灰产论坛 无处不在的黑色产业链 攻防论坛 网络攻防靶场的技术经验分享 钓鱼演练:基于攻防模式的人为因素风险教育 Red Teaming for Cloud:云上攻防 基于业务安全情报的攻防实践议题分享 甲方视角下的攻防演练部署 Attack in a Service Mesh

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值