До какой степени дойдёт автоматизация разработки в 2023 году


Александр Черушников
Александр Черушников

Вице-президент, начальник Департамента инженерной экспертизы и инструментов разработки

Какие этапы разработки должен автоматизировать большой банк, чтобы успеть за рынком в 2023 году? Что автоматизировать не стоит? Как перейти на open source без угрозы безопасности? Рассказываем в статье.

Давайте представим 1913 год, когда Генри Форд ввёл в строй первый промышленный конвейер для поточного производства автомобилей. Это стало прорывом для своего времени и работало на бизнес довольно долго. Но потом рабочая сила стала дорожать, и людей на конвейерах заменили промышленными роботами. В разработке сегодня ситуация полностью идентичная.

Современный DevOps по сути своей — это конвейер Форда. И прямо сейчас наступил этап, когда мы не можем себе позволить делать всё на конвейере руками. Это неэффективно и дорого. Если совсем коротко, то автоматизация разработки сократит тот самый Time to Market, позволит быстрее реагировать на запросы рынка и снизит затраты. Если компания планирует оставаться на рынке и быть эффективной, автоматизация неизбежна.

Минимум того, что компания в 2023 году должна автоматизировать в разработке, сегодня выглядит так:

  • Автоматизация сборки приложений исходного кода и его установки в промышленную или тестовую среду.
  • Запуск на регулярной основе тестов на код, которые проверяют каждое изменение, внесённое разработчиком.
  • Автоматическая проверка кода на качество и безопасность — поиск уязвимостей и неоптимальных конструкций.

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

Популярные инструменты для автоматизации разработки на российском рынке

Сейчас на российском рынке правят бал решения с открытым кодом. Например, самая популярная система контроля версий — GitLab CI/CD, которая помогает находить баги и ошибки в коде на ранних этапах цикла разработки. В России многие пользуются версией Community Edition, на которую мы, скорее всего, будем переезжать в ближайшее время.

Для оркестрации контейнеризированных приложений сейчас чаще всего используют Kubernetes, который дорабатывают под свои нужды. Также появляется всё больше интеграторов с решениями на базе Kubernetes, которые они помогают внедрить. Раньше в сегменте enterprise чаще использовали семейство дистрибутивов OpenShift, но Red Hat, разрабатывающая его, в одностороннем порядке разорвала все контракты с российским рынком.

Для непрерывной проверки качества кода сейчас лучшее решение на рынке — SonarQube. Оно способно делать статический анализ, предоставлять подробный отчёт об ошибках кода, его уязвимостях и дублировании строчек. Аналогов ей нет, но в отличие от предыдущих инструментов, эксплуатация SonarQube сопряжена с риском: разработчик в любой момент может отозвать лицензии. В то же время у этого решения есть open source.

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

AI вместо разработчиков

Роль AI неизбежно будет расти в разработке вместе с ростом базы исходных данных и продолжающимся обучением моделей. Но само написание кода автоматизировать пока не выйдет. Регулярно появляются стартапы, которые пытаются это сделать. Но пока всё это обычно похоже на то, как в 2018 году основатель стартапа Engineer.ai Сачин Дев Дуггал заявил, что им удалось сделать ​​«уникальную платформу на базе искусственного интеллекта для создания приложений практически без помощи разработчика (на 80%)». А потом, журналисты The Wall Street Journal выяснили, что AI по имени Наташа — обычная маркетинговая уловка, приложения разрабатывали специалисты из Индии.

Сейчас из всех доступных рынку инструментов я бы выделил GitHub Copilot, разработанный GitHub и OpenAI. В них действительно используют искусственный интеллект, и он помогает в автодополнении кода пользователям таких интегрированных сред разработки как Visual Studio Code, Visual Studio, Neovim и JetBrains. Но и тут Copilot лишь помогает нарастить скорость в реализации типовых решений, предлагая завершённый кусок кода, а не пишет его взамен разработчика.

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

Оцените статью
Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.