什么是最实用的自动化和任务调度工具,为什么?

What is the most practical automation and task scheduling tool and why?

我正在做涉及自动化和任务调度的研究。 在四处寻找之后 google 我发现了很多公司的自动化和任务调度工具,提供更多功能的 Task Scheduler 替代品;

例如:

  1. Ansible 塔
  2. ActiveBatch
  3. 自动安排(以前是 SkyBot)
  4. VisualCron
  5. 更多...

除了广告信息等,我没有找到很多关于人们对这些(当然除了任务调度程序)的体验的反馈,而且人们往往会发现哪些更实用。

经过研究,我猜 Ansible Tower 会是首选,因为它可以与剧本一起使用,并且可以很好地概述 运行.

任何任务的工作流程和状态。

欢迎任何experiences/opinions!

这实际上取决于您要查找的内容。我认为您首先需要自己回答几个问题才能做出决定:

  • 您想要一个允许您在拖放式 GUI 中定义自动化的无代码自动化工具,还是想要编写自动化脚本?
  • 您想要自己安装和托管的本地工具还是托管云服务?
  • 您想在本地 Windows 机器上自动执行任务,还是想跨具有不同操作系统的系统编排工作流程?
  • 您需要能够处理多少复杂性?复杂性有很多方面,您希望在自动化中集成的软件工具的数量和种类是一方面,另一方面是您希望能够管理的依赖项的复杂性,您的自动化应该 运行 的频率,您需要构建到自动化中的“智能”,您希望用于自动化的触发器的种类和类型等。

您列出的大多数工具(Task Scheduler、ActiveBatch、Automate Schedule、VisualCron)都是基于 GUI 的任务调度程序,具有明确的 Windows 重点。使用它们,您可以在图形用户界面中安排任务,而无需编写任何代码。它们相当易于使用,但您可以使用它们进行的操作也相当有限。此外 none 其中有一个特定的用例重点,这意味着您可以使用它们自动化各种流程。而且都是商品。

Ansible / Ansible Tower 具有非常不同的自动化方法。它是基于代码的,这意味着您需要自己编写剧本。它不是 Windows 特定的。 Ansible 也是开源的,所以如果你有专业知识,你可以自己托管它,或者如果你想要它作为一种服务,可以选择商业 Ansible Tower 选项。 Ansible 也不是真正为任务调度而构建的——您可以使用 Ansible 调度任务,但这似乎有点矫枉过正。它确实是为基础设施配置中更复杂的用例而设计的。

从我的角度来看,将 Task Scheduler 与 Ansible / Ansible Tower 进行比较有点像将登山靴与汽车进行比较——两者都是为运输而设计的,但方法和复杂程度却大不相同。

现在,如果您想要一架飞机(继续使用比喻),我可以再向您推荐一个工具:Cloudomation。完全披露:我为他们工作。它是一种通用自动化工具,就您可以使用它管理的复杂程度而言,它比 Ansible 更进一步。因此,如果您希望建立一个强大的自动化平台,几乎可以与任何东西集成,请选择 Cloudomation。

如果您正在寻找用于基础设施配置的强大自动化工具,请选择 Ansible 或 Ansible Tower。

如果任务调度是您的主要关注点,您可以使用 Windows 和 Windows 软件,并且您只需要在监控/中央管理/可维护性方面具有更多功能的东西,ActiveBatch , Automate Schedule 或 VisualCron 似乎是明智的选择,但不可否认我没有使用过它们中的任何一个。

如果你只是在寻找一个可以安排简单任务的工具,我会推荐 Cron for Unix 系统,或者坚持使用 Windows Task Scheduler。

如果您可以稍微描述一下您希望自动化的任务类型以及您希望自动化工具具有哪些功能,可能会更容易帮助您找到合适的工具。

希望对您有所帮助!