Обложка: Облачная автоматизация RPA на примере UiPath

Облачная автоматизация RPA на примере UiPath

Вступление

При внедрении роботизированной автоматизации процессов (RPA) в промышленные проекты возникают вопросы. Как этим управлять? Есть ли какие-то стандартизированные подходы для имплементации проекта RPA? Всё это не менее важно, чем написание кода.

В данной статье я приведу в пример распространённую платформу для автоматизации бизнес-решений — UiPath (её облачное — Orchestrator — считается одним из лучших). Посмотрим, какие предложения по облачной автоматизации и управлению RPA-процессами у неё есть.

Основные функции Orchestrator для облачной автоматизации для RPA

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

Развёртывание

Система принимает сформированные пользователем процессы в формате собранных nuget-пакетов. А система распределения, выделяет обозначенный ресурс для выполнения кода из пакета (выделяет машину). Это происходит посредством привязки каждого пакета (процесса), под environment исполнения. И, как следствие, из-за специфики выполнения кода RPA-процессов, под определённую машину или сервер.

Конфигурация

Специфика работы процессов RPA подразумевает наличие доступа к desktop для виртуальной машины или сервера, на которых планируется запуск. То есть данные авторизации каждой машины, а так же её унифицированный идентификатор нужно держать в памяти.  Это помогает выполнить часть системы Оркестровки, которая занимается выделением специального номера (machine key) каждой отдельной машине.

Очереди

Учёт транзакций, обрабатываемых RPA-процессами, ведётся в структуре данных — «Очереди». Она позволяет выполнять транзакции очереди, применяя FIFO-метод и учитывая приоритетность задач. Наличие функционала приоретизирования транзакций очень важно при работе на промышленных мощностях. Это позволяет процессу быть более гибким и соответствовать текущим запросам пользователей.

Мониторинг

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

Ведение журнала

Оркестратор, предлагает, как Cloud, так и on-prem решения. То есть вычислительные мощности могут быть и локальными, и из серверов компании UiPath. Для индексации и учёта элементов логов и внутреннего хранилища, которое базируется на SQL при установке локально, используется Elasticsearch.

RPA-аналитика

Вы внедрили у себя RPA. Как понять, что это принесёт пользу? И как понять, увеличилась ли польза со временем? Ответить на эти вопросы поможет RPA-аналитика. Она предоставляет детальную и предиктивную информацию о рентабельности автоматизированных процессов.

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

Для реализации данных функций используется Orchestrator Insights. Это интегрированная в Orchestrator платформа, которая анализирует и представляет данные в кастомизируемом формате. Продуктивность использования лицензий роботов, сбор информации об узких местах автоматизированного процесса — всё это есть в данной облачной системе.

CI / CD применимо для RPA

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

«Конвейер» CI/CD автоматизирует процесс доставки и интеграции любого программного обеспечения для проекта. Для корректной работы, его нужно разработать до написания кода. Это позволит ему работать при написании кода, тестировании и непосредственном внедрении.

Что такое CI/CD?

Непрерывная интеграция (CI)

Непрерывная интеграция — это практика разработки ПО, которую используют, чтобы упростить разработку и тестирование кодов через автоматизацию соответствующих задач. Применяя её в RPA, программисты постоянно интегрируют изменения кода в центральный репозиторий. А тесты проводятся на отдельном сервере.

Непрерывная доставка (СD)

Непрерывная доставка обеспечивает простую упаковку и непрерывное развертывание кода. С её помощью можно  настраивать и упаковывать ПО и организовать его непрерывное развёртывание с меньшими затратами.

Преимущества CI / CD:

  • Быстрая доставка: более короткое время оборота обеспечивает быстрое время вывода на рынок.
  • Поддержка: обнаружение проблем на этапе сборки бота происходит намного быстрее. Это позволяет быстрее решать проблемы и обеспечивает безошибочное развертывание бота.
  • Улучшение: участие конечного пользователя в процессе непрерывной разработки делает использование ПО более удобным. Новые требования по отзывам сторонних разработчиков можно выполнять ежедневно.
  • Обновления: пользователи получают обновления вовремя, поскольку их выход с помощью компакт-дисков проще и требует меньше времени. Циклы выпуска, или спринты, короче. А также нацелены и тестируются на отсутствие ошибок перед переходом к новому спринту.
  • Мониторинг: ход процесса разработки может быть передан пользователю, что позволяет отслеживать в реальном времени и устранять отложенную обратную связь.
  • Релизы: развертывание программного обеспечения — это безболезненное мероприятие с низким уровнем риска, поскольку код можно просматривать и редактировать по запросу.

Применение CI/CD для разработки RPA-процессов

Распространённой считается система имплементации CI/CD с помощью Azure DevOps Pipelines, git-репозитория и docker-контейнеризации. Для примера flow стандартной имплементации CI/CD приведём такую последовательность:

  1. Написанный код в UiPath Studio комитится в git-репозиторий. Студия разработки UiPath позволяет нативно настроить интеграцию процесса комита в интерфейс студии.
  2. Проведение push-комита тригерит pipeline в системе Azure. В свою очередь она инициирует процесс CI.
  3. В docker-контейнере процесс запускается на выделенном для тестирования процесса сервере. Пользуясь встроенными возможностями тестирования кода в UiPath, у нас есть возможность составить unit-тесты для каждой части процесса и составить assessment корректности работы процесса по их выполнению.
  4. При успешном завершении тестов контейнер может быть доставлен на продуктивный сервер. Для обновления последней версии кода будет произведен merge с локальным хранилищем.

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