Что такое DevOps

DevOps (от английских слов development и operations) — набор практик, нацеленных на активное взаимодействие специалистов по разработке со специалистами по технической поддержке и взаимную интеграцию их рабочих процессов друг в друга. Базируется на идее о тесной взаимозависимости разработки и эксплуатации программного обеспечения и нацелен на то, чтобы помогать организациям быстрее создавать и обновлять программные продукты и услуги.

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

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

DevOps, согласно модели DevOps Gartner, это:

  • Культура взаимодействия
  • Люди
  • Инструменты
  • Процессы (инженерные и процессные практики)

Начинать изменения необходимо не с внедрения инструментов, а с развития соответствующей культуры.

Типы корпоративной культуры

Патологические Бюрократические Производительные
Методы управления Регламентирующие Регламентирующие Целеполагающие
Уровень сотрудничества Низкий уровень Средний уровень Высокий уровень
Ответственность Уклонение Узкая область Широкая область
Горизонтальные связи Порицаются Допускаются Поощряются
Реакция на сбои Новые козлы отпущения Новые правила Новые исследования
Отношение к инновациям Подавляются Приводят к проблемам Внедряются
Как передается информация Кому выгодно? Кому предписано? Для кого важно?
К чему приводят сбои Поиск виновных Новые инструкции Исследование проблемы

Культура DevOps это:

  • Культура доверия
  • Культура сотрудничества
  • Общая ответственность
  • Постоянное совершенствование
  • Инженерная культура
  • Культура обучения

Люди

  • Кросс-функциональные команды (Full-Stack Teams)
  • Постоянная ротация (Job rotation)
  • Фича-команды (Feature Teams)
  • Автономные команды (Autonomous Teams)
  • Совместные встречи (Joint meetings)
  • Специалисты поддержки (Site Reliability Engineers)
  • Разработчики платформы (Platform Engineers)

Технологии

  • Инфраструктура как код (Infrastructure as Code)
  • Сервисы самообслуживания для разработчика (Developer Self-service)
  • Разработка, тестирование и развертывание за один шаг (One-Step Build, Test, Deploy)
  • Сквозной мониторинг (Monitor Everything)
  • Встроенные инструменты компиляции (Integrated Tool Chains)
  • Чаты для работы с инфраструктурой (ChatOps)
  • Непрерывный мониторинг (Continuous Monitoring)

Процессы (инженерные и процессные практики)

  • Непрерывная интеграция (Continuous Integration)
  • Непрерывное тестирование (Continuous Testing)
  • Непрерывные поставки (Continuous Delivery)
  • Создание продукта минимальной ценности (MVP)
  • Разработка небольшими кусками (Small Batches)
  • Автосборка (Automated Builds)
  • Автотестирование (Automated Testing)
  • Автоматизация релизов (Release Automation)
  • Выкатка функционала на часть пользователей (Canary Rollouts)
  • Возможность быстро откатки изменений (Fail Forward)
  • Полная автоматизация (Instrument everything)
  • Версионирование (Version Everything)
  • Разработка через тесты (TDD)
  • Исправление технического долга (Technical Debt)
  • Максимальное покрытие тестами (Test Everything)
  • Инструменты имитации сбоев (Chaos Monkey, Дикая обезьяна)
  • Общие метрики (Common Metrics)
  • Оптимизация рабочего процесса (Optimize Flow)
  • Выявление потоков ценности (Value Streams)

Цели DevOps

Конкретные цели DevOps охватывают весь процесс поставки программного обеспечения. Они включают:

  1. Сокращение времени для выхода на рынок;
  2. Снижение частоты отказов новых релизов;
  3. Сокращение времени выполнения исправлений;
  4. Уменьшение количества времени на восстановления (в случае сбоя новой версии или иного отключения текущей системы).

Источники: в подготовке статьи использованы материалы с сайта https://www.gitbook.com/book/powertsai/devops-/details

Share

Сертифицированный скрам-мастер, тренер и коуч Сфера интересов: Развитие команд и организаций, тренинги и обучение

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *