В наше время, когда скорость является неоспоримым отличительным фактором для бизнеса, платформы No-сode являются большим благом для облачной разработки, пишет на портале The New Stack Винотини Раджу, основатель и генеральный директор gopaddle.io, разработчика платформы No-code для нативных облачных рабочих нагрузок.

Прошли те времена, когда от появления идеи до выпуска продукта уходили годы. В период с 2011 по 2016 гг. облако и DevOps показали путь к универсальности и автоматизации. Однако каждое облачное предложение имело уникальный интерфейс. Мультиоблачность была лишь желаемой стратегией, поскольку автоматизация операций даже для одной облачной платформы была сложной задачей из-за отсутствия стандартизации.

Когда появился Kubernetes, он предложил стандартизированный интерфейс для гибридных сред. Инструменты автоматизации сблизились, мультиоблачность стала реальностью. Однако внедрение Kubernetes потребовало быстрого обучения всех команд. По данным D2IQ, 41% разработчиков и архитекторов чувствовали сильную усталость, а 51% из них считали, что модернизация приложений (она же создание нативных облачных приложений) добавляет стресс в их повседневную работу. Сложность стала препятствующим фактором.

За последние 1,5 года влияние COVID-19 добавило новое измерение в это уравнение. Предприятиям теперь приходится делать больше при меньших затратах, что заставляет команды быстрее повышать квалификацию. В то время как с одной стороны требования растут, с другой — ощущается нехватка квалифицированных разработчиков. Владельцы бизнеса и продуктов активно пытаются оптимизировать процесс доставки ПО. Это привело к появлению парадигмы разработки нового поколения под названием «гражданская разработка» в нативном облачном пространстве.

Что такое гражданская разработка?

Гражданская разработка — это не совсем новое явление. Она уже давно существует в других сферах разработки ПО, особенно в управлении бизнес-процессами (BPM), взаимоотношениями с клиентами (CRM) или ресурсами предприятия (ERP). Гражданская разработка использует платформы без кодирования или с минимальным кодированием для создания приложений с помощью визуального представления, без необходимости глубоких навыков кодирования. Эти платформы доказали, что они резко повышают производительность и ускоряют время выхода на рынок. По оценкам Forrester, Low-code/No-code помогает разработчикам создавать нативные облачные приложения более чем в 10 раз быстрее и с на 70% меньшими ресурсами.

Статистика, подтверждающая рост популярности платформ No-code, неудивительна. Люди обрабатывают визуальную информацию гораздо быстрее, чем текстовую. Таким образом, визуальные образы не только просты для восприятия, но и создают общие знания для технических и нетехнических команд. Это позволяет командам не тратить время на решение технических вопросов, а сосредоточиться на выполнении важных задач. Если распространить эту парадигму c разработки приложений на доставку и автоматизацию, то можно расширить возможности всей организации, начиная с владельцев бизнеса/продукта и заканчивая разработчиками, чтобы они сами могли управлять процессом доставки ПО, и устранить любые коммуникационные барьеры.

Природа платформ No-code

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

  1. визуальные модели вместо кода. Фундаментальными строительными блоками платформ No-code являются инструменты визуального моделирования. Они используют визуальный подход для автоматической генерации моделей данных и рабочих процессов;
  2. модельно-ориентированный подход. Поскольку разработка начинается с визуальных моделей и заканчивается на них, платформы No-code по своей сути используют модельно-ориентированный подход к созданию приложений;
  3. защитные барьеры. Поскольку платформы No-code должны генерировать код, то крайне важно, чтобы они включали в себя валидацию и проверки безопасности для обеспечения качества кода, предотвращая ручные ошибки и недосмотры;
  4. возможность повторного использования и расширяемость. Одной из основных характеристик платформ No-code является возможность повторного использования модулей, которые можно компоновать динамически. Такие платформы часто поставляются с маркетплейсами или хабами продуктов, каждый из которых включает богатый набор многократно используемых компонентов и интеграцию со сторонними инструментами;
  5. управление изменениями. Поскольку визуальные модели выступают в качестве единого источника истины для всего бизнеса, для них необходим версионный контроль для лучшей отслеживаемости изменений и обеспечения соответствия требованиям;
  6. управление. Эти платформы способствуют совместной разработке, контролю доступа на основе ролей, централизованному управлению ресурсами — чтобы избежать теневых ИТ.

Что такое платформа No-code для нативных облачных развертываний?

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

Проводя параллели между платформами No-code в области BPM и для развертывания нативных облачных приложений, можно отметить, что большинство характеристик платформ для BPM применимо в контексте нативных облачных приложений. Например, централизованное управление всеми ресурсами может уменьшить разрастание сервисов или кластеров и обеспечить обзор всего процесса DevOps с высоты птичьего полета. Однако несколько дополнительных факторов имеют первостепенное значение для успеха нативно-облачной платформы No-code:

  1. скаффолдинг — обеспечивает бесшовный опыт внедрения микросервиса;
  2. сложное моделирование — визуальное моделирование не должно ограничиваться складыванием LEGO-блоков микросервисов, оно должно охватывать широкий спектр платформ приложений, ресурсов Kubernetes и базовой гибридной инфраструктуры;
  3. распространение методологии «12 факторов» на разные этапы цикла выпуска — это позволяет внедрять лучшие практики на разных этапах создания приложений, чтобы они были нативно-облачно совместимы с «первого дня»;
  4. упрощенное управление гибридным облаком — простой интерфейс с использованием UI-мастеров или утилиты командной строки для инициализации и управления средами Kubernetes в облаке, на периферии и онпремис;
  5. отсутствие привязки — поскольку основной целью Kubernetes является стандартизация и переносимость, платформы No-code должны поддерживать эти основные принципы и предоставлять переносимые артефакты;
  6. инструменты для разработчиков и опыт «из коробки» — поскольку, в отличие от традиционной гражданской разработки, нативно-облачные платформы No-code имеют дело с множеством инструментов сторонних производителей, гибридными средами и слабосвязанными микросервисами, важно обеспечить дружественную разработчикам среду создания приложений. Это включает в себя журналы, метрики, прямой терминальный доступ к среде и т. д.

«Кодирование больше не является главным событием. Создание ПО — вот главное событие. Кодирование — лишь одна небольшая часть этого процесса. Мы полагаем, что будущее кодирования — это вообще отсутствие кодирования. Мы считаем, что автономное кодирование — это совершенно реальная вещь», — утверждает Крис Ванстрат, генеральный директор GitHub.

Гражданская разработка предназначена не только для начинающих разработчиков. Она автоматизирует трудоемкие и рутинные задачи, освобождая место для более интеллектуальной разработки ПО и инноваций. В эту новую эпоху, когда скорость является неоспоримым отличительным фактором для бизнеса, платформы No-code являются большим благом для нативной облачной разработки. Давайте распространим наш богатый опыт создания ПО на Kubernetes, будь то в облаке или на периферии. Давайте вместе вступим в царство гиперавтоматизации.