Последние годы все чаще в вакансиях сферы IT появляется некто DevOps. Это относительно новая специализация, которая стала решением наболевших проблем взаимодействия нескольких отделов разработки программного обеспечения и быстро набрала популярность.
DevOps engineer (development + operations) — нечто среднее, между системным администратором и разработчиком. Ниже рассмотрим особенности данной профессии и основные навыки, необходимые для нее. Здесь важно быть опытным сисадмином, но так себе программистом — вполне хватит и одного языка.
Основные задачи DevOps-инженера
- Запуск релиза в производство;
- Стандартизация окружения разработки;
- Настройка инфраструктуры для нормального функционирования ПО;
- Интеграция процессов разработки в поставку;
- Обнаружение и исправление различных проблем;
- Настройка среды под внесение периодических изменений;
- Автоматизация процессов.
По сути, на DevOps лежит весь процесс автоматизации и конфигурации процесса деплоя системного ПО. В его задачи входит отслеживание и тщательный мониторинг того, что подготовили разработчики. Если все успешно, релиз запускают в продакшн. Сюда же относится тестирование дизайна и архитектуры.
Это важная и ответственная работа. Многие по ошибке сравнивают DevOps с сисадминами, которых не очень то воспринимают бывалые сисадмины, но очень удивляются расценками уровня зарплат.
Представители данной профессии управляют рядом инструментов от средств настройки конфигурации, до программирования. Они используют и облачные технологии, и средства виртуализации.
Базовые навыки DevOps-инженера
Среди базовых навыков Development operations необходимо следующее:
- Сетевые технологии — DNS, TCP/IP, SMTP прочие знания 3-го уровня OSI;
- Знание Linux на уровне автоматизации установки, апдейта, мониторинга и настройки безопасности;
- Системы контейнеров — Docker, Vagrant;
- Виртуализация — OpenVZ, Xen;
- Языки программирования — Java, реже Ruby;
- Настройка серверов и миграция — PHP, HHVM, Apache, Nginx, прочее;
- VCS, Puppet, Capistrano;
- Автоматизация восстановления бэкапов;
- Оптимизация издержек в своей сфере;
- И главное — находить решения задач в интернете т.к. не всегда процессы будут типичными;
И это только типичные скиллы. В каждой компании могут быть свои нюансы, которые придется осваивать на ходу и опять же — использовать интернет для самообразования и решения поставленных задач.
Комментарии