Методология DevOps позволяет компаниям-разработчикам автоматизировать подготовку инфраструктуры, тестирование, развертывание, мониторинг и эксплуатацию своих продуктов. Однако препятствием для внедрения DevOps становится поиск квалифицированных специалистов. В этой статье разберемся, что делать, если нанять в штат DevOps-инженера невозможно.
Используйте навигацию, если не хотите читать текст полностью:
→ Что такое DevOps as a Service
→ На каждом этапе — своя команда
→ Выводы
С чего все началось
«Классический» метод разработки ПО предполагает, что каждая команда работает только в рамках своего процесса: разработчики пишут код и после их локальной проверки подключается команда тестировщиков, а команда эксплуатации присоединяется лишь на финальных этапах.
Суть подхода DevOps в том, что процессы разработки становятся одним циклом. Собственно, название DevOps образовано от сочетания слов development и operations. Особое внимание здесь уделено коммуникациям между командами во время всего процесса работы над продуктом, что позволяет вывести программное решение в релиз быстрее и с меньшими усилиями.
Вместе с тем развитие идеи непрерывной разработки приводит к повышению качества продукта, а также скорости выявления и устранения проблем. Как итог — внедрение DevOps-практик помогает снизить временные и материальные затраты компании, а также сделать процессы более гибкими.
Кто такой DevOps-инженер
Это специалист, отвечающий за автоматизацию и оптимизацию процессов разработки и эксплуатации программного обеспечения, а также обслуживание IT-инфраструктуры организации. Помимо этого, его обязанности часто включают в себя развертывание и управление приложениями, серверами, сетями и прочими системами.
Все круто, но есть нюанс
Как вы могли догадаться, надобности во внедрении такого подхода повсеместно нет. Применение методологии DevOps оправдано только в тех случаях, когда программные решения так или иначе приносят доход. Помимо разработчиков ПО сюда можно отнести сервисы доставки, стриминговые площадки, онлайн-магазины и т. д. Иными словами, в применении метода заинтересованы те организации, которые понесут убытки или потеряют клиентов при наличии сбоев в программном продукте.
Однако собирать свою команду с нуля — не всегда быстрая и выгодная задача. Бывает, когда не получается уложиться в сроки ввиду высокой нагрузки команды или нехватки в ней определенных компетенций. В таких случаях можно воспользоваться DevOps as a Service.
Что такое DevOps as a Service
Проще говоря, в рамках сервиса специалисты поставщика внедряют и поддерживают DevOps-подходы в компании заказчика: создают комфортную среду разработки для приложений, продумывают их архитектуру, настраивают CI/CD-процессы.
Рассмотрим, какие задачи решает DevOps as a Service.
- Наверстать недостающие компетенции. Чтобы не нанимать редких специалистов в штат, заказчик передает решение задач на аутсорсинг — как правило, так будет дешевле и быстрее.
- Дополнить команду новыми силами. Поставщик услуги подхватит задачи, которые давно откладывались, и разгрузит команду заказчика.
- Уложиться в сроки и помочь продукту выйти на рынок как можно раньше (сократить time-to-market).
На каждом этапе — своя команда
Мы в Selectel уже более 12 лет помогаем клиентам внедрять лучшие DevOps-практики и имеем большой опыт в этой сфере. На примере соответствующей услуги DevOps as a Service пробежимся по основным задачам и командам, которые работают с ними.
Реализация
Команда реализации продумывает архитектуру новых проектов и переносит их на IT-инфраструктуру провайдера. А еще они настраивают CI/CD-процессы и осуществляют подключение к системе мониторинга.
В команду реализации входят:
- DevOps-инженеры,
- менеджер проекта,
- технический лид.
Сопровождение
После переноса проекта на инфраструктуру Selectel его забирает команда сопровождения. Она реагирует на возникающие события от системы мониторинга и поддерживает проект 24/7 по SLA.
В команду сопровождения входят:
- SRE-инженеры,
- менеджер проекта,
- технический лид.
Безопасность
Команда администрирования средств защиты экспертна в настройке межсетевых экранов, установке и настройке средств защиты информации, что позволяет значительно повысить уровень безопасности на клиентских проектах.
В команду администрирования средств защиты входят:
- DevSecOps-инженеры,
- технический лид.
Архитектура
Архитектор выполняет кроссфункциональную роль и приходит туда, где в нем нуждаются. Он дает рекомендации по оптимизации клиентских проектов, а также по использованию технологического стека. Постоянно занимается изучением новых технологий и обменом опыта, чтобы всегда быть в курсе актуальных проблем и решений.
Выводы
На наш взгляд, передача DevOps на аутсорс — это хорошее решение, когда заказчику не хватает собственных ресурсов или необходимо ускорить выход продукта.
.