Для чего нужен DevOPS инженер?
DevOps — это стратегия разработки программного обеспечения, которая ликвидирует разрыв между разработчиками и ИТ-персоналом. С DevOps организации могут быстро выпускать небольшие функции и учитывать полученные отзывы.
DevOps инженер — это тот, кто понимает жизненный цикл разработки программного обеспечения и имеет полное представление о различных инструментах автоматизации для разработки цифровых конвейеров. Он работает с разработчиками и ИТ-специалистами для контроля над выпусками кода.
Структура отдела DevOPS
Новый подход к ведению работ— devops, подразумевает частые дополнительные изменения в версии кода. Инженеры DevOp должны понимать основы языков разработки программного обеспечения и знать инструменты разработки, используемые для создания нового кода или обновления существующего кода. Перечислим различные роли в девопс отделе:
- Evangelist — лидер, ответственный за реализацию DevOps.
- Release Manager — выпускает новые функции и обеспечивает стабильность продукта после релиза.
- Automation Expert — отвечает за достижение автоматизации и оркестровки инструментов.
- Тестировщик — разрабатывает код и тестирует его.
- Инженер безопасности — следит за безопасностью и здоровьем продукта.
Навыки DevOPS и обязанности инженера
Так как специальность относительно молодая, то четких требований к ней нет. Каждая компания предъявляет свои запросы к инженеру DevOPS. Посмотрим типичное объявление на сайте по поиску работы. Вот требования одной международной компании:
- Знание одной облачной платформы ( AWS , Azure , GCP ).
- Практическое знание инструментов управления конфигурацией и развертывания, таких как Puppet , Ansible , Chef , Terraform.
- Знание сценариев и рабочих процессов Git и Git.
- Опыт разработки конвейеров непрерывной интеграции / непрерывной доставки (CI / CD).
Инженер DevOps должен знать, как управлять IT-инфраструктурой, необходимой для поддержки программного кода в специализированных облачных средах. От него потребуется выделение необходимых ресурсов, выбор подходящей модели развертывания, указание протокола тестирования для проверки выпуска и отслеживания производительности после выпуска. Задачи могут включать подготовку тестовых данных, анализ результатов, устранение неполадок и сообщение о проблемах обратно в разработку.