Файл: Дэвис Дженнифер, Дэниелс КэтринД94 Философия DevOps. Искусство управления it. Спб. Питер, 2017. 416 с. ил. Серия Бестселлеры OReilly.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 399
Скачиваний: 25
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Глава 12. Инструменты: акселераторы культуры
269
использовать инструмент Test Kitchen для создания проекта по управлению вир- туальной машиной? Эксплуатационная команда использует этот инструмент при тестировании новых реализаций сервисов. Таким образом мы можем воссоздать то, что делает каждый сотрудник или команда».
«Нет, я раньше никогда не слышала о Test Kitchen. Я хотела бы познакомиться с этим инструментом поближе, особенно в свете того, что он позволит облегчить создание пользовательской виртуальной системы», — сказала Элис.
«Фактически мы начинаем с ChefDK. Этот набор для разработки кода от Chef. Он уже установлен на всех ноутбуках, находящихся у сотрудников компании, — за- метил Джордж. — Похоже, что мы должны координировать свои действия с ИТ- командой и обязаны позаботиться об обновлении документации, посвященной описанию локальной среды разработки для компании. Эти обязанности прописа- ны в моем новом контракте инженера по эксплуатации. И я не понимал, почему другие команды не выполняли эти действия».
Джордж проиллюстрировал простоту настройки быстрой «поваренной книги»
Chef. При этом использовался заранее созданный шаблон Test Kitchen, включа- ющий зеркальное отображение настроек, сделанных Элис, Джорди и Джози при установке MongoDB.
«Теперь я могу передать это обратно, в нашу централизованную среду Git, а любой из вас может получить проект и работать с ним дальше», — сказал Джордж.
Элис протестировала сказанное путем клонирования проекта и использования команд kitchen, как это делал Джордж. После того как образ ОС был синхронизи- рован, она быстро сформировала тестовую среду на своем ноутбуке.
«Эта работа также может быть сделана с помощью MySQL, и тогда мы сможем быстрее оценить преимущество выбранного решения на основе реальных показа- телей», — сказала Джози.
«А как насчет того, чтобы разделиться на две команды и в паре подключиться к нашему кластеру Jenkins? Это позволит нам протестировать процесс вытягива- ния программного проекта на каждую платформу с одновременным выполнением оценки», — сказал Джордж.
В конце концов все пришли к выводу, что использование MySQL имело смысл с точки зрения эксплуатационных расходов. Благодаря использованию визу- ализированных показателей соответствующие команды смогли оценить ис- пользование MySQL в среде. Благодаря использованию инструментов Chef, git и Jenkins каждый сотрудник может делиться своей работой, а не дублировать затраты времени и сил. В результате облегчается совместная работа людей из разных команд.
Благодаря использованию сотрудничества команда может в течение недели полу- чить начальную демоверсию приложения, для которого составлены обзоры. В ре- зультате команда разработки вместе с командой обеспечения безопасности может
270
Часть IV. Инструменты выделять больше времени на планирование алгоритмов обнаружения опасных вторжений. Благодаря открытому и постоянному общению каждый сотрудник может ощутить, что его голос был услышан и учтен. В результате каждый член группы может принять участие в выработке групповых решений.
Выводы
Убедитесь в том, что у вас имеется четко определенный набор ценностей для ва- шей организации. В компании Etsy имеется очень четкий, убедительный набор ценностей, который является своего рода руководством по принятию решений, связанных с инструментами и технологиями. Это руководство также определяет использование инструментов и технологий в ежедневной работе.
Фильтруйте используемые практики на основе текущих действий, выполняемых в вашей команде. Ниже перечислены практики, наблюдаемые в компаниях Etsy и DramaFever:
безупречная среда;
экспериментирование и итерация;
последовательное улучшение;
обучающие организации.
После того как вы идентифицировали ваши текущие действия и практики, вы будете в состоянии определить соответствие применяемых практик ценностям компании. Если, например, в список ваших ценностей входят программы с откры- тым исходным кодом, но вы чаще выбираете поставщика программ с закрытым ис- ходным кодом либо не даете людям возможности вносить свой вклад в коллекцию программ с открытым исходным кодом, это может быть признаком несоответствия ценностей в теории и на практике.
При выборе инструментов руководствуйтесь вашей культурой, уровнем навыков и потребностями. С течением времени выбор инструментов может изменяться.
Даже если ваши сотрудники и организации разделяют культурные особенности и ценности, они все равно испытывают разные технические и деловые потребно- сти. Несмотря на то что в примерах было рассмотрено великое множество ценно- стей и практик, в конечном итоге в компании DramaFever появился другой набор инструментов, отличающийся от рассмотренных ранее средств. Ни одна компания не является всегда «правой» или «лучшей». Вы должны знать, что является пра- вильным для вашей организации в момент принятия решений.
Поймите, что изменения в вашей культуре и в степени эффективности инструмен- тов не происходят в одночасье. Компания Etsy работает над своими инициативами в области мониторинга начиная с 2008 года и будет продолжать последователь- но оттачивать мастерство кодирования. Богатый набор инструментов, который
Глава 12. Инструменты: акселераторы культуры
271
появился в сообществе пользователей программ с открытым исходным кодом, не следует рассматривать в качестве готового решения, призванного решить все про- блемы, хотя он может оказаться полезным. Для внедрения изменений понадобятся время и непрерывная практика.
Знайте, что оценка вашего прогресса критически важна для достижения успеха.
Если вы находитесь в состоянии нулевого мониторинга, учтите, что это единствен- ная область, которой стоит уделить время. Чтобы воспользоваться дополнитель- ными преимуществами мониторинга, прочитайте книгу Джейсона Диксона (Jason
Dixon) Monitoring with Graphite (O’Reilly). Эта книга, а также другие источники информации приведены в главе 20.
И наконец, имейте в виду, что инструменты не полностью отделены от трех других столпов эффективных devops-практик. В конечном счете инструменты исполь- зуются людьми, чтобы помочь другим людям, для создания решений, предна- значенных для людей. Эту «человеческую составляющую» невозможно отделить от инструментов. Инструменты могут влиять и подвергаться влиянию на работу и общение. Чтобы добиться существенных и длительных изменений, следует учи- тывать все эти факторы и взаимодействия.
1 ... 20 21 22 23 24 25 26 27 ... 39
ГЛАВА 13
Инструменты: заблуждения
и устранение неполадок
В этой главе мы рассмотрим заблуждения и способы устранения проблем, которые могут возникать при выполнении различных сценариев, связанных с выбором и использованием инструментов в более широком смысле. Мы не будем касаться способов поиска и устранения проблем, связанных с использованием конкретных инструментов и технологий, поскольку эти вопросы выходят за рамки темы, рас- сматриваемой в этой книге. Мы остановимся на процессах принятия решений и раз- личных проблемах, связанных с использованием инструментов в рабочем потоке.
Заблуждения, связанные с инструментами
Многие ошибочные представления, связанные с использованием инструментов в devops-процессах, сводятся к важности конкретных инструментов в devops-ре- шениях.
Мы используем технологию X, тогда как другие
используют технологию Y; мы должны любой ценой
перейти к использованию технологии Y
Как упоминалось в части I, devops является культурным движением. Культура включает в себя набор технологий и крупномасштабных изменений. Все это, осо- бенно в случае санкционирования со стороны менеджмента, ведет к замедлению развития организации в целом. Прежде чем отказаться от используемой техноло- гии, нужно распознать в среде инструменты, являющиеся частью существующей культуры, узнать все об опыте взаимодействия людей с этими инструментами, о сходствах и различиях в использовании. В результате выполнения подобной про- верки и оценки вы сможете определить, какие изменения должны быть выполнены и следует ли их выполнять прямо сейчас.
Глава 13. Инструменты: заблуждения и устранение неполадок
273
Единственное исключение из вышеописанной ситуации — обновления. Модер- низация технологии необходима. Чем дольше вы будете откладывать обновление, тем больше вы будете накапливать «долгов», связанных с надежностью и тестиро- ванием совместимых способов обновления. В случае слишком раннего обновления может понадобиться внедрить систему контроля качества для продукта. Если же обновление выполняется слишком поздно, возможно, вам придется использовать
«технологию вчерашнего дня».
Заимствование инструментов, используемых в успешных компаниях, не обя- зательно обернется успехом для вашей организации. Сосредоточьтесь на процессе, а не на результате. Если технология X успешно используется в вашей среде, не отказывайтесь от нее.
Наличие конкретного инструмента или технологии не означает, что вы не можете развернуть успешную инициативу devops. Использование каналов
IRC вместо Slack или Hipchat, запуск и выполнение серверов на физическом сервере вместо «облака» либо использование монолита PHP вместо микро- сервисов Go не исключает использования идей devops. Суть движения devops заключается в культуре производства и в организации совместной работы, а не в применении самых современных инструментов. Качество общения не зависит от того, какую программу чата вы используете, — современную или двадцатилетней давности.
Использование технологии X эквивалентно
внедрению devops
Существуют определенные группы или типы инструментов и технологий, которые могут существенно помочь с внедрением инициатив devops. В качестве основных примеров приводились система контроля версий и автоматизация инфраструкту- ры. Важно понять, почему эти примеры столь ценны и каким образом эта ценность влияет на человеческий фактор при создании программного обеспечения.
Например, автоматизация инфраструктуры позволяет сотрудникам вносить изме- нения более непосредственным и надежным способом, уменьшая риск и «трения», связанные с изменениями.
Без учета воздействия вышеописанных факторов на «человеческий аспект» воз- действие технологий будет в значительной степени нивелировано. Если вы, на- пример, начнете использовать автоматизацию инфраструктуры, но при этом продолжите поддерживать прежние процессы контроля изменений, которые явля- лись «болевыми точками» для разработчиков, вряд ли вы ощутите реальные пре- имущества от автоматизации инфраструктуры. Ни один инструмент сам по себе не способен исправить разрушенную культуру. Чтобы использовать инструменты более эффективно, нужно обратить внимание на то, как и почему люди используют
274
Часть IV. Инструменты инструменты, что они пытаются сделать и как инструменты могут помочь или помешать им в этом.
Простое добавление в среду Chef, Docker, Slack или любого другого инструмента, часто упоминаемого в связи с devops, вовсе не означает, что вы «сделали devops».
На самом деле набор инструментов — это лишь одно из условий организации сов- местной работы. Не наличие или отсутствие инструмента приводит к формирова- нию или разрушению инициативы devops. Инструменты могут лишь помогать или мешать формированию культуры, основанной на devops.
Мы должны убедиться в том, что не выбрали
некорректный инструмент
Некоторые люди опасаются, что выбор «некорректного» инструмента будет иметь пагубные последствия как для проекта, так и для организации в целом. Эти опа- сения могут еще больше раздуваться поставщиками, утверждающими, что вы
«должны» использовать именно их продукты и решения, чтобы внедрить devops.
Естественно, сначала нужно убедиться в том, что ваши решения не приведут к серь езным негативным последствиям.
Не следует акцентировать внимание на особенностях отдельных инструментов.
Лучше сосредоточьтесь на способах использования инструментов на всех уровнях организации, а также уроках, которые можно извлечь из позитивных и негативных аспектов, связанных с использованием этих инструментов. Выбор некорректного инструмента не так страшен, как неправильный метод выбора инструментов.
Например, когда идет речь об автоматизации инфраструктуры, выбор инструмен- та Chef вместо Puppet (или наоборот) вряд ли окажет существенное влияние на успех или неудачу этого проекта. Конечно, от используемого инструмента зависят детали реализации либо определенные варианты использования автоматизации инфраструктуры. Если же идет речь о влиянии на глобальном уровне, то более важно, как вы используете выбранный инструмент автоматизации инфраструкту- ры, чем какой вы выбрали инструмент.
Если вы понимаете принципы надлежащего использования инструментов, то можете сказать, когда выгодно использовать автоматизацию, знаете, как выбрать новые инструменты и внедрить их в организации, вы сможете принимать лучшие решения по выбору и внедрению инструментов. Более того, вы сможете учиться на собственном опыте.
В результате вы окажетесь способными адаптироваться к постоянно изменяюще- муся ландшафту новых инструментов и технологий. И даже если вы выберете не оптимальный инструмент, вы не потратите слишком много сил и ресурсов и не будете обречены на вечное использование этого инструмента. Быть в состоянии рассуждать, учиться и изменять способ использования инструмента более важно, чем просто выбрать «лучший в мире» инструмент.