Выпустили low-code-инструмент бессерверной оркестрации — визуальный конструктор для Yandex Workflows

Оркестрация — распространённый паттерн для обработки событий в рамках событийно‑ориентированной архитектуры (EDA). Мы уже рассказывали, как реализовать оркестрацию с помощью декларативной yaml‑спецификации в Yandex Workflows на примере автоматизации сценария ухода в отпуск.

С появлением визуального конструктора в Yandex Workflows выстраивать процессы становится проще:

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

наглядность конструктора позволяет использовать его для презентации бизнес‑логики процесса нетехнической аудитории;

функции обработки ошибок и управления состоянием уже встроены в инструмент.

Что доступно в новом конструкторе

В интерфейсе конструктора рабочий процесс визуализируется в виде «кубиков», которые представлены блоками (или шагами) двух видов:

Функциональные — выполняют непосредственно действия и являются интеграциями с другими сервисами. Например, есть сторонние интеграции с сервисами Yandex Tracker, Yandex Cloud Postbox, Yandex Foundation Models и другими.

Управляющие (control flow) — логические операции, которые контролируют исполнение процесса и очерёдность / параллельность исполнения функциональных блоков. Например, Switch — условный переход между блоками, Foreach — для создания циклов, Fail и Success, которые выводят результат операции.

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

На примере выше видно, как создаётся сложный процесс с параллельными потоками — центральный блок 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: после исчерпания бесплатных лимитов начинает действовать стандартная тарификация.

Чтобы попробовать инструмент, отправьте заявку в консоли управления.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии