最近老大在做一个组内的平台框架,配套的,需要一个自动化运维平台来对组内业务的部署和配置和程序预警做一个支持。
开始做这个项目,首先,对几种可以借鉴的自动化部署工具做了调研。其中出了总结的内容,其他的大部分内容是从网络和书本上获取的,侵权必删:
1. 选型要素
首先,框架目标功能是实现以下几点(服务器数量较少):
1. JDK和scala的自动安装和环境变量的自动配置。
2. Kakfa框架的自动化部署
3. Spark框架的自动化部署
4. 数据接入,数据仓库等功能服务的自动部署
5. 各类服务的配置和监控功能
因此,选取一个合适于Noops开发的自动化运维工具,除了要满足基本的自动化运维功能,需要考虑的要素还有如下几点:
1. 语言的选择,要选择一个开源代码相对简单易懂的,便于二次开发的工具。同时,现有的指导文档也最好要足够清晰,明了。
2. 使用便利程度的选择,要选择一个安装过程尽量便利的工具,工具的安装要对于环境的要求不高(客户端,语言版本要求等等)。
3. 速度的选择,要选择一个管理配置的方式相对更快更稳的工具 。
2. 几种自动化运维框架的比较
Ansible
ansible基于Python研发,其本身没有批量部署的能力,真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
1. 连接插件connection plugins:负责和被监控端实现通信;