【问题标题】:Web-based complex data-center automation tool基于网络的复杂数据中心自动化工具
【发布时间】:2018-04-09 05:39:08
【问题描述】:

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

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

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

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

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

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

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

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

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

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

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

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

【问题讨论】:

  • 这更像是一个咨询问题,而不是一个有问题的实际问题
  • 毫无疑问:这是纯粹的开发操作,需要编写脚本,以外科手术的方式。不要忘记单元测试。如果我是这个开发人员,我会用 php cli 来做,没有框架。创建您自己的框架。

标签: ant frameworks devops activiti


【解决方案1】:

为什么不使用 ansible/Docker 和 jenkins 的组合,Jenkins 可以完成您使用 Pipeline 项目/MultiProjects 和 Ansible 描述的大部分内容,用于您的 UI 和角色相关细节

【讨论】:

  • 这应该是评论而不是答案
【解决方案2】:

您描述的任务是基本的网络编排,并且有一堆编排引擎/软件。但是,您提出这个问题的事实意味着您才刚刚起步,还没有准备好投资于一个成熟的管理产品

我强烈建议您查看Chef 以供您参考。

希望这会有所帮助。

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 2013-04-21
      相关资源
      最近更新 更多