Платформа <span>Digital Q.DevOps</span>
Платформа Digital Q.DevOps
Реализуйте непрерывную интеграцию и доставку программных продуктов с платформой Digital Q.DevOps!
попробовать
Digital Q.DevOps
Digital Q.DevOps — это объединенный в конвейер (pipeline) набор инструментов и технологий для процессов непрерывной интеграции, непрерывного тестирования, непрерывной доставки и развертывания программных продуктов.
ПЯТЬ ЗНАКОМЫХ ПРОБЛЕМ ПРИ ОБНОВЛЕНИИ ВЕРСИИ ПРОДУКТА
1
Сборка — сложный процесс
Сборка — сложный процесс
Сборка – это процесс получения готового к установке программного продукта из исходного кода и библиотек. Она включает в себя управление последовательностью обработки исходного кода и обработку зависимостей для взаимодействия с хранилищем библиотек. Чем больше файлов с исходным кодом и версий используемых библиотек, тем сложнее сборка. На рабочей станции разработчика и на сервере для выпуска сборка происходит в различных внешних условиях. Могут отличаться используемые утилиты, установленное программное обеспечение, доступ к библиотекам в хранилищах. Если нужно доставить срочное исправление пользователю и выполнить сборку, а она завершается не успешно, то работа команды останавливается почти в самом начале.
2
Негде проверить результат
Негде проверить результат
Для проверки результата доработки нет актуальных стендов, где можно проверить работоспособность новой версии решения. Создание стендов отнимает время, сложно установить различные компоненты.
3
Все ли тестирование проведено?
Все ли тестирование проведено?
Непонятно, все ли необходимые тесты были выполнены. Приходится вести дополнительный документооборот для принятия решения о выпуске.
4
Легко ошибиться при скачивании нужных версий
Легко ошибиться при скачивании нужных версий
Скачивание новых версий – рутинное занятие. Можно ошибиться и скачать не ту версию – все это отнимает время.
5
Сложное развертывание
Сложное развертывание
Развертывание делает программный продукт готовым к использованию в среде, доступной пользователю. В ходе развертывания устанавливается исполняемый код, соответствующие ему настройки, изменения структуры базы данных и конфигурационных файлов. Сложность этого этапа в том, что в различных внешних условиях и средах результат развертывания может быть разным. Среда – это программное и аппаратное окружение для развертывания решения. Среда на рабочей станции разработчика может существенно отличаться от среды рабочей эксплуатации.
УЗНАТЬ БОЛЬШЕ
Обновление в стиле DevOps устраняет преграды между командой разработки и командой, которая развертывает и поддерживает сервисы. Конечная задача — успешное развертывание решения на стороне пользователя, а не просто успешное завершение разработки. В результате специалисты разработки и эксплуатации работают совместно.
БОЛЬШЕ НЕ СЛЫШНО: «ПРОБЛЕМЫ НЕ НА НАШЕЙ СТОРОНЕ»
Цель производства — успешное развертывание решения на стороне клиента
РЕШЕНИЯ ДЛЯ ВАС
Автоматическая сборка
Автоматическая сборка
Сборка запускается автоматически по событию от системы хранения исходных кодов
После появления нового кода в репозитории автоматически (по коммиту) запускается сборка, выполняются все необходимые проверки, создается или обновляется стенд для проверки выполненных изменений. Разработчик получает ссылку на стенд.
Стенд всегда доступен
Стенд всегда доступен
Необходимые стенды создаются и обновляются автоматически
За счет применения принципа «инфраструктура как код» создание нового стенда происходит автоматически. Если необходимо обновление существующего стенда, оно также происходит полностью автоматически. Процесс выполняется по результатам каждой сборки (каждого коммита). Обновление на стенде происходит без отключения и потери данных текущими пользователями стенда незаметно для них. В результате установленное на стенде приложение соответствует только что выполненному изменению исходного кода.
Непрерывное тестирование
Непрерывное тестирование
Автоматизация позволяет выполнять тесты регулярно и единообразно
Все тесты выполняются в автоматическом режиме. При каждом коммите pipeline запускает и контролирует тестирование, соответствующее этапу разработки программного продукта. Оно включает статический анализ, unit-тесты, функциональные тесты API, нагрузочные тесты, функциональные и интеграционные автотесты через пользовательский интерфейс. Поэтому возможный регресс выявляется сразу. Его легко поправить, и ошибки не накапливаются в коде.
Автоматическая доставка
Автоматическая доставка
Синхронизация реестров образов позволяет автоматически получать обновления
Получение обновлений на стороне клиента выполняется с помощью реестра образов. Он синхронизируется с реестром выпущенных образов от вендора по списку необходимых продуктов. Поэтому для получения очередного обновления не нужно выполнять какие-то действия. После выпуска обновления оно автоматически появится у вас.
Автоматическое развертывание
Автоматическое развертывание
Все этапы развертывания доступны в автоматическом режиме
Развертывание выполняется в автоматическом режиме. Оно включает обновление исполняемого кода, структуры базы данных и загрузку новых настроек. Участие специалиста требуется лишь при принятии решения о развертывании. Доступен режим онлайн-развертывания (для тестовой среды) без дополнительного этапа принятия решения.
Автоматический конвейер
Автоматический конвейер
Автоматический конвейер от коммита до установки
После того как разработчик выполнил коммит, конвейер автоматически выбирает этапы обработки и выполняет соответствующие шаги сборки, развертывания, тестирования и доставки. Конвейер проверяет результаты каждого шага. Далее выполняется развертывание на тестовом окружении и тестирование. После успешного тестирования конвейер осуществляет доставку – размещает продукт в реестре выпущенных образов, где он доступен клиентам. Конвейер также управляет шагами развертывания на стороне клиента.
узнать больше
НЕКОТОРЫЕ ЦИФРЫ
0 часа
длится полный цикл работ для типичного приложения из пяти микросервисов – от сборки до развертывания на стороне клиента
0
развертываний приложений в день для 100 команд разработки, работающих в 200 проектах и разрабатывающих 300 приложений
0 минут
занимают сборка и создание индивидуального стенда разработчика для проверки сделанного коммита
PBC ПЛАТФОРМЫ DIGITAL Q.DEVOPS
Сборка Сборка и упаковка приложений
Сборка <span>Сборка и упаковка приложений</sapn>

Сборка приложений выполняется на основе исходного кода, переданного PBC «Конвейер и библиотек», полученных из PBC «Репозиторий артефактов» Платформы Digital Q.VCS. Приложение собирается штатным компилятором для соответствующего языка программирования. Упаковка артефактов сборки происходит в архив и/или в образ.

Автоматизированное тестирование ПО Инструменты выполнения непрерывного автоматизированного тестирования
Автоматизированное тестирование ПО <span>Инструменты выполнения непрерывного автоматизированного тестирования</span>

В данный PBC входят автоматизированные тесты (в том числе тесты UI и API), smoke-нагрузочное тестирование.

Развертывание Установщик микросервисов: Обработка заявок на установку, скрипты развертывания
Развертывание <span>Установщик микросервисов: Обработка заявок на установку, скрипты развертывания</span>

В данный PBC входят инсталлятор и скрипты развертывания.

Конвейер Инструмент управления сценарием интеграции и доставки
Конвейер <span>Инструмент управления сценарием интеграции и доставки</sapn>

Конвейер непрерывной интеграции, тестирования и развертывания управляет всем этим процессом, запуская компоненты по сценарию соответствующего pipeline.

Хранилище образов Организуй хранение и доставку образов Заказчику
Хранилище образов <span>Организуй хранение и доставку образов Заказчику</span>

Настройка репозитория и правил репликации образов.

узнать больше
МНЕНИЯ О ВНЕДРЕНИИ DevOps
Gartner
Gartner
Автоматизация является обязательным условием создания успешной и надежной IT-инфраструктуры, но часто она требует индивидуального подхода. Специалисты могут обеспечить структурный подход, гибкость и надежность с помощью CI/CD-практик, а также улучшить оркестрацию IT-ресурсов за счет непрерывной автоматизации инфраструктуры и использования подхода «инфраструктура как код».
Microsoft
Microsoft
Быстрые циклы выпуска – одно из основных преимуществ микросервисной архитектуры. Но без хорошего процесса CI/CD вы не достигнете гибкости, которую обещают микросервисы.
RedHat
RedHat
На практике непрерывное развертывание означает, что изменение, внесенное разработчиком в облачное приложение, может быть запущено в эксплуатацию в течение нескольких минут после его написания (при условии, что оно пройдет автоматическое тестирование). Это значительно упрощает постоянное получение и обработку отзывов пользователей. Вместе эти связанные CI/CD-практики снижают риски, связанные с развертыванием приложения, поскольку легче вносить изменения в приложения небольшими частями, а не все сразу.
RedHat
RedHat
Практики CI/CD позволяют решить проблемы, с которыми сталкиваются команды разработки и эксплуатации при интеграции нового кода (так называемый «интеграционный ад»). В частности, CI/CD обеспечивают постоянную автоматизацию и непрерывный мониторинг на протяжении всего жизненного цикла приложений, начиная с этапов интеграции и тестирования и заканчивая доставкой и развертыванием. Вместе эти взаимосвязанные практики часто называют CI/CD-конвейером. Их используют группы разработки и эксплуатации, работающие по принципам agile с использованием подходов DevOps или SRE.
ЗАДАЧИ И СПОСОБЫ ИХ РЕШЕНИЯ
Доставка и развертывание
Конвейер сборки микросервисов
Конвейер сборки клиент-серверного
Автоматическая доставка и развертывание выпущенных вендором обновлений
Вендор публикует выпущенное обновление в реестре образов. Подписанный на обновления определенных программных компонентов реестр Harbor на стороне клиента автоматически скачивает выпущенный образ. По событию появления нового образа инсталлятор дает команду Digital Q.Docker скачать, а затем развернуть в Digital Q.Kubernetes полученный образ. При развертывании используются параметры конфигурационного файла и сценарии обновления Ansible. В результате, программный продукт готов к использованию на стенде клиента.
Организация конвейера сборки и выпуска микросервисов, типовой стек.
Команда реализует задачу и изменяет исходный код. По событию коммита конвейер запускает сборку на Jenkins. При сборке используются библиотеки из репозитория артефактов Maven. Упаковка результата сборки в образ происходит с помощью Digital Q.Docker. Далее проходит автоматическое развертывание тестового стенда в Digital Q.Kubernetes с помощью Ansible. При необходимости создается новый временный стенд. Тестировщик проводит тестирование, разрабатывает новые автотесты. После тестирования микросервис может быть выпущен. Pipeline выпуска проверяет, все ли этапы тестирования были проведены успешно, и публикует выпуск в реестре выпущенных образов. Далее выполняется доставка и развертывание решения на стороне клиента.

Организация конвейера сборки и выпуска клиент-серверного решения, типовой стек.
Команда реализует задачу и изменяет исходный код. По событию коммита конвейер запускает сборку на Jenkins. Упаковка в архив происходит с помощью специальной утилиты, сохраняющей хеш архива для контроля его целостности. Далее происходит развертывание тестового стенда с помощью инсталлятора. При необходимости создается новый временный стенд. Тестировщик проводит тестирование, разрабатывает новые автотесты. После тестирования продукт может быть выпущен. Pipeline выпуска проверяет, все ли этапы тестирования были проведены успешно и публикует выпуск в виде архива. Далее выполняется доставка и развертывание решения на стороне клиента.
ТИПОВЫЕ ШАГИ ПРИ ВНЕДРЕНИИ ПЛАТФОРМЫ DIGITAL Q.DEVOPS
1
шаг №1
Освободить разработчика от сборки
Реализовать автоматический процесс сборки и развертывания на тестовой среде
Полностью автоматический процесс, который начинается с коммита разработчика. В результате, разработчик получает реквизиты индивидуального стенда, на котором установлено собранное изменение.
2
шаг №2
Выполнять тесты регулярно
Необходимо наладить регулярное выполнение тестов и статического анализа кода
Разработать автоматические тесты. Выполнять их автоматически согласно сценарию, определяемому типом ветки разработки, в которой был выполнен коммит.
3
шаг №3
Развертывать автоматически
Развертывание не должно требовать вмешательства человека
Скрипты («инфраструктура как код») устанавливают изменения кода, обновляют структуру базы данных, загружают настройки. Вмешательство специалиста может быть только на этапе принятия решения.
4
шаг №4
Поддержать высокий темп доставки изменений
Выполнение полного процесса от сборки до развертывания в автоматическом режиме
Все шаги цепочки разработки, проверки, доставки и установки объединены в единый конвейер (pipeline), который управляет последовательностью и набором шагов, соответствующих типу ветки разработки. Участие специалиста требуется только в случае обнаружения отклонений или ошибок.
videoPreloader
Digital Q. DevOps
ОСТАЛИСЬ ВОПРОСЫ?
Напишите нам, и мы обязательно вам ответим
*поля обязательные к заполнению