如何在Azure中自动化完全不同的技术过程

时间:2019-05-28 15:12:25

标签: azure azure-logic-apps azure-automation

我有一个每周的流程,希望在Azure中实现自动化。整个过程包括大约5个不同的子过程。总执行时间约为8小时。子流程技术包括:

  1. 在Azure的Windows VM上运行的第三方数据加载器程序。该程序能够在完成后发送电子邮件。然后,此过程需要触发...

  2. 在Azure的Windows VM上运行的T-SQL脚本,完成后需要触发...

  3. 在Azure的Windows VM上运行的SSIS作业,完成后需要触发...

  4. 在Azure的Windows VM上运行的c#应用程序,完成后需要触发...

  5. 在Azure的Linux VM上运行的Python代码。

我的问题是:可以使用哪些Azure技术(例如自动化Runbook,逻辑应用程序)将这些东西组合在一起,使我回到周末?先感谢您。

2 个答案:

答案 0 :(得分:1)

要回答您的问题,是的,可以肯定,有多种方法可以使用Azure来自动化该过程。我选择 Logic Apps ,因为业务流程自动化是它的主要用例之一。但是... 那是简单的部分!

对您而言,最困难的部分是使这些不同的应用程序可以通过外部服务访问。它们运行在Windows VM内,没有像自然Azure Services这样的自然终结点。

执行此操作的方法很多,具体取决于您修改VM的能力和编程技能。

续:由于所有VM都在同一个域中并且已连接网络,所以首先要考虑的是老派(新的和闪闪的不一定总是最好的), Windows任务 。至少2-4。

这意味着,第2个计划任务可以检查电子邮件,然后运行其SQL,然后在第3个启动任务。

#3可以运行其作业,然后在#4上启动运行c#程序的任务。然后,#4可以触发Python脚本。那么,您最大的不足就是如何触发Python脚本。就像通过FTP为#5上的任务添加触发文件一样简单。

Windows脚本可以在PowerShell中完成。不是很优雅,但是您的环境也不是。

最后,也是最重要的一点,您可以使用 Azure Monitor和自定义日志格式来跟踪该过程。

答案 1 :(得分:0)

这可以通过持久功能来解决-以及外部事件模式:https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-external-events

  1. 每周触发计时器的功能启动协调器功能
  2. 协调器启动包含您的数据加载器内容的VM(或Docker容器等),并注入回调URL。
  3. 协调器现在等待外部事件(请参见上面的链接)
  4. 回调URL指向另一个引发事件以继续协调器的Azure函数:https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-external-events#send-events
  5. 协调器以相同的模式启动下一个外部任务...