目前,主流运维自动化技术、工具包括 Zabbix、Prometheus、Puppet、Chef、SaltStack、Ansible等。
Zabbix 和 Prometheus 属于开源自动化监控工具,主要用于设备信息、性能指标的采集与监控,即“读”操作,通过在目标设备上安装代理Agent的形式进行操作。Zabbix 出现相对较早,也更为成熟,其采用关系型数据库,更容易上手,比较适合服务器的自动化监控;Prometheus 相对较新,其采用时序数据库,性能更优,配置较复杂也更灵活,比较适合在云原生环境下的自动化监控。
Puppet、Chef、SaltStack、Ansible 主要用于 IT 基础设施的批量自动化配置操作,即“写”操作。Puppet 和 Chef 出现较早,采用 Agent 方式部署,配置较复杂,其基于 Ruby 开发,运维脚本的编写对开发要求较高。目前,SaltStack 和Ansible 在业界使用较为广泛,均基于 Python 开发,脚本编写门槛较低,部署、配置相对快速、简单。SaltStack支持代理和无代理两种方式,通过ZMQ或SSH连接,在ZMQ方式下任务并发性能较高;Ansible支持无代理的方式部署,避免对目标设备的侵入,支持灵活的二次开发,在开源社区活跃度最高,很多问题都能在社区中找到解决方案。
此外,在自动测试方面的性能测试工具有 LoadRunner 等,在自动持续集成方面的工具有Jenkins等。