Набор инструментов DevOps - DevOps toolchain

А Набор инструментов DevOps представляет собой набор или комбинацию инструментов, которые помогают в доставке, разработке и управлении программными приложениями на протяжении жизненного цикла разработки систем, координируемых организацией, которая использует DevOps практики.

Как правило, инструменты DevOps подходят для одного или нескольких видов деятельности, которые поддерживают определенные инициативы DevOps: планирование, создание, проверка, упаковка, выпуск, настройка, мониторинг и контроль версий.[1][2]

Цепочки инструментов

В программного обеспечения, набор инструментов - это набор инструментов программирования, который используется для выполнения сложной задачи разработки программного обеспечения или для создания программного продукта, который обычно представляет собой другую компьютерную программу или набор связанных программ. Как правило, инструменты, образующие цепочку инструментов, выполняются последовательно, поэтому выходные или результирующие состояние окружающей среды каждого инструмента становится входной или начальной средой для следующего, но этот термин также используется при ссылке на набор связанных инструментов, которые не обязательно выполняются последовательно.[3][4][5]

Поскольку DevOps - это набор практик, которые подчеркивают сотрудничество и взаимодействие обоих разработчики программного обеспечения и другие специалисты в области информационных технологий (ИТ), автоматизируя процесс поставки программного обеспечения и изменений инфраструктуры, его реализация может включать определение серии инструментов, используемых на различных этапах жизненного цикла; потому что DevOps - это культурный сдвиг и сотрудничество между разработка и операций, нет ни одного продукта, который можно было бы рассматривать как единый инструмент DevOps. Вместо этого на одном или нескольких этапах жизненного цикла используется набор инструментов, потенциально от множества поставщиков.[6][7]

Этапы DevOps

Строить планы

План состоит из двух вещей: «определить» и «запланировать».[8] Это действие относится к бизнес-ценности и требованиям приложения. В частности, мероприятия «Плана» включают:

  • Производственные показатели, объекты и обратная связь
  • Требования
  • Бизнес-метрики
  • Обновить показатели выпуска
  • План выпуска, сроки и экономическое обоснование
  • Политика безопасности и требования

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

Создавать

Создание состоит из сборки, кодирования и настройки процесс разработки программного обеспечения.[8] Конкретные виды деятельности:

  • Дизайн программного обеспечения и конфигурации
  • Кодирование, включая качество кода и производительность
  • Сборка программного обеспечения и производительность сборки
  • Релиз-кандидат

Инструменты и поставщики в этой категории часто пересекаются с другими категориями. Поскольку DevOps направлен на устранение разрозненности, это отражается в деятельности и продукте. решения.[требуется разъяснение ]

Проверять

Проверка напрямую связана с обеспечением качества выпуск программного обеспечения; мероприятия, направленные на обеспечение качество кода поддерживается, и самое высокое качество развертывается в производстве.[8] Основными видами деятельности здесь являются:

Решения связанные с проверкой действия обычно делятся на четыре основные категории: Автоматизация тестирования , Статический анализ, Тестовая лаборатория и Безопасность.

Упаковка

Упаковка относится к действиям, выполняемым после того, как релиз будет готов к развертыванию, часто также называемым подготовкой или предварительным выпуском / «препродакшеном».[8] Это часто включает в себя такие задачи и действия, как:

  • Утверждения / предварительные утверждения
  • Конфигурация пакета
  • Триггерные релизы
  • Постановка и проведение релиза

Релиз

Действия, связанные с выпуском, включают расписание, оркестровку, подготовку и развертывание программного обеспечения в производственной и целевой среде.[9] Конкретные действия по Релизу включают:

  • Согласование выпуска
  • Развертывание и продвижение приложений
  • Откаты и восстановление
  • Запланированные / запланированные выпуски

Решения, которые охватывают этот аспект набор инструментов включают автоматизация выпуска приложений, автоматизация развертывания и управление выпуском.

Настроить

Действия по настройке относятся к сфере операций DevOps. После развертывания программного обеспечения могут потребоваться дополнительные действия по подготовке и настройке ИТ-инфраструктуры.[8] Конкретные виды деятельности, включая:

  • Инфраструктура хранения, базы данных и предоставление и настройка сети
  • Поставка и настройка приложения.

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

Монитор

Мониторинг - важное звено в цепочке инструментов DevOps. Это позволяет ИТ-организации выявлять конкретные проблемы конкретных выпусков и понимать их влияние на конечных пользователей.[8] Краткое описание действий, связанных с Monitor:

  • Производительность ИТ-инфраструктура
  • Ответ и опыт конечного пользователя
  • Производственные показатели и статистика

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

Управление версиями

Контроль версий - важное звено в цепочке инструментов DevOps и компонент управления конфигурацией программного обеспечения. Управление версиями это управление изменениями в документах, компьютерных программах, крупных веб-сайтах и ​​других коллекциях информации.[8] Сводка действий, связанных с контролем версий:

  • Нелинейное развитие
  • Распределенная разработка
  • Совместимость с существующими системами и протоколами
  • Дизайн на основе инструментария

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

Смотрите также

Рекомендации

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