Разумеется, определенные инструментальные средства способны помочь организации, внедряющей DevOps, наладить более эффективную работу, но стержень методологии – это сами команды, которые ее практикуют. Переход на DevOps означает освоение новых и иногда пугающих стратегий, обязанностей и целей. Перечислим три признака того, что ваша команда DevOps движется в верном направлении.
1. Команды, ориентированные на продукт
Истинная DevOps-организация поделена на ИТ-команды, каждая из которых занимается отдельным продуктом. Это значит, что придется отказаться от прежнего, десятилетиями применявшегося принципа деления по специализации. В продуктовой DevOps-команде обычно есть следующие роли: менеджеры по продукту, разработчики, специалисты по инфраструктуре, сисадмины и др.
Естественно, это не значит, что для каждого проекта нужен свой специалист в каждой области. Например, один и тот же эксперт по сетевой инфраструктуре может работать в нескольких продуктовых командах, распределяя рабочее время между ними согласно приоритетам организации.
Группированию по дисциплинам по-прежнему придается важное значение. Если попросить сисадминов следить за общей картиной происходящего, это поможет слаженной работе, а разработчики могли бы время от времени собираться, чтобы делиться новыми методами, обмениваться опытом и ценными сведениями.
2. Неудачи переносятся с достоинством
Истинные DevOps-команды не будут пытаться предотвратить провал путем замедления темпов перемен. Они будут продолжать быстро двигаться вперед, полагаясь на способность быстрого восстановления. Внедряя продукты в рамках малых, контролируемых спринтов, команда уверена, что количество изменений при очередном вводе в эксплуатацию минимально, благодаря чему снижаются риски и упрощается восстановление после сбоев.
Каждый сбой становится еще одним тестом, который включают в процесс сборки. Вместо того чтобы полагаться на накопленный опыт и тем самым избежать повторения подобного сбоя в будущем, команды DevOps вносят его в сам процесс разработки, чтобы такое повторение предотвращалось автоматически.
Организация должна начать более зрело относиться к провалам, отказаться от практики поисков виноватого и сделать подготовку, обучение сотрудников и предотвращение провалов основополагающими элементами процесса разработки.
3. Тотальная автоматизация
Ошибка человека – главный источник сбоев любого процесса и самая большая помеха быстрому продвижению вперед. В DevOps-командах высоко ценят автоматизацию – за надежность и скорость, и понимают, что автоматизировать нужно все – от контроля выполнения правил приемки кода и его анализа до запуска тестовой среды, тестирования модулей и сдачи в рабочую эксплуатацию.
При этом эффективная команда DevOps не будет замыкаться на каких-то одних средствах или технологиях автоматизации: выбирается то, что подходит для решения задачи, и если какой-то иной инструмент обеспечит более эффективное достижение целей бизнеса, то на него с легкостью перейдут, отказавшись от прежнего. Эпитет «гетерогенная» как нельзя лучше подходит к любой DevOps-среде. Переход на подобные принципы может быть непростым для организации старого образца, в которой привыкли пользоваться определенной платформой или методикой.
В эффективных командах DevOps знают, что задача ИТ-отдела – быстро предоставлять приложения и сервисы своим пользователям, а также взаимодействовать с ними. Цель DevOps – проложить максимально ровный, безопасный, быстрый и надежный путь от клавиатуры разработчика до рабочей среды так, чтобы каждый спринт приводил к созданию проверенного, готового к рабочему развертыванию кода.
В DevOps нельзя игнорировать эксплуатацию созданных систем – нужно автоматизировать как можно больше соответствующих задач.
– Don Jones. 3 signs you’re on an actual devops team. InfoWorld. November 28, 2016