自动化运维工具对比与选择
工具名称 | 语言 | 架构 | 协议 | 应用场景 | 社区 | 稳定性 | 安全性 | 可扩展性 | 容易度 | 文档 | 更新速度 |
puppet | ruby | c/s | http | 大规模(上千台服务器)、复杂环境 | 4.6K星,活跃 | 稳定性好 | puppet通信采用ssl安全加密协议,以保证所有数据传输的安全性 | 基于ruby,技术储备要求较高,且针对异构环境更适合。 | 难 | 时间长,应用广,文档多 | 快 |
ansibe | python | no client | ssh(zeroMQ) | 小规模(100台以下到200台服务器规模) | 25.1K颗星,活跃 | 不会无感丢失执行对象,较稳定 | 仅依赖ssh,与登录授权管理系统天然集成,简单即有效 | 基于python,二次开发较容易 | 易 | 三方工具模块3000多篇 {+}https://galaxy.ansible.com/+ |
快 |
saltstack | python | no client(c/s) | zeroMQ(ssh/RAET) | 中规模(几百台服务器) | 8K颗星,活跃 | 第一个sub阶段依赖客户端返回,容易产生漏掉执行对象,且无法感知 | 登录认证体系和系统的ssh无关,执行权限过大 | 基于python,二次开发较容易 | 易 | 三方工具模块200篇 {+}https://docs.saltstack.com+ |
慢 |