开源的自动化部署工具探索
1 前言 即使是在传统的企业当中,日常的备份、服务器状态监控和日志,通过手动的方式来进行的效率也很低,是一种人力的浪费。因此,自动化早已是每个运维都必须掌握的看家本领。 在不同的企业中,自动化的规模、需求与实现方式都各不相同,因此在技术细节层面,运维之间很难将别的企业的方法整个套用过来。然而在很多情况下,自动化的思路是有共通之处的。 运维自动化前三阶段 ◆纯手工阶段:手工操作重复地进行软件部署和运维。 ◆脚本阶段:通过编写脚本、方便地进行软件部署和运维。 ◆工具阶段:借助第三方工具高效、方便地进行软件部署和运维。 这几个阶段是随着运维知识、经验、教训不断积累而不断演进的。而且,第2个阶段和第3个阶段可以说是齐头并进,Linux下的第三方工具虽说已经不少了,但是Linux下的脚本编写对运维工作的促进作用是绝对不可以忽视的。 在DevOps出现之前,运维工作者在工作中还是以这两种方式为主。 下面的研究,都是一些linux下开源的第三方工具,借助第三方工具高效、方便地进行软件部署和运维。 2 业界开源的自动化部署工具 2.1 chef Chef 是一款自动化服务器配置管理工具,可以对所管理的对象实行自动化配置,如系统管理,安装软件,基于ruby语言编写的。 2.1.1 Chef的架构 2.1.2 Chef的工作原理: Chef 由三大组件组成:Chef Server、Chef