У нас есть много заданий, которые должны выполняться на наших локальных компьютерах, но мы хотим иметь возможность запускать и управлять этими заданиями из облака.Это не задания типа администратора компьютера.Они больше относятся к бизнес-задачам.
Мы серьезно подумали о том, чтобы сделать это несколькими разными способами:
- Приложения логики / Microsoft Flow могут создатьфайл в папке на локальном компьютере с использованием локального шлюза данных .Затем мы могли бы использовать этот файл в качестве триггера для локального скрипта, который постоянно работает и следит за этой папкой.Однако это кажется неуклюжим, поскольку приложения логики не запускают скрипт напрямую, а только через простое событие создания файла.Этот подход также потребует от нас использовать единую комбинацию имени пользователя и пароля в приложениях логики и не забывать обновлять этот пароль.
- Сетка событий Azure может теперь перенаправляет события из Azure в гибридное соединение, которое передает это событие на определенный порт на локальном компьютере.Теоретически у нас может быть сценарий PowerShell , контролирующий этот порт и обрабатывающий входящее событие.Мне кажется, это лучший способ запуска сценария на локальном компьютере из облака, однако я не уверен, будет ли он работать так, как я ожидаю.
У нас также естьМы рассмотрели несколько других способов использования Azure для такого рода вещей:
- Azure Automation Гибридные модули Runbook могут запускать задания на месте.Однако этот сервис, по-видимому, полезен в основном для административных задач, а не для повседневных процессов.
- Azure DevOps может запускать сценарии для запуска на локальном компьютере с использованием Self-Hosted Agents .Однако я не думаю, что DevOps Azure предназначен для запуска производственного процесса по заданному графику.Он предназначен только для конвейеров разработки программного обеспечения.
- Фабрика данных Azure Среда выполнения интеграции позволяет перемещать данные с локального SQL Server в облако.Это кажется идеальной платформой для переноса данных из локальной среды в облако, но я не думаю, что фабрика данных Azure может запустить настоящий локальный сценарий из облака.Я думаю, что он может работать только с локальным SQL Server.
Поэтому я пытаюсь выбрать один из этих подходов или посмотреть, есть ли лучший способ.
Я думаю, что попробую подход Azure Event Grid и получуДиспетчер гибридных подключений установлен на некоторых локальных компьютерах, а затем поддерживает некоторые сценарии PowerShell, работающие круглосуточно, для мониторинга указанного порта.Как только событие из сетки событий Azure направляется в диспетчер гибридных подключений, оно направляет его на порт, который прослушивает PowerShell, и затем PowerShell может запускать задание, которое необходимо запустить на локальном компьютере.
Мне действительно нравится такой подход, поскольку теперь я могу подключать свои локальные события на локальном компьютере к Azure и сторонние события с помощью таблицы событий Azure.Для меня это открывает мир возможностей для интеграции между разнородными системами.Но прежде чем я выберу такой подход, я хочу убедиться, что он лучший.