基于Web的复杂数据中心自动化工具

时间:2018-04-09 05:39:08

标签: ant frameworks devops activiti

在评估Ansible Tower,rundeck等现有工具后,似乎没有工具可以满足所需的要求。

我们有复杂的数据中心服务器,数据库和Web服务器集群,数据中心有很多客户端系统,+ 100,以及其他工具,如solr,redis,kafka ......服务器,更不用说相同的数据中心服务器有不同的帐户,linux用户,(QA,stag,production..etc),现在关于这些环境的元数据以及他们的web-apps,要使用的源代码,集群的服务器都是在xml上定义的,并且有一个来自该XML的bash脚本,它们可以手动操作来运行任何操作/任务(比如检查源,构建,部署,启动,停止......和其他自定义操作)< / p>

这个系统应该由开发人员和DevOps工程师共同完成,但我想知道的是,是否有任何可用于此系统的优选框架?工作流框架在这种情况下是否可用?例如,Activiti BPMN? Ant是一个选项,但我们不需要更多的自动化工具,调度程序和日志记录以及许多其他服务。

如果这不是正确的地方,你能指出我问这个问题的猫吗?

需要的是创建一个基于Web的系统作为自动化工具:

  • 用于定义要执行的特定操作的UI,例如构建,在特定环境上跨群集特定Web应用程序部署,在特定计算机上启动/停止特定Web应用程序,或任何其他自定义操作,具有多个选择和灵活动态的选择选择方式。

  • FE应该显示正在执行的工作流程和操作。

  • 创建一组操作作为单个工作流的动态方式,具有动态设置它们之间依赖关系的能力。

  • 此系统的后端代码与已存在的bash脚本之间的接口,这些脚本将执行DC服务器上的实际任务。

  • 一个调度程序,可以根据工作流之间定义的复杂依赖关系组织这些操作。

  • 身份验证&amp;对用户的授权服务,因为在操作,环境,产品等方面会有很多自定义角色

  • 记录系统以保存操作输出。

3 个答案:

答案 0 :(得分:0)

为什么不使用ansible / Docker和jenkins的组合,Jenkins可以使用Pipeline projects / MultiProjects和Ansible为你的UI和角色相关细节做大部分描述的事情

答案 1 :(得分:0)

您要描述的任务是基本的网络编排,并且那里有一堆编排引擎/软件。但是,您提出这个问题的事实意味着您刚刚开始并且还没准备好投资完整的管理产品尚未

我强烈建议您出于目的查看Chef

希望这有帮助。

答案 2 :(得分:0)

如果你的目标是kubernetes和容器(docker),我建议你看看jenkinsx.io。作为activiti bpm团队的一员,我们正努力与这些技术保持一致,使人们能够轻松地将更复杂的工作流程与DevOps和项目运营相集成。

相关问题