Low-code, iPaaS, декларативная автоматизация и автоматизация с использованием сценариев (или традиционный скриптинг) — все это важные методы автоматизации бизнес-процессов. Технический директор и главный аналитик-исследователь Nemertes Research Джон Берк рассказывает на портале TechTarget о достоинствах каждого из них.

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

Бóльшая часть автоматизации в мире ИТ происходит «под капотом» систем и инструментов, которые скрывают свою внутреннюю работу. Обход отказа тома в RAID-массивах в инфраструктуре хранения данных, переключение маршрута BGP в маршрутизаторе и автоматическое заполнение поля формы в веб-браузере — все это говорит о сложной, скрытой автоматизации задач, которые раньше выполнялись вручную.

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

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

Традиционный скриптинг: написание программы

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

  • сценарии командной строки во всех оболочках UNIX и Linux;
  • PowerShell в системах Windows;
  • кроссплатформенные языки PERL и Python, а также языки, специфичные для конкретного приложения, такие как синтаксис команд SPSS.

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

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

Механизмы автоматизации Low-code

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

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

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

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

Последние разработки в сфере Low-code сосредоточены на системных видах автоматизации.

Управляемые событиями интеграционные механизмы, или iPaaS

Интеграционные механизмы, управляемые событиями, такие как automate.io или tray.io, отслеживают события на одной платформе — обычно это SaaS-система типа Notion или Slack — и предпринимают ответные действия, чаще всего инициируя действия в другой системе. Например, публикация нового сообщения в чат-группе «Спроси эксперта» в одной системе может вызвать действие, которое воспроизводит сообщение в тикете службы поддержки в другой системе.

Такие инструменты обычно базируются в облаке и называются «интеграционная платформа как услуга» (integration platform as a service, iPaaS). Системы IPaaS могут действовать как простые межплатформенные триггерные механизмы или делать больше. Вместо того чтобы просто запускать одно действие с реплицированными данными, они могут выполнять сложные преобразования данных, обращаться к другим системам для получения дополнительных данных и запускать действия в нескольких системах, а не только в одной.

Эти системы относятся к категории Low-code, в них особое внимание уделяется простоте использования, исходя из того, что пользователи, скорее всего, не имеют опыта программирования. Цель состоит в том, чтобы обеспечить быструю интеграцию между системами с минимальными трудозатратами. В отличие от других типов инструментов, рассмотренных здесь, инструменты iPaaS, как правило, представляют собой SaaS-предложения с «оплатой по факту»: пользователь платит в зависимости от количества настроенных действий и времени, затраченного на их выполнение.

Декларативная автоматизация

Ansible, CloudForms и другие инструменты декларативной автоматизации ориентированы на работу сетевых и системных администраторов. Такие системы автоматизируют работу по конфигурации не как серию команд, например, «включить P, включить Q, включить R, отключить S, отключить T, отключить U», а как серию утверждений о том, как все должно выглядеть и работать: «В функционирующей системе параметры P, Q и R будут включены, а параметры S, T и U отключены». ИТ-персонал говорит им, что должно быть сделано, а не как это сделать. Инструменты же отвечают за приведение управляемых устройств или служб в эти состояния.

Это принципиально иная форма автоматизации, граничащая со «скрытым» стилем, и она призвана сместить фокус с методов на конечные результаты. Сосредоточение на желаемом конечном состоянии является мощным способом облегчить его достижение, особенно когда оно является сложным, поскольку весь смысл заключается в описании этого состояния, а не в пошаговом процессе его достижения.

Декларативные средства автоматизации требуют модулей для каждого типа систем, которыми они будут управлять, или для каждого кросс-платформенного протокола, который можно использовать для конфигурирования систем нескольких типов. Такие модули обычно доступны для основных платформ, но могут отсутствовать для менее распространенных или более старых. Сами инструменты часто полагаются на YAML в качестве языка описания конфигурации.

В течение следующих нескольких лет автоматизация будет оставаться ключевым направлением ИТ, поскольку бурные процессы адаптации технологий и развития навыков, необходимых для гибридной рабочей силы, «Великое увольнение», облакофикация и демографический спад в кадровом ИТ-резерве будут продолжаться во всех отраслях.