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