Выбор Функций Azure для выполнения бизнес-логики

Завершено

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

Сценарий

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

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

  • Какие работы были выполнены с велосипедом?
  • Какие работы осталось выполнить, прежде чем велосипед можно будет снова сдавать в прокат?
  • Какие велосипеды в настоящее время можно сдавать в прокат?
  • Какие велосипеды недоступны для сдачи в прокат?
  • Для каждого велосипеда, который недоступен:
    • Почему мы не можем арендовать его?
    • Требуются ли запчасти и, если да, то какие?
    • Когда велосипед предположительно будет снова готов к сдаче в прокат?

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

Бизнес-процесс

Вам необходимо сделать так, чтобы при обслуживании велосипедов после проката технические специалисты на обеих площадках придерживались описанного ниже рабочего процесса.

Decision flow diagram detailing the logic for the Bike maintenance workflow.

Ниже перечислены этапы.

  1. Клиент возвращает велосипед в любой пункт. Начинается процесс обслуживания велосипеда.
  2. Технический специалист помечает велосипед как недоступный.
  3. Технический специалист проводит весь перечень проверок, включая шины, тормоза, ведущую цепь и световые приборы.
  4. Требуются ли запасные части?
    1. Запасные части требуются, но их нет в наличии.
      1. Технический специалист заказывает запасные части.
      2. Запасные части поступают.
    2. Запасные части устанавливаются.
  5. Технический специалист вносит последние изменения.
  6. Технический специалист помечает велосипед как доступный для проката.

Выбор технологии

Чтобы реализовать бизнес-процесс и интегрировать его с базой данных местонахождения велосипедов, рассмотрим следующий набор технологий.

  • Microsoft Power Automate
  • Приложения логики Azure
  • Функции Azure
  • Веб-задания службы приложений Azure

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

Ориентация на проектирование или код

Реализовать этот рабочий процесс с помощью только Logic Apps или Power Automate будет сложно. Хотя все подробности пока неизвестны, ясно, что в рамках процесса требуется доступ к системе управления запасами, а заказы будут оформляться в сторонних компаниях — поставщиках запасных частей. Это новая бизнес-логика, и требование использовать подход, ориентированный на проектирование, не предъявляется. Решение можно оформить в виде пользовательского соединителя для интеграции с другими рабочими процессами, созданными в Logic Apps или Power Automate. Вам как разработчику проще решить поставленную проблему с помощью подхода, ориентированного на код, поэтому так и поступим.

Функции Azure или веб-задания службы приложений Azure

Вам нужно выбрать одну из двух технологий:

  • Функции Azure
  • Веб-задания службы приложений Azure

На выбор влияют указанные ниже факторы.

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

По этим причинам мы выберем Функции Azure для управления бизнес-процессом обслуживания велосипедов.