Текстовый курс по DevOps
Какие роли есть в вашей организации DevOps?
Специалист DevOps широкого профиля
Главная задача специалиста DevOps широкого профиля — обеспечить плавное внедрение, эффективное и устойчивое развитие и непрерывное совершенствование практик DevOps в организации и её командах. Поэтому компетентность каждого сотрудника и его умение работать с командами DevOps во многом определяют успех и долговечность DevOps-организации.
Независимо от того, работаете ли вы в DevOps-организации или сотрудничаете с командами DevOps, важно чётко понимать, почему и за счёт чего DevOps успешнее, эффективнее и удобнее в работе, чем другие методологии разработки и поставки ПО. Сегодня, в эпоху цифровизации, когда программное обеспечение и всё, что с ним связано, играет ключевую роль, мы настоятельно рекомендуем всем освоить широкий спектр навыков DevOps, независимо от того, работаете ли вы специалистом, руководителем или менеджером в ИТ, разработке или технологиях.
Руководитель DevOps
Руководители DevOps отвечают за успешное применение знаний DevOps в своих организациях. Они помогают командам изменить культуру работы и мышления в духе DevOps. Они умеют конструктивно влиять на команды и руководство, чтобы добиваться результата. Руководители DevOps помогают согласовать работу команд со стратегией бизнеса. Они определяют и отбирают инициативы, устанавливают их рамки и приоритеты и в конечном счёте управляют внедрением DevOps в организации.
Руководители DevOps подбирают ключевых сотрудников DevOps-подразделений и следят, чтобы все специалисты прошли необходимое обучение, получили задачи и работали над проектами, соответствующими их навыкам и опыту. Они активно обучают и наставляют команды DevOps, помогают планировать ресурсы, решают проблемы и устраняют препятствия для успеха всей DevOps-организации.
Руководители DevOps отчитываются перед высшим руководством о выполнении заранее установленных целей DevOps для бизнеса и о согласованных показателях производительности. Они распространяют лучшие решения, достигнутые улучшения и истории успеха и используют их во всей DevOps-организации. Они тесно сотрудничают со всеми командами DevOps, уделяя особое внимание руководителям проектов, владельцам продуктов, руководителям выпусков, преподавателям и коучам DevOps ввиду особых задач, которые те решают в организации.
Руководитель проекта DevOps
Руководитель проекта DevOps отвечает за достижение заявленных целей проекта. Он ставит ясные и достижимые цели, формирует требования к проекту и управляет ограничениями проектного треугольника, связанными со стоимостью, сроками, содержанием и качеством.
Руководитель проекта DevOps часто представляет интересы заказчика и должен точно определить и реализовать его потребности, опираясь на знание компании, которую представляет. Он связывает команду разработки и поставки с заказчиком. Поэтому ему необходимо хорошо знать свою отрасль, чтобы понимать возникающие проблемы и обсуждать их с командой и заказчиком. Умение адаптироваться к внутренним процедурам стороны по контракту и выстраивать тесные связи с назначенными представителями помогает эффективно решать вопросы стоимости, сроков, содержания и качества, а главное — обеспечить удовлетворённость заказчика.
Должность «руководитель проекта DevOps» означает, что этому человеку поручено завершить проект. Он несёт за него полную ответственность и обладает полномочиями, необходимыми для достижения целей в рамках бюджета, в срок и с максимально возможным качеством.
Владелец продукта DevOps
Владелец продукта DevOps выполняет широкую и особую роль, которая объединяет все сложные стороны традиционных ролей руководителя проекта и менеджера продукта. Он также представляет интересы заказчика в команде DevOps и следит, чтобы нужная работа выполнялась вовремя. Чтобы каждый выпуск приносил максимум дополнительной пользы, владелец продукта должен тесно взаимодействовать с командами и процессами разработки и поставки ПО в DevOps.
Вот некоторые основные обязанности владельцев продуктов DevOps:
- Вести бэклог продукта DevOps.
- Помогать составлять дорожные карты и планы выпусков продукта.
- Выявлять зависимости продукта и расставлять приоритеты в соответствии с миссией организации.
- Управлять взаимодействием и обменом информацией с заинтересованными сторонами.
Даже если в команде DevOps вы выполняете другую роль, при непосредственной работе с заказчиками важно понимать задачи владельца продукта DevOps, чтобы максимально помогать заказчикам и приносить им как можно больше пользы.
Архитектор DevOps
Архитектор DevOps отвечает за архитектуру, проектирование и разработку инструментов и процессов развёртывания продукта. Он проектирует и разрабатывает новые решения для создания и поддержки архитектуры продукта, а также связанных инструментов и процессов конвейера непрерывной интеграции и развёртывания.
Архитекторы DevOps формируют набор слабосвязанных сервисов, чтобы изменения в этих сервисах или средах минимально затрагивали потребителей. Некоторая связанность неизбежна: потребитель должен пользоваться сервисом. Архитекторы DevOps сводят зависимости к минимуму, отделяя интерфейс от реализации, устанавливая правила версионирования и контракты времени выполнения и обеспечивая независимость от платформы и прозрачность расположения.
Архитекторы DevOps играют ключевую роль в успехе организаций и команд DevOps. Помимо оптимальной слабосвязанной архитектуры продуктов и услуг, организациям нужна исключительно надёжная, полностью автоматизированная среда без препятствий. При каскадном подходе всем требовались внедорожники с полным приводом, чтобы пробираться по бездорожью. Задача архитектора DevOps — построить шоссе, чтобы остальные могли ездить на более быстрых машинах.
Разработчик DevOps
Как разработчик DevOps вы превращаете бизнес-цели заказчиков в программные решения и системы. Главное отличие от обычного разработчика в том, что на протяжении всей работы вы учитываете бизнес-цели и потребности клиентов. Вы точно понимаете, зачем вас нанял работодатель и чего ждут заказчики.
Как надёжный технологический партнёр клиентов вы даёте им и своему работодателю уверенность в вас и все основания продолжать сотрудничество. Именно вы связываете бизнес-цели и требования с проектами ПО и строками работоспособного кода. Ваша роль выходит за рамки проектирования или программирования. Вы отвечаете за весь инженерный жизненный цикл ПО: от анализа требований, архитектурного видения и автоматизации тестирования до пользовательского опыта, расширения, эксплуатации, сопровождения и вывода из эксплуатации.
Вы развёртываете работоспособные решения частыми небольшими итерациями. Вы обеспечиваете непрерывную поставку проектов и ПО клиентам, чтобы быстро и без перерывов создавать ценность для их и вашего бизнеса. Помните о своей задаче: чтобы заказчики были довольны, а созданное вами ПО нравилось и им, и вам!
Если вы увлечены разработкой и стремитесь создавать эффективные и качественные системы мирового уровня, мы настоятельно рекомендуем вам стать разработчиком DevOps.
Инженер эксплуатации DevOps
Инженеры эксплуатации DevOps отвечают за мониторинг, обслуживание и развёртывание передового ПО и инфраструктуры, на которых работают их продукты. Они развёртывают и обслуживают сетевую инфраструктуру и серверы в центрах обработки данных. Они также участвуют в установках вместе с командами поставки и развёртывания DevOps и разрабатывают планы действий на случай сбоев при поставке и развёртывании.
Их работа охватывает и физическое развёртывание оборудования в ЦОД, и тесное взаимодействие с заинтересованными сторонами, особенно с разработчиками DevOps, чтобы доступность, удобство сопровождения, возможность мониторинга и аналитика были заложены в основу продуктов.
За всем, что видят клиенты вашей организации, стоит архитектура, созданная инженерами эксплуатации DevOps. Эти инженеры обеспечивают бесперебойную работу систем. Они делают возможным весь продуктовый портфель организации: разрабатывают и поддерживают продукты и услуги и создают платформы следующего поколения.
Они гордятся тем, что остаются инженерами для инженеров, и любят разбирать устройства, даже если это лишает их гарантии, чтобы затем собрать их заново. Они всегда готовы дежурить, поддерживать работу систем и сетей и обеспечивать клиентам максимально качественное и быстрое обслуживание.
Инженер по обеспечению качества DevOps
Инженеры по обеспечению качества DevOps активно изучают уникальные преимущества продукта, требования, сценарии использования, архитектуру ПО и другие проектные материалы, чтобы выбрать виды тестирования для проверки качества продукта. Вместе с разработчиками и руководителями проектов DevOps они выбирают методы реализации тестов и инструменты для их выполнения.
Инженеры по обеспечению качества DevOps составляют списки нестандартных тестовых сценариев с установкой «найти способ сломать». Они определяют приоритет и сложность сценариев, пишут и проверяют подробную документацию, чтобы остальная команда правильно понимала тесты.
Инженеры по обеспечению качества DevOps постоянно отслеживают и анализируют выполнение тестов, чтобы убедиться, что они достигают своих целей. Они выступают уверенными и надёжными профильными экспертами и объясняют цели и важность своих тестов. Они регистрируют и разбирают дефекты и следят за тем, чтобы запланированные функции продукта не урезались.
Они привлекают всю команду DevOps к проверке схем тестирования и учитывают отзывы коллег, чтобы добавлять новые нестандартные тесты и устранять дублирование. Значительную часть времени они автоматизируют и выполняют тесты, а также запускают их повторно, чтобы проверить исправления от команд разработки ПО.
Инженер по информационной безопасности DevOps
В традиционных ИТ-организациях об информационной безопасности зачастую вспоминают в последнюю очередь. Это ещё одно нефункциональное требование, которым часто занимаются тогда, когда обнаруживать и устранять проблемы сложнее, дороже и приходится в спешке.
Инженеры по информационной безопасности DevOps разрабатывают общую стратегию безопасности организации и подробно планируют её реализацию. Они понимают, что пользу каждой дополнительной меры защиты нужно постоянно сопоставлять с возможной нагрузкой на бизнес. Они заранее выявляют и устраняют проблемы безопасности в проектах на ранних этапах разработки продуктов, а также в работающем ПО. Они контролируют сети и телеметрию ПО и распределяют усилия по степени риска.
В DevOps-организациях инженеры по информационной безопасности работают вместе с разработчиками и инженерами эксплуатации DevOps. Их рекомендации и профильные знания учитываются значительно раньше в процессе разработки и поставки ПО. Благодаря этому организация закладывает безопасность в продукт на протяжении всего жизненного цикла поставки.
Руководитель выпусков DevOps
Руководители выпусков DevOps управляют продуктом и координируют работу с ним от разработки до запуска в рабочей среде. Обычно они занимаются техническими деталями и препятствиями, которыми традиционный руководитель проекта заниматься не может. Они координируют разработку, тестирование и развёртывание, следят за их интеграцией и потоком работы, чтобы обеспечить непрерывную поставку. Они создают и поддерживают всю цепочку инструментов поставки приложений.
Руководители выпусков DevOps тесно сотрудничают с руководителями проектов и владельцами продуктов DevOps: составляют дорожные карты и планы выпусков, определяют зависимости и делают их видимыми, следят за тем, чтобы команды DevOps расставляли приоритеты зависимых задач, помогают вести бэклог продукта DevOps и управлять взаимодействием и обменом информацией с заинтересованными сторонами.
Преподаватель DevOps
Как и в случае других быстрорастущих тенденций в ИТ, при внедрении DevOps возможны недопонимание и ошибочные представления. Многие команды и компании DevOps допускают организационные, поведенческие и эксплуатационные ошибки, которые ухудшают результаты работы команд и мешают им встроиться в организацию, обычно ещё не достигшую настоящей гибкости. К сожалению, из-за таких несоответствий организации иногда отказываются от практик DevOps, что вредит отрасли и сторонникам DevOps.
Преподаватели DevOps — талантливые сторонники DevOps, такие как вы, которые помогают организациям правильно обучать сотрудников этим практикам.
Преподаватели могут работать независимо от команд DevOps и получать прямую поддержку руководства, чтобы обучать организацию сверху вниз. Они также могут входить в команды DevOps и вместе с руководством добиваться нужной поддержки и последовательно обучать другие подразделения взаимодействию с командами DevOps. Если вы хотите помочь своим командам DevOps, бизнес-подразделениям и кураторам из руководства правильно освоить и внедрить практики DevOps, мы настоятельно рекомендуем вам стать преподавателем DevOps.
Преподаватели обычно обучают внешних клиентов DevOps в учебной среде. Коучи обычно работают с участниками команд DevOps внутри организаций клиентов и следят за тем, чтобы те правильно понимали и применяли DevOps. Они дают практические советы командам прямо в ходе реальной работы.
Коуч DevOps
Как и в случае других быстрорастущих тенденций в ИТ, при внедрении DevOps возможны недопонимание и ошибочные представления. Многие команды и компании DevOps допускают организационные, поведенческие и эксплуатационные ошибки, которые ухудшают результаты работы команд и мешают им встроиться в организацию, обычно ещё не достигшую настоящей гибкости. К сожалению, из-за таких несоответствий организации иногда отказываются от практик DevOps, что вредит отрасли и сторонникам DevOps.
Как и преподаватели, коучи DevOps — талантливые сторонники DevOps, такие как вы, которые помогают организациям правильно понимать, распространять и внедрять эти практики.
Коучи могут работать независимо от команд DevOps и получать прямую поддержку руководства, чтобы внедрять DevOps в организацию и её культуру сверху вниз. Они также могут входить в команды DevOps и вместе с руководством добиваться нужной поддержки и последовательно развивать другие подразделения, чтобы те могли эффективно взаимодействовать с командами DevOps. Если вы хотите помочь своим командам DevOps, бизнес-подразделениям и кураторам из руководства правильно понять, принять и внедрить практики DevOps, мы настоятельно рекомендуем вам стать коучем DevOps.
ВЫВОДЫ
В этой главе мы рассмотрели самые распространённые роли в DevOps-организации. Помните, что не в каждой команде должен быть человек для каждой из этих ролей. Меньше значит больше. Сосредоточьтесь на немногих важных задачах и отбросьте множество второстепенных, чтобы добиться результатов в ИТ и бизнесе, к которым стремится ваша организация.
Хорошее правило: команде нужны роли и навыки, которые обеспечивают максимально эффективный непрерывный поток работы. Эту тему мы начнём разбирать в следующей главе.
