自动化运维工具选择

1、Ansible
Ansible是目前github上最受欢迎的开源自动化工具,使用Python语言开发,与Puppet、Slat等工具相比,Ansible无需在被管理的机器安装agent,而是通过ssh进行管理,Ansible的更加的简单易用并且功能强大。

2、Puppet
puppet是一种Linux、Unix平台的集中配置管理系统,基于C / S架构,使用ruby语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。

3、SaltStack
SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能。SaltStack基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。
通过部署SaltStack环境,可以在实现:在成千上万台服务器上做到批量执行命令;根据不同业务特性进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等。
综上所述,Ansible是目前Devops业界非常活跃的工具,在使用和部署上也非常方便(仅需安装控制端,无需部署agent),在小批量的集群上建议使用Ansible。如果集群规模较大(超过1000台)且对运行速度要求更高,可以考虑Salt和Puppet(对Python做二次开发选用Salt,熟悉Ruby则可选择Puppet)。

ansiable和saltstack优劣势,在百台服务器规模下碰到的坑?

https://www.zhihu.com/question/35457718?sort=created

Pulumi 使用体验 - 基础设施代码化

https://thiscute.world/posts/expirence-of-pulumi/