DevOps
↓
Текстовые препроцессоры: awk, grep, sed
↓
|
awk
|
|
grep
|
|
sed
|
Что такое DevOps
DevOps это акроним от английского
Development и Operations
По-русски обычно произносится как девопс с ударением на второй слог.
Является методологией активного
взаимодействия специалистов по разработке со специалистами по
информационно-технологическому обслуживанию и взаимная интеграция их
рабочих процессов друг в друга для обеспечения качества продукта.
Предназначена для эффективной организации создания и обновления программных продуктов и услуг.
Основана на идее тесной взаимозависимости создания продукта и эксплуатации
программного обеспечения, которая прививается команде как культура создания продукта.
Общее назначение
Организациям, которым необходимы частые выпуски программного обеспечения,
может понадобиться DevOps.
Дневной цикл релизов может быть гораздо более интенсивным у организаций,
которые выпускают несколько разнонаправленных приложений.
Методология фокусируется на стандартизации окружений разработки с целью
быстрого переноса программного обеспечения через стадии, способствуя быстрому
выпуску версий.
В идеале, системы автоматизации сборки и выпуска должны быть доступны всем
разработчикам в любом окружении, и у разработчиков должен быть контроль над окружением,
а информационно-технологическая инфраструктура должна становиться более
сфокусированной на приложении.
Задача DevOps-инженеров — сделать процесс разработки и поставки программного
обеспечения согласованным с эксплуатацией объединив их в единую команду,
что позволяет организовать процессы, которые далее можно автоматизировать
с помощью инструментов.
DevOps-движение возникло в 2009 году и было призвано решить проблемы
взаимодействия команд разработки и эксплуатации программных продуктов,
в том же году в Бельгии была организована серия конференций
«DevOps Days».
Затем «DevOps-дни» проходили в различных городах и странах мира.
Набор инструментов
Поскольку DevOps — это командная работа (между сотрудниками,
занимающимися разработкой, операциями и тестированием), нет единого инструмента
«DevOps»: это скорее набор (или «инструментальная цепочка DevOps»), состоящий из
нескольких инструментов.
Как правило, инструменты DevOps вписываются в одну или несколько
из этих категорий, что отражает ключевые аспекты разработки и доставки программного обеспечения:
-
Кодирование
— разработка и анализ кода, инструменты контроля версий, слияние кода;
-
Сборка — инструменты непрерывной интеграции, статус сборки;
-
Тестирование
— инструменты непрерывного тестирования, обеспечивающие быструю и своевременную оценку бизнес-рисков;
-
Упаковка — репозиторий артефактов, предварительная установка приложения;
-
Релиз — управление изменениями, официальное утверждение выпуска, автоматизация выпуска;
-
Настройка — конфигурация и управление инфраструктурой, Инфраструктура как инструменты кода;
-
Мониторинг — измерение производительности приложений, взаимодействие с конечным пользователем.
Несмотря на то, что доступно множество инструментов, некоторые категории из
них имеют особо важное значение в настройке инструментальных средств DevOps
для использования в организации.
Некоторые попытки идентифицировать эти основные инструменты можно найти в существующей литературе.
Такие инструменты, как управление контейнеризацией
(Docker,
Kubernetes),
непрерывной интеграцией (
Jenkins
,
GitLab),
развёртывания сред по шаблону
(Puppet,
Ansible, Terraform)
и многие другие — часто используются и часто упоминаются в дискуссиях по инструментам DevOps.