А DevOps Набор инструментов представляет собой набор или сочетание инструментов , которые помогают в доставке, разработке и управлении приложениями программного обеспечения на протяжении всего жизненного цикла разработки систем, а координируется организация, использующая DevOps практики.
Как правило, инструменты DevOps подходят для одного или нескольких видов деятельности, которые поддерживают определенные инициативы DevOps: планирование, создание, проверка, упаковка, выпуск, настройка, мониторинг и контроль версий. [1] [2]
Цепочки инструментов
В программном обеспечении набор инструментов - это набор инструментов программирования, который используется для выполнения сложной задачи разработки программного обеспечения или для создания программного продукта, который обычно представляет собой другую компьютерную программу или набор связанных программ. Как правило, инструменты, образующие цепочку инструментов, выполняются последовательно, поэтому выходное или результирующее состояние среды каждого инструмента становится входной или начальной средой для следующего, но этот термин также используется при ссылке на набор связанных инструментов, которые не обязательно выполняется последовательно. [3] [4] [5]
Поскольку DevOps представляет собой набор практик, которые подчеркивают сотрудничество и общение как разработчиков программного обеспечения, так и других специалистов в области информационных технологий (ИТ), при автоматизации процесса поставки программного обеспечения и изменений инфраструктуры, его реализация может включать определение ряда инструментов, используемых на различные этапы жизненного цикла; Поскольку DevOps - это культурный сдвиг и сотрудничество между разработкой и производством, нет ни одного продукта, который можно было бы рассматривать как единый инструмент DevOps. Вместо этого на одном или нескольких этапах жизненного цикла используется набор инструментов, потенциально от множества поставщиков. [6] [7]
Этапы DevOps
Строить планы
План состоит из двух вещей: «определить» и «спланировать». [8] Это действие относится к бизнес-ценности и требованиям приложения. В частности, мероприятия «Плана» включают:
- Производственные показатели, объекты и обратная связь
- Требования
- Бизнес-метрики
- Обновить показатели выпуска
- План выпуска, сроки и экономическое обоснование
- Политика безопасности и требования
Сочетание ИТ - персонала будет участвовать в этой деятельности: владельцы бизнес - приложений, разработка программного обеспечения , архитекторов программного обеспечения , постоянное управление релизами , сотрудники службы безопасности и организации , ответственной за управление производством ИТ - инфраструктуры .
Создавать
Create состоит из сборки, кодирования и настройки процесса разработки программного обеспечения . [8] Конкретные виды деятельности:
- Дизайн программного обеспечения и конфигурации
- Кодирование, включая качество кода и производительность
- Сборка программного обеспечения и производительность сборки
- Релиз-кандидат
Инструменты и поставщики в этой категории часто пересекаются с другими категориями. Поскольку DevOps направлен на устранение разрозненности, это отражается на действиях и решениях продуктов . [ требуется разъяснение ]
Проверять
Verify напрямую связана с обеспечением качества выпуска программного обеспечения ; действия, предназначенные для обеспечения поддержания качества кода и развертывания наивысшего качества в производственной среде. [8] Основными видами деятельности здесь являются:
- Приемочное тестирование
- Регрессионное тестирование
- Анализ безопасности и уязвимости
- Представление
- Тестирование конфигурации
Решения для действий, связанных с верификацией, обычно делятся на четыре основные категории: автоматизация тестирования , статический анализ, тестовая лаборатория и безопасность.
Упаковка
Упаковка относится к действиям, выполняемым после того, как релиз будет готов к развертыванию, часто также называемым подготовкой или подготовкой / «препродакшн». [8] Это часто включает в себя такие задачи и действия, как:
- Утверждение / предварительное одобрение
- Конфигурация пакета
- Триггерные релизы
- Постановка и проведение релиза
Релиз
Действия, связанные с выпуском, включают расписание, оркестровку, подготовку и развертывание программного обеспечения в производственной и целевой среде. [9] Конкретные действия по Релизу включают:
- Согласование выпуска
- Развертывание и продвижение приложений
- Откаты и восстановление
- Запланированные / запланированные выпуски
Решения, охватывающие этот аспект цепочки инструментов, включают автоматизацию выпуска приложений, автоматизацию развертывания и управление выпусками .
Настроить
Действия по настройке относятся к сфере операций DevOps. После развертывания программного обеспечения могут потребоваться дополнительные действия по инициализации и настройке ИТ-инфраструктуры. [8] Конкретные виды деятельности, включая:
- Инфраструктура хранения, базы данных и подготовка и настройка сети
- Подготовка и настройка приложения.
Основные типы решений , которые облегчают эти действия являются автоматизация непрерывной конфигурации , управление конфигурацией , и инфраструктура , как код инструментов. [10]
Монитор
Мониторинг - важное звено в цепочке инструментов DevOps. Это позволяет ИТ-организации выявлять конкретные проблемы конкретных выпусков и понимать их влияние на конечных пользователей. [8] Краткое описание деятельности, связанной с Monitor:
- Производительность ИТ-инфраструктуры
- Ответ и опыт конечного пользователя
- Производственные показатели и статистика
Информация, полученная в результате мониторинга, часто влияет на планирование действий, необходимых для изменений и для новых циклов выпуска .
Управление версиями
Контроль версий - важное звено в цепочке инструментов DevOps и компонент управления конфигурацией программного обеспечения. Контроль версий - это управление изменениями в документах, компьютерных программах, крупных веб-сайтах и других коллекциях информации. [8] Краткое описание действий, связанных с контролем версий:
- Нелинейное развитие
- Распределенная разработка
- Совместимость с существующими системами и протоколами
- Дизайн на основе инструментария
Информация из системы управления версиями часто поддерживает действия по выпуску, необходимые для изменений и для новых циклов выпуска .
Смотрите также
Рекомендации
- ^ Эдвардс, Дэймон. «Интеграция инструментов DevOps в платформу предоставления услуг» . dev2ops.org .
- ^ Серотер, Ричард. «Изучение ВСЕЙ цепочки инструментов DevOps для (облачных) команд» . infoq.com .
- ^ «Обзор инструментальной цепочки» . nongnu.org . 2012-01-03 . Проверено 21 октября 2013 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «Цепи инструментов» . elinux.org . 2013-09-08 . Проверено 21 октября 2013 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Имран, Саед; Buchheit, Мартин; Холлундер, Бернхард; Шрайер, Ульф (2015-10-29). Цепочки инструментов в гибких средах ALM: краткое введение . Конспект лекций по информатике . 9416 . С. 371–380. DOI : 10.1007 / 978-3-319-26138-6_40 . ISBN 978-3-319-26137-9.
- ^ Лукидес, Майк (2012-06-07). "Что такое DevOps?" .
- ^ Тенденции рынка Garner: DevOps - не рынок, а философия, ориентированная на инструменты, которая поддерживает цепочку создания стоимости непрерывной доставки (отчет). Gartner. 18 февраля 2015.
- ^ Б с д е е г Избегайте сбоев, разработав цепочку инструментов, которая позволяет использовать DevOps (отчет). Gartner. 16 марта 2016 г.
- ^ Лучшие практики в управлении изменениями, конфигурацией и выпусками (отчет). Gartner. 14 июля 2010 г.
- ^ Роджер С. Прессман (2009). Программная инженерия: подход практикующего (7-е международное издание). Нью-Йорк: Макгроу-Хилл.