Доступные технологии

Завершено

У вас не так много времени для надлежащей интеграции бизнес-процессов между существующей системой проката велосипедов и системой, используемой во втором университетском городке. Вы бы хотели максимально реализовать свой опыт использования Azure и знаете, что эта платформа предлагает несколько различных технологий для решения подобных проблем.

В этом уроке мы рассмотрим доступные технологии Azure для интеграции и автоматизации бизнес-процессов.

Распространенные бизнес-проблемы

Одним из способов предоставления клиентам высококачественных продуктов и услуг является разработка и реализация жестких бизнес-процессов. Такие процессы могут состоять из нескольких этапов, предполагать использование различных пакетов программного обеспечения и задействовать множество лиц. Процесс может быть линейным, то есть сотрудники выполняют действия по очереди, но может также ветвиться или образовывать циклы. Кроме того, процессы могут быть разными по длительности: от совсем скоротечных до длящихся дни или недели.

Бизнес часто возникает в проблемах при слиянии со вторым бизнесом или интеграции с партнерской организацией. Возникает вопрос: как администраторам интегрировать разнородные процессы двух организаций, которые могут быть реализованы с помощью разного программного обеспечения?

Бизнес-процессы, моделируемые в программном обеспечении, часто называются рабочими процессами. В Azure есть четыре разные технологии, с помощью которых можно разрабатывать и внедрять рабочие процессы для интеграции нескольких систем:

  • Logic Apps
  • Microsoft Power Automate
  • веб-задания;
  • Функции Azure

У этих технологий есть общие черты. Например:

  • Они все могут принимать входные данные. Входные данные — это информация или файл, которые передаются в рабочий процесс.
  • Они все могут выполнять действия. Действие — это простая операция, которая выполняется рабочим процессом и часто изменяет данные или вызывает выполнение другого действия.
  • Они все могут включать в себя условия. Условие — это тест, часто выполняемый для входных данных, который может решить, какое действие будет выполняться далее.
  • Они все могут создавать выходные данные. Выходные данные — это информация или файл, которые создаются рабочим процессом.

Кроме того, рабочие процессы, созданные с помощью этих технологий, могут запускаться по расписанию или инициироваться внешним событием.

Технологии, ориентированные на проектирование

Когда бизнес-аналитики обсуждают и планируют бизнес-процесс, они часто рисуют на бумаге схемы потоков. В Logic Apps и Microsoft Power Automate возможен аналогичный подход к проектированию рабочего процесса. Они оба включают пользовательские интерфейсы, где можно извлечь рабочий процесс. Это называется подходом, ориентированным на проектирование.

Logic Apps

Logic Apps — это служба в Azure для автоматизации, оркестрации и интеграции разрозненных компонентов распределенного приложения. С помощью ориентированного на проектирование подхода в Logic Apps можно рисовать схемы, моделируя сложные бизнес-процессы. На снимке экрана ниже показан конструктор Logic Apps и холст разработки, на котором определяется рабочий процесс.

Screenshot of the Logic Apps workflow designer in the Azure portal.

Кроме того, если вы предпочитаете работать с кодом, вы можете создать или изменить рабочий процесс в нотации JSON с помощью представления кода, как показано на снимке экрана ниже.

Screenshot of the Logic Apps code editor in the Azure portal.

Эффективность Logic Apps как средства интеграции объясняется, помимо прочего, наличием более 200 соединителей в составе этой службы. Соединитель — это компонент Logic Apps, который предоставляет интерфейс для внешней службы. Например, соединитель X позволяет отправлять и получать короткие записи, а соединитель Office 365 Outlook позволяет управлять электронной почтой, календарем и контактами. В Logic Apps есть сотни готовых соединителей, с помощью которых можно создавать приложения. Если из Logic Apps нужно обращаться к нестандартной системе, которая предоставляет REST API, можно создать собственный соединитель.

Microsoft Power Automate

Microsoft Power Automate — это служба для создания рабочих процессов, не требующая навыков в области ИТ-разработки. Эти рабочие процессы могут интегрировать и оркестрировать множество разных компонентов с помощью веб-сайта или мобильного приложения Microsoft Power Automate.

Создавать можно потоки четырех типов.

  • Автоматизированный поток запускается триггером из определенного события. Например, событие может быть прибытием новой короткой записи или отправкой нового файла.
  • Поток кнопки позволяет выполнять повторяющуюся задачу одним нажатием кнопки на мобильном устройстве.
  • Поток по расписанию: выполняется регулярно. Например, раз в неделю, в определенную дату или через каждые 10 часов.
  • Поток бизнес-процесса моделирует бизнес-процесс, например размещение заказа на пополнение запасов или процедуру рассмотрения жалоб. Поток может содержать следующие компоненты: уведомления для требуемых пользователей; запись их утверждения; календарные даты этапов; записанное время этапов потока.

Microsoft Power Automate предоставляет простую в использовании поверхность конструктора для создания этих типов потоков. Как показано на следующем снимках экрана, конструктор потоков упрощает проектирование и структуру процесса.

Screenshot of the Microsoft Power Automate designer showing a workflow with a file trigger, an Office action to get a user's profile and an Outlook action to send an email.

С точки зрения внутреннего устройства служба Microsoft Power Automate основана на Logic Apps. Это означает, что она поддерживает тот же набор соединителей и действий, что и Logic Apps. В Microsoft Power Automate также можно задействовать пользовательские соединители.

Сравнение технологий, ориентированных на проектирование

Как видно из приведенной ниже таблицы, служба Microsoft Power Automate больше подходит для использования сотрудниками, не имеющими технических навыков. Если разработчики рабочих процессов являются ИТ-специалистами, разработчиками или специалистами по DevOps, обычно Logic Apps — более предпочтительный вариант.

Microsoft Power Automate Logic Apps
Предполагаемые пользователи Офисные сотрудники и бизнес-аналитики Разработчики и ИТ-специалисты
Предполагаемые сценарии Самостоятельное создание рабочих процессов Расширенные проекты интеграции
Средства проектирования Только графический пользовательский интерфейс Браузер и мобильное приложение Браузер и конструктор Visual Studio Возможно редактирование кода
Управление жизненным циклом приложений Power Automate включает в себя тестовые и рабочие среды Исходный код Logic Apps можно включать в Azure DevOps и системы управления исходным кодом

Технологии, ориентированные на код

Разработчики в вашей команде, скорее всего, предпочтут использовать код для оркестрации и интеграции различных бизнес-приложений в единый рабочий процесс. Это позволяет более тщательно контролировать производительность рабочего процесса или реализовывать пользовательские возможности в рамках бизнес-процесса. Для таких случаев в Azure есть веб-задания и Функции.

Веб-задания и пакет SDK для веб-заданий

Служба приложений Azure — это облачная служба для размещения веб-приложений, серверной части мобильных решений и интерфейсов REST API. Таким приложениям часто необходимо выполнять какие-либо фоновые задачи. Например, в случае с системой проката велосипедов, когда пользователь отправляет фотографию велосипеда, может потребоваться создать ее эскиз.

Веб-задания — это часть службы приложений Azure, с помощью которой можно выполнять программу или скрипт автоматически. Веб-задания бывают двух типов.

  • Непрерывные — Запускается немедленно при создании веб-задания и выполняется в виде непрерывного цикла. Например, непрерывное веб-задание может проверять общую папку на наличие новых фотографий.
  • Активируемые. Запускается на основе события привязки по расписанию или при активации вручную (по запросу).

Определять действия, выполняемые веб-заданиями, можно с помощью кода на нескольких разных языках. Например, код скрипта веб-задания можно написать в оболочке скриптов (Windows, PowerShell, Bash). Можно также написать программу на PHP, Python, Java или JavaScript.

Вы также можете программовать веб-задание с помощью .NET и языка .NET, например C# или VB.NET. В этом случае задачу может упростить пакет SDK для веб-заданий. Он включает в себя ряд классов, таких как JobHostConfiguration и HostBuilder, которые сокращают объем кода, необходимый для взаимодействия со службой приложений Azure.

Пакет SDK для веб-заданий поддерживает только C# и диспетчер пакетов NuGet.

Функции Azure

Функции Azure позволяют легко выполнять небольшие фрагменты кода в облаке, при этом вам не нужно заботиться об инфраструктуре для их размещения. Функцию можно написать на C#, Java, JavaScript, PowerShell, Python или любом из языков, перечисленных в статье о поддерживаемых языках в службе Функций Azure. Кроме того, при использовании плана потребления вы платите только за то время, когда выполняется код. Azure автоматически масштабирует функцию в соответствии с нагрузкой, создаваемой пользователями.

Начать создание функции Azure можно с написания ее кода на портале. Если требуется управление исходным кодом, можно использовать GitHub или Azure DevOps Services.

Чтобы создать функцию Azure, выберите один из доступных шаблонов. Ниже приведены некоторые доступные шаблоны.

  • Триггер HTTP. Если код должен выполняться в ответ на запрос, отправленный по протоколу HTTP
  • Триггер таймера. Если код должен выполняться по расписанию
  • Триггер хранилища BLOB-объектов. Если код должен выполняться при добавлении нового BLOB-объекта в учетную запись службы хранилища Azure
  • Триггер Cosmos DB. Если код должен выполняться в ответ на добавление или изменение документов в базе данных NoSQL

Функции Azure могут интегрироваться с множеством различных служб как в Azure, так и от сторонних разработчиков. Эти службы могут активировать функцию, передавать в нее входные данные или получать из нее выходные данные.

Сравнение технологий, ориентированных на код

Во многих случаях простота администрирования и более гибкая модель написания кода для Функций Azure делает их предпочтительнее веб-заданий. Однако вы можете выбрать веб-задания по следующим причинам:

  • Код должен быть частью существующего приложения в службе приложений, в рамках которого будет происходить управление кодом, например в одной среде Azure DevOps.
  • Требуется тщательный контроль объекта, который прослушивает события, активирующие код. Это объект класса JobHost, поведение которого можно более гибко настраивать в веб-заданиях.
Веб-задания Azure Функции Azure
Поддерживаемые языки C# при использовании пакета SDK для веб-заданий C#, Java, JavaScript, PowerShell и многое другое
Автоматическое масштабирование No Да
Разработка и тестирование в браузере No Да
Оплата по мере использования No Да
Интеграция с Logic Apps No Да
Диспетчеры пакетов NuGet при использовании пакета SDK для веб-заданий NuGet и NPM
Может быть частью приложения Служба приложений Да Да (размещен в плане службы приложений)
Обеспечивает тщательный контроль JobHost Да Нет

Теперь вы знаете, какие технологии, ориентированные на проектирование и код, доступны вам. Как же сузить их выбор? Мы ответим на этот вопрос в следующем уроке.