Облачные вычисления - это процесс выполнения рабочих нагрузок в облаках - ИТ-средах, которые абстрагируют, объединяют и совместно используют масштабируемые ресурсы в сети. Ни облачные вычисления, ни облака сами по себе не являются технологиями. И такое применение автоматизации не обошло RPA стороной.
Привет! Меня зовут Андрей и я являюсь руководителем направления RPA в компании NTT DATA Business Solutions. За время работы в разработке автоматизированных процессов у меня сложилось определенное понимание о специфике автоматизации труда программистов, а именно облачной автоматизации, о чем я бы хотел сегодня написать.
Многие компании видят и понимают необходимость во внедрении у себя роботизированной автоматизации процессов (RPA). И это логично, так как это позволит им повысить эффективность своей деятельности, вне зависимости от их глобальности, количества сотрудников или других определяющих факторов. И если по части разработки процесса на основании технологии RPA – вопросов возникает меньше, ведь зачастую среды разработки подобных процессов имеют инструменты визуального программирования, что помогает освоиться в новой технологии, то при внедрении промышленных проектов соответствующей технологии, возникает вопрос, а как это будет управляться, есть ли какие-то стандартизированные подходы для имплементации проекта RPA и еще целый пул организационных вопросов, которые не менее важны чем написание кода проекта.
В данной статье я приведу в пример распространённую платформу для автоматизации бизнес-решений – UiPath, облачное решение которой– Оркестратор, считается одной из лучших, и посмотрим, какие предложения по облачной автоматизации и управлению RPA- процессами она имеет.
Основные функции Orchestrator для облачной автоматизации для RPA
Развертывание - обеспечивает доставку версий пакетов назначенным роботам для выполнения.
Конфигурация - поддерживает и обеспечивает конфигурацию сред и процессов роботов.
Очереди - обеспечивает автоматическое распределение нагрузки между роботами.
Мониторинг - отслеживает общие данные о работе робота и позволяет оценивать продуктивность работающих процессов.
Ведение журнала - сохраняет и индексирует журналы в базе данных SQL и Elasticsearch.
Пройдем по каждой из них детальнее:
Развертывание
Система принимает сформированные пользователем процессы в формате собранных nuget-пакетов, а в свою очередь система распределения, выделяет обозначенный ресурс для выполнения кода из пакета (выделяет машину). Это происходит посредством привязки каждого пакета(процесса), под environment исполнения, следовательно, из-за специфики выполнения кода RPA-процессов, под определенную машину или сервер.
Конфигурация
Как вы знаете, специфика работы процессов RPA подразумевает наличие доступа к desktop для виртуальной машине или сервере, на которых планируется запуск автоматизации. Что означает, что данные авторизации каждой машины, а так же её унифицированный идентификатор нужно держать в памяти и это помогает выполнить часть системы Оркестровки, которая как раз занимается выделением специального номера (machine key) каждой отдельной машине.
Очереди
Учёт транзакций, обрабатываемых RPA-процессами, ведется в структуре данных – «Очереди», которая позволяет, применяя FIFO метод, учитывая приоритетность задач –выполнять транзакции очереди. Наличие функционала приоритизирования транзакций очень важно при использовании процесса на промышленных мощностях, ведь не это позволяет процессу быть более гибким и соответствовать текущим запросам пользователей.
Мониторинг
Одной из основных функций данной системы является модуль мониторинга, который позволяет отслеживать продуктивность работающих процессов получаемые процессом ошибки и отслеживать файлы-логирования. Данный функционал помогает наладить пользовательский опыт при работе с системой и сблизить клиента и целевой процесс посредством демонстрации обработки каждой транзакции отдельно, как это бы делал целевой специалист.
Ведение журнала
Оркестратор, предлагает, как Cloud, так и on-prem решения, т.е. вычислительные мощности могут быть применены, как локальные, так и из серверов компании UiPath. Для индексации и учета элементов логов и внутреннего хранилища, которое базируется на SQL при установке локально, используется Elasticsearch.
RPA аналитика
Предположим, что вы внедрили у себя RPA. Отлично. Но возникает вопрос, как понять, что это принесёт пользу, как понять, насколько это успешно, увеличилась ли польза со временем или нет? Ответить на эти вопросы поможет RPA аналитика.
Возможность аналитики работы RPA процессов – критически важная составляющая интеграции технологии поскольку она предоставляет детальную и предиктивную информацию относительно рентабельности работы текущих автоматизированных процессов.
Ключевым качеством аналитических возможностей RPA является возможность самостоятельно настроить способ определения успеха и результатов, выбор ключевых показателей, настройка под цели и задачи компании и то в каком виде эти результаты представлены так же остаётся на ваш выбор.
Для реализации данных функций используется Orchestrator Insights.
Insights представляет собой интегрированную в Orchestrator платформу, задачей которой является анализ и представление данных в кастомизируемом формате. Продуктивность использования лицензий роботов, сбор информации об узких местах автоматизированного процесса – все это присутствует в данной облачной системе.
CI / CD применимо для RPA
RPA всё чаще используется для автоматизации процессов экономя при этом время и деньги. Однако по части упрощения процесса деплоя и доставки написанного процесса, система Оркестратор не может предоставить подходящего решения. В следствии чего, многочисленные компании, которые занимаются RPA-разработкой используют распространенные методики для автоматизации процесса доставки.
“Конвейер” CI/CD собой представляет собой автоматизацию процесса доставки и интеграции любого программного обеспечения для проекта. Для корректной работы, конвейер должен быть разработан до начала процесса написания кода, что позволит ему работать при написании кода, тестировании и непосредственном его внедрении.
Что такое CI/CD?
Непрерывная интеграция (CI)
Непрерывная интеграция – это практика разработки ПО, используемая разработчиками дабы упростить разработку и тестирование кодов через автоматизацию соответствующих задач. Используя её в RPA, разработчики постоянно интегрируют изменения кода в центральный репозиторий, а тесты проводятся на сервере отдельном сервере.
Непрерывная доставка (СD)
Непрерывная доставка - это практика, обеспечивающая простую упаковку и непрерывное развертывание кода. С её помощью можно настраивать и упаковывать ПО, как например создание бота RPA, и организовать его непрерывное развёртывание с меньшими затратами.
Преимущества CI / CD:
Более быстрая доставка: более короткое время оборота, что обеспечивает более быстрое время вывода на рынок
Поддержка: обнаружение проблем на этапе сборки бота происходит намного быстрее, что позволяет быстрее решать проблемы и обеспечивает безошибочное развертывание бота.
Улучшение: участие конечного пользователя в процессе непрерывной разработки приводит к повышению удобства использования. Новые требования по отзывам сторонних разработчиков могут выполняться ежедневно.
Обновления: пользователи получают обновления вовремя, поскольку выпуск выпусков подряд с использованием компакт-дисков проще и требует меньше времени. Циклы выпуска, или спринты, короче, нацелены и тестируются на отсутствие ошибок перед переходом к следующему спринту.
Мониторинг: ход процесса разработки может быть передан пользователю, что позволяет отслеживать в реальном времени и устранять отложенную обратную связь.
Релизы: развертывание программного обеспечения - это безболезненное мероприятие с низким уровнем риска, поскольку код можно просматривать и редактировать по запросу.
Применение CI/CD для разработки RPA-процессов
Распространенной считается система имплементации CI/CD для RPA-проектов используя Azure DevOps Pipelines, GIT - репозиторий(в силу большего принятия его в службах безопасности клиентов) и docker-контейнеризацию.
Для примера flow стандартной имплементации CI/CD для RPA проектов можно привести следующую последовательность:
Написанный код в UiPath Studio комитится в Git-репозиторий. Студия разработки UiPath – позволяет нативно настроить интеграцию процесса комита в интерфейс студии, как вы могли видеть в решении от Microsoft – Visual Studio.
Проведение push комита тригерит pipeline в системе Azure, которая в свою очередь инициирует процесс CI.
В Docker-контейнере процесс запускается на выделенном для тестирования процесса сервере. Пользуясь встроенными возможностями тестирования кода в UiPath, у нас есть возможность составить unit-тесты для каждой части процесса и составить assessment корректности работы процесса по их выполнению.
Прописывая логику взаимодействия с Pipelines – данный контейнер при успешном завершении тестов может быть доставлен на продуктивный сервер и будет произведен merge с локальным хранилищем для обновления последней версии кода.
О деталях реализации подобного метода мы поговорим в следующих статьях
Надеюсь данная статья была интересна для вас и я немного помог вам при изучении возможностей облачной автоматизации, применимо к самой технологии автоматизации – RPA.
Комментарии (4)
ilya_kochetov
29.07.2021 22:13Код это интересно, но я думаю, что статья выглядит неполной без рассказа о том, как в CI/CD у вас настроена работа с артефактами - ассеты, очереди.
voinalovych_a Автор
30.07.2021 11:58Однозначно. Данную информацию опишу в следующей статье по этой теме.
grosrer
Спасибо. Очень интересно. Жаль, что UiPath оркестратор стоит много денег. У вас есть на примете бесплатные аналоги?
voinalovych_a Автор
Относительно ценовой политики, действительно цена не маленькая, но это цена на Enterprise-решение. Однако у UiPath, у одного из немногих вендоров есть и Community лицензия.
Если же говорить о полноценно бесплатных решениях, то такие существуют, однако не выделяются user-friendly разработкой. Примеры: TagUI, Robot Framework, но они позиционируют себя больше как платформы автоматизации UI-тестирования.