Облачная автоматизация RPA на примере UiPath
Расскажу о платформе UiPath. Посмотрим, какие предложения по облачной автоматизации и управлению RPA-процессами у неё есть.
3К открытий3К показов
Вступление
При внедрении роботизированной автоматизации процессов (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 приведём такую последовательность:
- Написанный код в UiPath Studio комитится в git-репозиторий. Студия разработки UiPath позволяет нативно настроить интеграцию процесса комита в интерфейс студии.
- Проведение push-комита тригерит pipeline в системе Azure. В свою очередь она инициирует процесс CI.
- В docker-контейнере процесс запускается на выделенном для тестирования процесса сервере. Пользуясь встроенными возможностями тестирования кода в UiPath, у нас есть возможность составить unit-тесты для каждой части процесса и составить assessment корректности работы процесса по их выполнению.
- При успешном завершении тестов контейнер может быть доставлен на продуктивный сервер. Для обновления последней версии кода будет произведен merge с локальным хранилищем.
О деталях реализации подобного метода мы поговорим в следующих статьях. Надеюсь эта была вам интересна, и я немного помог изучить возможности облачной автоматизации, применимо к RPA.
3К открытий3К показов