Оркестрация — распространённый паттерн для обработки событий в рамках событийно‑ориентированной архитектуры (EDA). Мы уже рассказывали, как реализовать оркестрацию с помощью декларативной yaml‑спецификации в Yandex Workflows на примере автоматизации сценария ухода в отпуск.
С появлением визуального конструктора в Yandex Workflows выстраивать процессы становится проще:
-
визуализация в виде функциональных и управляющих блоков помогает быстрее и удобнее проектировать сложные рабочие процессы;
-
наглядность конструктора позволяет использовать его для презентации бизнес‑логики процесса нетехнической аудитории;
-
функции обработки ошибок и управления состоянием уже встроены в инструмент.
Что доступно в новом конструкторе
В интерфейсе конструктора рабочий процесс визуализируется в виде «кубиков», которые представлены блоками (или шагами) двух видов:
-
Функциональные — выполняют непосредственно действия и являются интеграциями с другими сервисами. Например, есть сторонние интеграции с сервисами Yandex Tracker, Yandex Cloud Postbox, Yandex Foundation Models и другими.
-
Управляющие (control flow) — логические операции, которые контролируют исполнение процесса и очерёдность / параллельность исполнения функциональных блоков. Например, Switch — условный переход между блоками, Foreach — для создания циклов, Fail и Success, которые выводят результат операции.
На примере выше видно, как создаётся сложный процесс с параллельными потоками — центральный блок Parallel разделяет работу на три направления: верхний с контейнерами и блоком Fail, средний с контейнерами, блоками Success и Switch, и нижний с HTTP‑вызовами и блоком Pass, а ветвления от блока Switch демонстрируют возможности условной логики.
Подробно все блоки описаны в документации.
Как это работает на примере разных сценариев
Обработка тикетов в техподдержке. Служба технической поддержки использует Yandex Tracker для работы с обращениями клиентов: заводит тикеты по запросам, которые приходят по телефону, e‑mail, в чатах, приоритезирует тикеты по принятым в компании правилам, эскалирует инциденты на профильных инженеров, готовит ответы для отправки клиентам и отслеживает SLA.
Как будут выглядеть шаги для автоматизации обработки таких тикетов в Yandex Workflows.
-
Извлечение данных из тикетов командой fetch_tickets в Yandex Tracker.
-
Суммаризация содержимого тикетов с помощью YandexGPT в сервисе Foundation Models (summarize_texts).
-
Создание отчёта (create_report).
-
Разделение процесса на два параллельных потока с помощью блока Parallel:
-
в одном потоке результат записывается обратно в Yandex Tracker,
-
в другом потоке результат отправляется по электронной почте клиенту через Yandex Cloud Postbox.
-
Передача дежурства. У нас есть очередь дежурств DUTY. К завершению очередной смены мы хотим убедиться, что сформирован отчёт для передачи следующей смене инженеров всей информации, которая может понадобиться. Рабочий процесс отрабатывает каждый duty_period со следующими действиями:
-
Проверка текущих алертов в статусе WARN/CRIT в системе мониторинга.
-
Создание тикета на новое дежурство.
-
Формирование таблицы всех алертов с колонками «Текст», «Алерт», «Вердикт».
-
Уведомление дежурного в чате и тикете (для простоты можно передать текущего дежурного прямо в input).
-
Ожидание 10 минут (либо использование вебхука).
-
Проверка заполнения таблицы вердиктами:
-
Если всё заполнено, статус тикета меняется на «Передано» или добавляется тег.
-
Если не заполнено, призываем дежурного снова.
-
-
Если таблица не заполнена повторно, пользователю выводится ошибка.
Эскалация инцидентов из мониторинга. Техподдержка также может получать информацию из журналов событий и системы мониторинга, чтобы сразу создавать тикеты в случае нештатного поведения приложений. Как выстраивается рабочий процесс в этом случае.
-
Сбор журналов из API приложений и отправка в Yandex Cloud Logging.
-
Отгрузка логов в Yandex Data Streams.
-
Сбор и батчинг логов с помощью Event Router и вызов воркфлоу.
-
Воркфлоу перебирает каждую запись, обогащает её данными из разных источников, формирует метрику по формату мониторинга и отправляет её в Yandex Monitoring.
-
В мониторинге настраиваются алерты на критические значения метрик.
-
При наступлении критических событий мониторинг вызывает функцию и создаёт тикет в Yandex Tracker.
Сервис находится на стадии Preview и предоставляется бесплатно. На сервисы Serverless действует специальный тариф free tier: после исчерпания бесплатных лимитов начинает действовать стандартная тарификация.
Чтобы попробовать инструмент, отправьте заявку в консоли управления.
ссылка на оригинал статьи https://habr.com/ru/articles/890096/
Добавить комментарий