Облачные вычисления - это процесс выполнения рабочих нагрузок в облаках - ИТ-средах, которые абстрагируют, объединяют и совместно используют масштабируемые ресурсы в сети. Ни облачные вычисления, ни облака сами по себе не являются технологиями. И такое применение автоматизации не обошло RPA стороной. Привет! Меня зовут Андрей и я являюсь руководителем направления RPA в компании NTT DATA Business Solutions. За время работы в разработке автоматизированных процессов у меня сложилось определенное понимание о специфике автоматизации труда программистов, а именно облачной автоматизации, о чем я бы хотел сегодня написать. Многие компании видят и понимают необходимость во внедрении у себя роботизированной автоматизации процессов (RPA). И это логично, так как это позволит им повысить эффективность своей деятельности, вне зависимости от их глобальности, количества сотрудников или других определяющих факторов. И если по части разработки процесса на основании технологии RPA – вопросов возникает меньше, ведь зачастую среды разработки подобных процессов имеют инструменты визуального программирования, что помогает освоиться в новой технологии, то при внедрении промышленных проектов соответствующей технологии, возникает вопрос, а как это будет управляться, есть ли какие-то стандартизированные подходы для имплементации проекта RPA и еще целый пул организационных вопросов, которые не менее важны чем написание кода проекта. В данной статье я приведу в пример распространённую платформу для автоматизации бизнес-решений – UiPath, облачное решение которой– Оркестратор, считается одной из лучших, и посмотрим, какие предложения по облачной автоматизации и управлению RPA- процессами она имеет. Развертывание - обеспечивает доставку версий пакетов назначенным роботам для выполнения. Конфигурация - поддерживает и обеспечивает конфигурацию сред и процессов роботов. Очереди - обеспечивает автоматическое распределение нагрузки между роботами. Мониторинг - отслеживает общие данные о работе робота и позволяет оценивать продуктивность работающих процессов. Ведение журнала - сохраняет и индексирует журналы в базе данных SQL и Elasticsearch.  Пройдем по каждой из них детальнее: Система принимает сформированные пользователем процессы в формате собранных nuget-пакетов, а в свою очередь система распределения, выделяет обозначенный ресурс для выполнения кода из пакета (выделяет машину). Это происходит посредством привязки каждого пакета(процесса), под environment исполнения, следовательно, из-за специфики выполнения кода RPA-процессов, под определенную машину или сервер. Как вы знаете, специфика работы процессов RPA подразумевает наличие доступа к desktop для виртуальной машине или сервере, на которых планируется запуск автоматизации. Что означает, что данные авторизации каждой машины, а так же её унифицированный идентификатор нужно держать в памяти и это помогает выполнить часть системы Оркестровки, которая как раз занимается выделением специального номера (machine key) каждой отдельной машине. Учёт транзакций, обрабатываемых RPA-процессами, ведется в структуре данных – «Очереди», которая позволяет, применяя FIFO метод, учитывая приоритетность задач –выполнять транзакции очереди. Наличие функционала приоритизирования транзакций очень важно при использовании процесса на промышленных мощностях, ведь не это позволяет процессу быть более гибким и соответствовать текущим запросам пользователей.  Одной из основных функций данной системы является модуль мониторинга, который позволяет отслеживать продуктивность работающих процессов получаемые процессом ошибки и отслеживать файлы-логирования. Данный функционал помогает наладить пользовательский опыт при работе с системой и сблизить клиента и целевой процесс посредством демонстрации обработки каждой транзакции отдельно, как это бы делал целевой специалист. Оркестратор, предлагает, как Cloud, так и on-prem решения, т.е. вычислительные мощности могут быть применены, как локальные, так и из серверов компании UiPath. Для индексации и учета элементов логов и внутреннего хранилища, которое базируется на SQL при установке локально, используется Elasticsearch. Предположим, что вы внедрили у себя RPA. Отлично. Но возникает вопрос, как понять, что это принесёт пользу, как понять, насколько это успешно, увеличилась ли польза со временем или нет? Ответить на эти вопросы поможет RPA аналитика. Возможность аналитики работы RPA процессов – критически важная составляющая интеграции технологии поскольку она предоставляет детальную и предиктивную информацию относительно рентабельности работы текущих автоматизированных процессов.  Ключевым качеством аналитических возможностей RPA является возможность самостоятельно настроить способ определения успеха и результатов, выбор ключевых показателей, настройка под цели и задачи компании и то в каком виде эти результаты представлены так же остаётся на ваш выбор. Для реализации данных функций используется Orchestrator Insights. Insights представляет собой интегрированную в Orchestrator платформу, задачей которой является анализ и представление данных в кастомизируемом формате. Продуктивность использования лицензий роботов, сбор информации об узких местах автоматизированного процесса – все это присутствует в данной облачной системе. RPA всё чаще используется для автоматизации процессов экономя при этом время и деньги. Однако по части упрощения процесса деплоя и доставки написанного процесса, система Оркестратор не может предоставить подходящего решения. В следствии чего, многочисленные компании, которые занимаются RPA-разработкой используют распространенные методики для автоматизации процесса доставки. “Конвейер” CI/CD собой представляет собой автоматизацию процесса доставки и интеграции любого программного обеспечения для проекта. Для корректной работы, конвейер должен быть разработан до начала процесса написания кода, что позволит ему работать при написании кода, тестировании и непосредственном его внедрении. Непрерывная интеграция – это практика разработки ПО, используемая разработчиками дабы упростить разработку и тестирование кодов через автоматизацию соответствующих задач. Используя её в RPA, разработчики постоянно интегрируют изменения кода в центральный репозиторий, а тесты проводятся на сервере отдельном сервере. Непрерывная доставка - это практика, обеспечивающая простую упаковку и непрерывное развертывание кода. С её помощью можно  настраивать и упаковывать ПО, как например создание бота RPA, и организовать его непрерывное развёртывание с меньшими затратами. Преимущества CI / CD: Более быстрая      доставка: более      короткое время оборота, что обеспечивает более быстрое время вывода на      рынок Поддержка: обнаружение проблем на      этапе сборки бота происходит намного быстрее, что позволяет быстрее решать      проблемы и обеспечивает безошибочное развертывание бота. Улучшение: участие конечного пользователя в      процессе непрерывной разработки приводит к повышению удобства      использования. Новые требования по отзывам сторонних разработчиков      могут выполняться ежедневно. Обновления: пользователи получают      обновления вовремя, поскольку выпуск выпусков подряд с использованием      компакт-дисков проще и требует меньше времени. Циклы выпуска, или      спринты, короче, нацелены и тестируются на отсутствие ошибок перед      переходом к следующему спринту. Мониторинг: ход процесса разработки      может быть передан пользователю, что позволяет отслеживать в реальном      времени и устранять отложенную обратную связь. Релизы: развертывание программного      обеспечения - это безболезненное мероприятие с низким уровнем риска,      поскольку код можно просматривать и редактировать по запросу. Распространенной считается система имплементации 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. Head Of RPA Practice | UiPath MVP 2022