Low/no-code платформы становятся всё более востребованными, о чём свидетельствует рост числа публикаций на эту тему. Существует множество разнообразных Low/no-code платформ. Рассказываем об их разновидностях и возможностях.

Разновидности платформ

Платформы принято делить на виды по специализации: предназначенные для разработки сайтов относят к одному виду, для разработки мобильного приложения — к другому. Универсальной платформы, которая делает всё, везде и сразу, не существует.

Список самых популярных применений No code / Low code включает в себя:

— BPMS-платформы (Business Process Management System) — система управления бизнес-процессами. Популярный класс решений, развивающийся в парадигме моделирования. Здесь бизнес-процесс моделируется при помощи блоков, настраивается определённая логика. Этот вид появился одним из первых, и сейчас он продолжает развиваться.

Примеры зарубежные — Pega, Bizagi, OutSystems, и отечественные — ELMA 365, Comindware, BPMSoft.

Яркий пример — сайт «Госуслуги», где в любом сценарии требуется выполнить несколько стандартных действий: заполнение формы, проверка и согласование, отправка заявки в ведомство с дальнейшим её исполнением. Под капотом у «Госуслуг» как раз одна из отечественных BPMS.


— Web-платформы. Служат для разработки блогов, интернет-магазинов, веб-сервисов и т. п. Пример — Tilda, WordPress, Wix, WebFlow. Решают две основные задачи — разработка макета сайта и создание его структуры. Около 90% сайтов в мире работают как раз на WordPress.


— Мобильные приложения. Здесь тоже используются технологии low/no-code. Пример — Flutter, для которого есть no-code-платформы FlutterFlow, FlutterViz и другие аналоги theta, adalo, bubble, где можно сконструировать мобильное приложение (необходимые интерфейсы) и упаковать в Android- и iOS-приложение. Чаще всего такие платформы используют для быстрого создания MVP и проверки гипотез.


— Платформа управления базами данных. В качестве визуального примера можно привести Google-таблицы. Платформы по управлению базами данных построены примерно так же. Они дают возможность управлять любым типом полей, атрибутами, строить таблицы БД через визуальный конструктор. Также можно визуально через интерфейс создавать объектную модель, которая затем визуализируется в любое представление. Таким образом конструируется бизнес-приложение, которое будет решать нужную бизнес-задачу и без привлечения разработчиков.


— RPA, роботизация. Применяется там, где мы не можем осуществить интеграцию по API или реализация этой интеграции «руками» получается очень дорогой. Роботы — кликеры, которые за вас по скрипту проходят и вводят какие-то данные, копируют или переносят информацию из одного интерфейса в другой. Такой сценарий тоже можно визуально настроить мышкой.

Преимущества и недостатки Low/no-code платформ

Low/no-code платформы не панацея, они отлично работают в ряде случаев, но иногда неприменимы. Еще раз перечислим преимущества платформ:

  • Быстрое прототипирование и ускорение поставки новых версий благодаря готовым компонентам и блокам, которые можно использовать повторно;
  • Уменьшение затрат на разработку из-за снижения требований к компетенциям специалистов. Любой аналитик, который обучен на этой платформе, может решать задачи без привлечения разработчиков;
  • Визуальное описание процесса:

– Коммуницирование между бизнесом и ИТ на одном языке;

– Описание процесса является всегда актуальной документацией, т.к. блок-схема бизнес-процесса, описанная в платформе, не устаревает;

  • Можно применять подход inner-source для создания переиспользуемых компонентов, что положительно влияет на скорость поставки новых фич.

Недостатки тоже есть:

— С увеличением сложности ИТ-продукта разработка на low-code становится неуправляемой и дорогой. Почему?

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


— Скрытый рост Shadow IT. Это происходит, когда вы не контролируете то, что создаётся в части ИТ-продукта.

Представьте Excel. По сути, no-code/low-code может стать своеобразной реинкарнацией Excel, когда сотрудник на каждой локальной станции работает с информацией в нецелевой системе. Если не контролировать no-code/low-code, будет расти так называемый “shadow IT” – это решения и инструменты, от которых критически зависят бизнес-процессы, но не находящиеся в эксплуатации ИТ функцией, в соответствии со всеми требованиями по безопасности, надежности и т.п. Это означает рост расходов, поскольку на использование мощностей тратится больше ресурсов, риски потерь в случае отказов и ошибок.

Как этого можно избежать? Подключать архитектурный надзор, оценивать, где какие решения используются. А также выстраивать governance — декларировать, что мы не используем, а с чем можно работать. В этом случае есть контроль над ростом.


— Отсутствует единый стандарт описания. У любой технологии есть особенности, но они стандартизированы. Взять языки программирования, например java — везде есть общепринятые стандарты и фреймворки. А вот в большинстве no-code/low-code платформах этого сейчас нет.

Как избежать сложностей? Создавать решения с помощью общепринятой нотации, у которой есть большое комьюнити. Нотация BPMN — один из примеров. Нотация общепринятая, имеет стандарты и большое комьюнити. Есть большое количество специалистов на рынке.


— Обучение пользователей стоит денег и времени. Мы создаём low-code-платформу, её создание и внедрение требует большого количества ресурсов, необходимо делать большой упор на обучение и онбординг пользователей. Парадокс: чтобы создать платформу для обычного пользователя, нужны очень сильные разработчики.


— Зависимость от вендора. Если мы выбрали вендора, а он внезапно ушел с рынка, придётся заново переписывать всё то, что было внедрено на этой платформе. Это тоже большая проблема. Избежать ее можно при помощи внедрения определённых стандартов взаимодействия движка или платформы с микросервисами. Также потребуется искать решения, которые максимально хороши с точки зрения маштабируемости (наличие микросервисной архитектуры как плюс) и открытости для кастомизации.

Для понимания актуальности внедрения Low/no-code-платформ есть простой график, он ниже.

Тут всё просто — чем сложнее система, тем больше вероятность, что потребуется традиционная разработка. Чем система проще, тем вероятнее, что мы сможем обойтись лишь инструментарием Low/no-code-платформ.

Потребности крупных компаний в Low/No-code

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

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

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

Резюмируя, можно выделить следующие типовые проблемы, возникающие при автоматизации процессов:

  • На автоматизацию ручных операций и на изменение процессов уходит слишком много времени, требования устаревают или меняется их приоритет;
  • Сложность ИТ-ландшафта, разрозненного и состоящего из систем разной зрелости, ограничивает возможности, приводит к усложнению сервисов для пользователей;
  • Непрозрачные процессы, затрудняют системные улучшения, а отсутствие наблюдаемости приводит к увеличению времени восстановления при сбоях и ошибках;
  • Разработки сервисов и процессов дублируются, команды снова и снова разрабатывают типовые элементы (формы запросов, интеграции и т. п.), увеличивая сроки и стоимость создания продуктов;
  • Чем больше разработок, тем больше требуется разработчиков, высококвалифицированных и узкоспециализированных специалистов.

Формулируя в виде потребностей и задач, получим следующий набор требуемых характеристик  платформы автоматизации процессов для крупной компании:

  • No code + Low code возможности, чтобы не тратить много времени на простых задачах, но иметь возможность реализовать и более сложные алгоритмы;
  • Возможность создавать бизнес-процессы, бизнес-логику и пользовательские интерфейсы, оставаясь на уровне предметной области, без необходимости погружения на технический уровень API систем и микросервисов;
  • Возможность переиспользовать подпроцессы и компоненты, для упрощения и ускорения сборки новых процессов, и для снижения ошибок при повторных разработках;
  • Встроенные инструменты работы с данными, инструменты интеграции с внешними системами, чтобы абстрагировать бизнес-логику от технических деталей;
  • Поддержка версионности процессов, разграничение ролей и полномочий пользователей.

©