Быстро, безопасно, надежно: как создать DevOps-конвейер из российских ИТ-инструментов источник

Изменения рынка в последние несколько лет вынуждают бизнес участвовать в цифровой гонке — чем быстрее компания выпустит новую версию мобильного приложения, добавит в интернет-магазин новую функциональность или оцифрует процессы клиентского сервиса, тем больше у нее шансов обойти конкурентов и привлечь новых клиентов. Однако, скорость выпуска новых версий требует от команд разработки тесного взаимодействия с командами сопровождения и безопасности. Методологии DevOps (от англ. development & operations) и DevSecOps (от англ. development, security и operations) позволяют развернуть систему непрерывного создания изменений в приложении, их интеграции, тестирования и внедрения.

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

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

О технологиях и подходах, которые позволяют разрабатывать цифровые решение не только быстро, но и безопасно, рассказывает Евгений Калашников, руководитель портфеля продуктов DevSecOps Платформы Сфера.

Платформа Сфера (SFERA — Scaled Framework for Enterprise Resilience and Agility) — платформа производства ПО, разработка вендора отечественного ПО НОТА (Холдинг Т1). Сфера включает в себя более 40 инженерных инструментов для управления разработкой, тестированием, эксплуатацией программного обеспечения, а также инженерных инструментов для работы с исходным кодом и инструментами мониторинга рабочих станций и бизнес-процессов. Они интегрированы между собой и позволяют выстраивать сквозной процесс управления производством ПО на всех этапах жизненного цикла. Помимо этого, платформа содержит регламентирующую эффективную организацию процессов разработки методологию, которая покрывает 8 основных слоев: процессы сопровождения, управление людьми, стримами и командами, управление разработкой, управление продуктами и сервисами, инженерные практики, культура и ценности и сквозной мониторинг на всех этапах разработки». Подробнее: https://www.sferaplatform.ru/.

DevOps и DevSecOps: как организовать конвейер

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

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

Скорость разработки и совместная работа разных команд обеспечиваются за счет автоматизации всех процессов. Для полноценного внедрения DevOps и DevSecOps-практик необходим набор инструментов:

  • сервисов для непосредственной организации конвейера и реализации методологии CI/CD, которые отвечают за непрерывную интеграцию кода, автоматическую сборку, тестирование и развертывание;

  • среды для хранения, консолидации кода, поддержки версионности;

  • инструментов для хранения артефактов разработки, управления безопасностью и проверок на уязвимости.

Сегодня можно найти решения для автоматизации каждого этапа разработки — как коммерческие, так и бесплатные — однако максимум преимуществ дают готовые системы, интегрированные в платформы для разработки ПО, например, DevOps-конвейер от Платформы Сфера. Это полностью отечественное решение, разрабатываемое и поддерживаемое российскими программистами и включенное в Реестр отечественного ПО. Функциональность модулей DevOps-конвейера способна заменить большинство популярных западных аналогов.

Безопасная разработка с DevOps-конвейером от Сферы

Кластер DevOps-инструментов интегрирован в общую платформу производства ПО Сфера наряду с решениями для управления разработкой, создания архитектуры, производства и эксплуатации.

DevOps-конвейер — это платформенная экосистема необходимых инструментов, предназначенных для автоматизации процессов разработки и управления жизненным циклом приложений. Функциональность решения позволяет командам разработчиков, сопровождения и безопасности работать вместе над проектами и управлять ими. Ознакомиться с конвейером можно по ссылке.

DevOps-инструменты Платформы Сфера:

  • «Сфера.Портал разработки», единая точка входа для всех инженеров и разработчиков проекта и инструмент для построения сквозного автоматизированного процесса разработки технологических продуктов. Портал помогает оптимизировать затраты на создание и тестирование приложений. За счет поиска существующих решений переиспользования исходного кода и преднастроенного конвейера DevOps заметно сокращается время и трудозатраты команд. Портал разработки заменяет такие западные продукты, как BackStage и R2DevOps.

  • За оркестрацию всего DevOps-процесса отвечает инструмент «Сфера.CI/CD» (Continuous Integration, Continuous Delivery — непрерывная интеграция и доставка), это связующее звено всего конвейера. Он предназначен для разработчиков и DevOps-инженеров и обеспечивает процесс непрерывной интеграции разработки, автоматического тестирования, контроля качества и автоматизированного развертывания ПО. Решение автоматизирует сборку при слиянии веток кода, тестирование при внесении изменений, развертывание созданных приложений в тестовых и продуктовых средах, откат изменений в продуктовых средах при возникновении проблем при эксплуатации и др. Этот инструмент заменяет собой большинство западных аналогов, таких как Jenkins, GitLab, Bamboo, TeamCity.

  • Для управления артефактами разработки ПО в Платформе Сфера используется инструмент «Сфера.Дистрибутивы и лицензии». Он позволяет создавать репозитории и управлять ими, анализировать состав кода, реализовывать собственные политики применения открытых программных компонентов. Это единая точка доступа к информации об артефактах, управлению ими и жизненным циклом продукта в DevOps-процессе. Инструмент поддерживает все популярные форматы хранения данных и более 15 типов репозиториев, среди которых Maven, Docker, npm, Go, NuGet, 1C и другие.

Инструмент помогает снизить юридические, финансовые и репутационные риски при использовании Open Source-лицензий и внедрить собственные политики по работе с ними.

  • Еще один важный модуль — «Сфера.Код», Git-инструмент для совместной работы, позволяющий хранить, версионировать, консолидировать код и передавать его в систему оркестрации сборки. Решение помогает создавать организованные хранилища кода для одновременной работы множества разработчиков, анализирует код более чем на 20 языках программирования. Модуль осуществляет статическую проверку загруженного кода, анализирует его на безопасность. По функциональности система может заменить такие зарубежные инструменты, как GitHub, Azure, AWS CodeCommit, Gitlab, Bitbucket, и обеспечить продуманную миграцию с них.

Технически DevOps-конвейер — довольно гибкое решение и легко интегрируется со многими существующими платформами: AD/LDAP, системами мониторинга, аудита и журналирования на стороне заказчика, включая решения Open Source. Решение доступно on-premise на мощностях заказчика.

Преимущества DevOps-конвейера для бизнеса

Внедрение методологий DevOps и DevSecOps с решениями на Платформе Сфера позволяет создавать программное обеспечение и сервисы быстро и эффективно за счет автоматизации всех операций вплоть до запуска в промышленную эксплуатацию.

Компании, внедрившие DevOps-конвейер от Сферы, отмечают:

  • сокращение затрат на разработку, тестирование и доставку приложений;

  • повышение скорости при разработке и доставке приложений;

  • снижение рисков безопасности;

  • снижение количества найденных дефектов;

  • повышение гибкости и адаптивности компании к изменениям в рыночной среде;

  • сокращение времени вывода на рынок новых продуктов и функциональности;

  • увеличение скорости исправления дефектов.

Узнать подробнее о Платформе Сфера, а также получить демо продукта можно по ссылке.