DevOps, Low-code и RPA: Плюсы и минусы

DevOps, Low-code и RPA: Плюсы и минусы

Взгляните на проблемы и преимущества DevOps и Low-code подходов с прицелом на наиболее эффективное решение для предприятия.

В современном цифровом мире спрос на квалифицированных разработчиков и IT-специалистов никогда не был выше. Недавнее исследование Korn Ferry показало, что к 2030 году более 85 миллионов рабочих мест могут остаться незаполненными из-за нехватки квалифицированной рабочей силы.

Low-code ставит интересный вопрос: можно ли использовать технологии для замены технических талантов? Если клавиатура может заменить рукописный ввод, то почему бы не использовать платформы на основе графического интерфейса, чтобы заменить необходимость изучения кода?

Исторически сложилось так, что “low-code решения” в основном использовались для описания технологических платформ, которые позволяли использовать нетехнические средства для создания новых приложений, не зная, как кодировать. При использовании таким образом, low-code является более важным для методологии agile (итеративный подход к управлению проектами и разработке ПО), чем DevOps (методология активного взаимодействия специалистов по разработке со специалистами по информационно-технологическому обслуживанию и взаимная интеграция их рабочих процессов друг в друга для обеспечения качества продукта). Там, где agile стремится ускорить создание бизнес-ценности с помощью приложений, DevOps фокусируется на доставке и обслуживании приложения после его создания.

Если платформы разработки low-code приложений используются не IT-персоналом, как IT-специалисты используют решения с низким уровнем кода в рамках DevOps?

Для многих ярых практиков DevOps концепция low-code является антишаблоном DevOps. DevOps, возможно, начиналась как культурная эволюция в том, как команда разработчиков и операторов работают вместе, но сегодня она превратилась в мир автоматизированных конвейеров и интегрированных цепочек инструментов.

Код используется в качестве общего языка, позволяющего командам разработчиков использовать одни и те же инструменты и методы для предоставления и обслуживания огромного количества приложений и технологий. Команды DevOps используют код, чтобы обеспечить тот же уровень гибкости, что и в командах разработчиков, создающих приложения, для команд ops, ответственных за доставку и обслуживание инфраструктуры и приложений.

Чтобы понять, как low-code решения используются командами DevOps, нам нужно расширить наше мышление и посмотреть, как принципы low-code могут быть применены к решениям, основанным на коде, чтобы упростить их изучение, использование и обслуживание. Делая это, мы можем предложить три типа low-code решений:

• Low-code платформы разработки приложений

• Платформы роботизированной автоматизации технологических процессов (RPA)

• Языки low-code разработки

Давайте рассмотрим каждый из трех различных типов low-code решений, наиболее распространенных сегодня в DevOps, а также плюсы и минусы каждого из них.

Low-code платформы разработки приложений

Low-code платформы разработки приложений стали стандартным набором технологий с широким охватом отраслевых аналитиков. Gartner выпускает Gartner Magic Quadrant для корпоративных платформ low-code приложений и прогнозирует рост на 23% в 2021 году. Вероятно, одной из наиболее используемых low-code платформ на рынке сегодня является Salesforce Lightning Platform Mobile.

Low-code Платформы разработки приложений не только помогают устранить пробел в навыках разработчиков, но и позволяют специалистам в области бизнеса проектировать и создавать системы, соответствующие их конкретным потребностям, обходя при этом громоздкий процесс работы с IT для определения требований и приоритизации своего проекта. В блоге "Будущее разработки мобильных приложений в Salesforce” приводится пример, связанный с платформой Salesforce, в которой голландская сеть супермаркетов Jumbo смогла создать внутреннюю систему совместной работы и управления задачами, приложение для питания клиентов и систему заказов на доставку в тот же день в течение восьми недель.

Плюсы: Основные плюсы решений в этой области связаны с простотой использования. За несколько кликов не-разработчики могут создавать простые приложения, настраивать пользовательские интерфейсы и развертывать их в магазинах приложений. Low-code инструменты не требуют / или требуют минимальной подготовки и могут позволить предприятиям быть более гибкими и быстрее реагировать на меняющуюся динамику рынка, делая их более конкурентоспособными.

Минусы: Low-code платформы разработки приложений обычно следуют схеме водопада разработки. Как только приложение создано для удовлетворения конкретной потребности, плана дальнейшего развития или улучшения не существует. Возможности настройки, гибкость и возможности интеграции ограничены. Также могут возникнуть проблемы с безопасностью.

Как правило, сложные приложения и / или приложения с высокими требованиями к безопасности не являются хорошими кандидатами. Долгосрочное владение приложением также может стать проблемой и привести к “разрастанию приложения”, если им не управлять на уровне предприятия.

Платформы роботизированной автоматизации технологических процессов (RPA) Программы RPA позволяют компаниям автоматизировать повторяющиеся задачи путем создания программных сценариев с использованием записывающего устройства. Для тех из нас, кто помнит использование записи макросов в Microsoft Excel, это аналогичная концепция.

После создания сценария пользователи могут использовать визуальный редактор для изменения, изменения порядка и редактирования его шагов. Свидетельством растущей популярности этих решений стал вход на торги IPO UiPath 21 апреля 2021 года, которое в итоге стало одним из крупнейших программных операций ввода-вывода в истории.

Варианты использования программ RPA неограниченны — любая повторяющаяся задача, выполняемая с помощью пользовательского интерфейса. RPA - это область, в которой мы наблюдаем пересечение приложений, разработанных бизнес-пользователями (UiPath и Blue Prism), с более традиционными инструментами DevOps, особенно в области автоматизации тестирования (Tricentis, Worksoft и Egglplant), и новыми решениями на основе общения, такими как Krista.

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

Такие решения, как Krista, могут быть использованы в цепочках инструментов DevOps. Рассмотрим слишком знакомый вопрос: “Где мы находимся с выпуском?” Используя Krista, вы можете отправить свой вопрос в систему, и Криста получит информацию с помощью структурированных бесед, чтобы узнать, где находится релиз, и ответить на него.

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

Минусы: Рабочие процессы, построенные в RPA, могут быть вспомогательным средством для долгосрочных системных изменений и обновлений, которые необходимо внести и которые могут не масштабироваться. Кроме того, право собственности на долгосрочное обслуживание автоматизации может стать непонятным наряду с требованиями безопасности.

Языки low-code разработки: Кодифицированные команды Инструменты, основанные на языках low-code разработки, включают в себя многие из наиболее известных инструментов DevOps, в том числе Ansible, Chef, Hashi, Puppet, Дженкинс и многие другие. Языки low-code разработки соответствуют фундаментальному убеждению, что “кодированный подход” не означает, что каждый должен быть “программистом”.

Так же, как решения на основе графического интерфейса поставляются с “удобными для пользователя” кнопками для выполнения различных команд, решения на основе кода в этой категории поставляются с предварительно встроенными командами, помощниками и ресурсами.

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

В дополнение к использованию удобочитаемых языков, предварительно заполненных автоматизированных шаблонов для простого редактирования и надежного набора готовых интеграций с другими инструментами DevOps, поставщики в этом пространстве начали предоставлять больше визуальных панелей мониторинга и функций, управляемых пользовательским интерфейсом, которые позволяют функциональным руководителям контролировать развертывания и обеспечивать безопасность систем. Chef Infra Client 17 является хорошим примером этого, где в Chef Automate были добавлены новые панели управления инфраструктурой и возможности, управляемые пользовательским интерфейсом.

Этот гибридный подход обеспечивает лучшее из обоих миров, предоставляя пользователям легкую в освоении платформу на основе кода, которая может быть легко интегрирована с системами CI / CD, а также предоставляя нетехническим пользователям и менеджерам наглядность и аналитику по всему предприятию.

Плюсы: Языки low-code разработки обеспечивают максимальную гибкость и масштабируемость. Поскольку они основаны на базовом языке, таком как Ruby, Python или Yaml, их можно легко расширить и настроить для обработки даже самых сложных сценариев автоматизации. Эти инструменты также являются частью большой устоявшейся экосистемы и часто управляются сообществом, поэтому существует тысячи готовых шаблонов контента и подключаемых модулей интеграции, которые упрощают автоматизацию и интеграцию в конвейеры CI / CD.

Минусы: Языки low-code разработки по-прежнему основаны на сценариях и требуют базового понимания методов разработки. Инструменты нуждаются в обновлении и обслуживании, как и автоматизация. Поскольку они созданы для решения конкретных задач IT-менеджмента, они не очень хорошо подходят для нетехнических бизнес-пользователей.

На горизонте: Гипераавтоматизация — следующий крупный драйвер low-code платформ DevOps Отчасти вызванная пандемией COVID-19, потребность в цифровой операционной эффективности как никогда велика. Компании должны иметь возможность поддерживать и предоставлять услуги клиентам и работникам в любом месте. Единственный способ удовлетворить растущие потребности цифрового мира – это автоматизация, которую не только легко создавать, но и легко поддерживать и масштабировать. Поставщикам автоматизации в области DevOps необходимо будет продолжать переходить к low-code решениям, которые позволяют организациям гипераавтоматизировать, то есть автоматизировать все и все, что они могут.

Автор: Хизер Пейтон - директор по маркетингу продуктов в Progress Software

Перевод с английского

Начать дискуссию