设为首页 收藏本站
查看: 831|回复: 0

[经验分享] Puppet Saltstatck Ansible 自动化运维工具对比

[复制链接]

尚未签到

发表于 2018-7-30 07:08:04 | 显示全部楼层 |阅读模式
  最近尝试安装了一下salt statck就对自动化工具感兴趣了点所以找了一些资料入门下面总结一下希望和看到这篇文章一起探索自动化运维的世界。                              --- 小 Q
  ------------------------------------------------------------------------------------------------------
  自动化运维就是为减少重复又枯燥的工作而建立起来的流程更能减少失误及时报警并恢复等等
  但也要记住工具始终是工具不能过分依赖
  传统的运维
传统运维效率低大多工作人为完成  
传统运维工作繁琐容易出错
  
传统运维每日重复做相同的事情
  
传统运维没有标准化流程
  
传统运维的脚本繁多不能方便管理
  
随着it行业发展及云计算的普及企业架构不断地扩张这种情况下急需摆脱人工操作实现自动化。
  自动化运维
安装自动化  
部署自动化
  
监控自动化
  
发布自动化
  
升级自动化
  
安全管控自动化
  
优化自动化
  
数据备份自动化
  自动化前三阶段
  纯手工   仅依靠人力手工部署和运维
  脚本阶段通过编写大量脚本进行软件部署和运维
  工具阶段借助三方工具高效、方便的部署和运维。
  目前Linux下比较好用的开源工具如下图趋势具体介绍参考链接
  http://www.open-open.com/news/view/f6a20c
DSC0000.png

  =============================================================
  下面我们只比较相对来说比较常用的自动化运维工具puppet   saltstatck    ansible
  Puppet www.puppetlabs.com
  基于rubby开发c/s架构支持多平台可管理配置文件、用户、cron任务、软件包、系统服务等。 分为社区版免费和企业版收费企业版支持图形化配置。
  Saltstack中国用户组 www.saltstack.cn
  基于python开发c/s架构支持多平台比puppet轻量在远程执行命令时非常快捷配置和使用比puppet容易能实现puppet几乎所有的功能。
  Ansible www.ansible.com
  更加简洁的自动化运维工具不需要在客户端上安装agent基于python开发。可以实现批量操作系统配置、批量程序的部署、批量运行命令。
  【语言的比较】
  puppet和chef 开发语言是rubysaltstatck和ansible 开发语言是python。
  两种语言各有优势不过依现在的形式来看我还是很倾向于python语言开发出的工具。
  1、Ruby的优点
  1)     Ruby是一种动态面向对象语言具有很多强大的面向对象的高级特性Ruby更加贴近英语的自然语言描述和表达能力很好语法扩展能力很强
  2)     拥有功能强大和完善的标准类库拥有良好的交互式运行环境:IRB方便进行开发和调试拥有一个完善的Web开发框架Rails
  3)     采用虚拟机实现跨平台支持垃圾回收
  2、Python的优点
  1)     Python开发人员的背景丰富多彩阵营规模很大 Python的各种lib比Ruby多
  2)     和Ruby相反Python的哲学是“做一件事情有且只有一种方法”There should be one-- and preferably only one --obvious way to do it.。Ruby的信徒会觉得这样非常boring但是我觉得这一点减轻了人们在开发时的认知负担和选择成本对于提高开发效率是很有帮助的。同时这个特点使得不同的人用Python写出来的代码不至于相差很大这对于团队合作也是很有用的
  3)     Python解释器特别是CPython目前比现有的Ruby解释器快很多
  4)     大数据方面人工智能图像处理GUI等方面python的积累还是很厚的。很少见ruby的身影
  5)     强大的数据结构。默认安装的Python开发环境已经附带了很多高级数据类型如列表、元组、字典、集合、队列等无需进一步编程就可以使用这些数据类型的操作。使用这些数据类型使得实现抽象的数学概念非常简单。
  6)     插件齐全可以完成绝大部分的程序设计任务。
  【性能的比较】
  因为现在大家都比较倾向于python开发的工具所以对saltstatck和ansible工具进行比较
DSC0001.png

  Ansible基于SSH协议传输数据Saltstack使用消息队列zeroMQ传输数据.
  ZMQ是什么
  类似于Socket的一系列接口但区别是普通的socket是端到端的1:1的关系,而ZMQ是NM 关系
  socket 是什么
  socket就是套接字是源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。
  【配置的比较】
  saltstatck 跟zabbix类似需要在每台机器上安装客户端配置稍麻烦
  ansible不需要客户端只需要在配置服务端即可
  但是saltstatck有一个salt-ssh 功能可以轻易解决上述客户端安装麻烦的问题
  (参考:http://www.0550go.com/automation-deployment/saltstack/saltstack-salt-ssh.html  )
  而且ansible岁不需要客户端但是却需要python版本在2.6+。
  【个人的选择】
  结论一在超大量服务器要求高效时选择saltstatck
  结论二在服务器数量少时选择ansible配置简单
  主要是根据企业服务的需求还有自身的喜好总之精通一门就好

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-543236-1-1.html 上篇帖子: ansible-7326056 下篇帖子: ansible应用总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表