需要考虑的几点
1、Agentless Agent
2、语言 Python Ruby
3、简单 可读性 可写行
4、性能 执行速度 管理节点数
5、细分场景支持 应用部署 配置管理 作业编排
1、如果机器规模非常小,少于20台完全可以手工来维护,因为一般情况下每台机器的配置都可能不大相同,使用手工管理是最有效率的。
2、随着机器规模的扩大,根据自己的实际情况选择对应的配置管理工具,比如说人员的技术栈、编写配置的的能力、对于管理节点数量以及执行速度要求等。一般情况下熟悉Python,使用Ansible是一种好的选择。
3、如果机器规模非常大,大于5000台,可以考虑使用侧重于编排类的工具使用,或者考虑自定义与扩展开源软件,或者考虑商业软件。
工具语言、Agentless、GUI、等信息
Ansible
Python
Agentless
Have a GUI Partial
2012
2017-06-28 v2.3.2.0
Ansible is Simple IT Automation
SIMPLE POWERFUL AGENTLESS https://www.ansible.com/it-automation
SIMPLE
Human readable automation
No special coding skills needed
Tasks executed in order
Get productive quickly
POWERFUL
App deployment
Configuration management
Workflow orchestration
Orchestrate the app lifecycle
AGENTLESS
Agentless architecture
Uses OpenSSH and WinRM
No agents to exploit or update
Predictable, reliable and secure
Salt
Python
Agent Agentless
Have a GUI
2011
2017-07-14 v2.2.2
Salt is a new approach to infrastructure management built on a dynamic communication bus
https://docs.saltstack.com/en/latest/
REMOTE EXECUTION
EVENT-DRIVEN INFRASTRUCTURE
CONFIGURATION MANAGEMENT
Chef
Ruby, Erlang
Agent
Have a GUI
2009
2017-08-18 Chef Client 13.3.42
2017-08-18 Chef Server 12.16.9
Automate IT Infrastructure
https://downloads.chef.io/
ACCELERATE CLOUD ADOPTION
MANAGE BOTH DATA CENTER AND CLOUD ENVIRONMENTS
MANAGE MULTIPLE CLOUD ENVIRONMENTS
MAINTAIN HIGH AVAILABILITY
Puppet
Ruby
Agent
Have a GUI
2005
2017-08-17 v5.1.0
Reduce the cost of maintaining your servers. Automate the configuration and management of your infrastructure with the next-generation open source server automation tool.
https://puppet.com/download-open-source-puppet
Discover resources within minutes.
Provision new nodes easily in cloud, hybrid or physical environments.
Configure a range of setups.
Orchestrate changes and events across clusters of nodes.
一些对比文章
http://blog.takipi.com/deployment-management-tools-chef-vs-puppet-vs-ansible-vs-saltstack-vs-fabric/