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

Ant 基于Web的复杂数据中心自动化工具,ant,frameworks,devops,activiti,Ant,Frameworks,Devops,Activiti,在评估了Ansible Tower、rundeck等现有工具后,似乎没有任何工具能够满足所需的要求 我们拥有复杂的数据中心服务器、数据库和web服务器集群,数据中心拥有大量客户端系统、+100以及其他工具,如solr、redis、kafka。。。部署在物理服务器上,更不用说相同的数据中心服务器有不同的帐户、linux用户(QA、stag、production等),目前,这些环境的元数据以及它们的web应用程序、要使用的源代码,集群的服务器都是在xml上定义的,并且有一个bash脚本从该xml中读

在评估了Ansible Tower、rundeck等现有工具后,似乎没有任何工具能够满足所需的要求

我们拥有复杂的数据中心服务器、数据库和web服务器集群,数据中心拥有大量客户端系统、+100以及其他工具,如solr、redis、kafka。。。部署在物理服务器上,更不用说相同的数据中心服务器有不同的帐户、linux用户(QA、stag、production等),目前,这些环境的元数据以及它们的web应用程序、要使用的源代码,集群的服务器都是在xml上定义的,并且有一个bash脚本从该xml中读取,该xml手动操作以运行任何操作/任务(如签出源代码、构建、部署、启动、停止…和其他自定义操作)

这个系统应该由开发人员和DevOps工程师一起完成,但我想知道的是,有没有更好的框架可以用于这个系统?工作流框架在这种情况下可用吗?e、 g,Activiti BPMN?Ant是一个选项,但我们不需要一个自动化工具,更需要调度器、日志和许多其他服务

如果这不是正确的地方,你能指出我在哪里问这样的问题吗

需要创建一个基于web的系统作为自动化工具,包括:

  • 用于定义要执行的特定操作的UI,如在特定环境上构建、跨集群部署特定web app、在特定机器上启动/停止特定web app或任何其他自定义操作,具有多种选择和灵活的动态选项

  • FE应显示其中正在执行的工作流和操作

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

  • 此系统的后端代码与现有bash脚本之间的接口,这些脚本将跨DC服务器执行实际任务

  • 调度器能够根据工作流之间定义的复杂依赖关系组织这些操作

  • 为用户提供身份验证和授权服务,因为在操作、环境、产品等方面会有许多自定义角色

  • 用于保存操作输出的日志系统


为什么不结合使用ansible/Docker和jenkins,jenkins可以使用管道项目/多项目和ansible来完成您描述的大部分工作,并负责您的UI和与角色相关的详细信息

您描述的任务是基本的网络编排,还有一系列编排引擎/软件。然而,你问这个问题的事实意味着你刚刚开始,还没有准备好投资一个成熟的管理产品

我强烈建议你考虑一下你的目的


希望这能有所帮助。

如果您的目标是kubernetes和容器(docker),我建议您查看jenkinsx.io。作为activiti bpm团队的一部分,我们正努力与这些技术保持一致,以使人们的生活更轻松,将更复杂的工作流与DevOps和项目的操作集成在一起

这更多的是一个咨询问题,而不是一个带有问题的实际问题。毫无疑问:这是纯粹的开发操作,需要以外科手术的方式编写脚本。不要忘记单元测试。如果我是这个开发人员,我会使用PHPCLI,而不使用框架。创建你自己的框架。这应该是一个评论,而不是一个答案