анализа причин частых простоев и в процессе обратной связи с пользователями Римбетси и другие руководители обнаружили более устойчивые способы запуска и выполнения платформы. Вместо того чтобы пытаться запланировать внедрение полностью исчерпывающего решения, они начали с минимально жизнеспособного решения, с основных положений решения мониторинга, которые оказывают наиболее влияние на качество обслуживания клиентов.

Поскольку не существовало четких критериев выбора нужных инструментов, приходилось экспериментировать. При этом ставилась цель понять, что происходит с сайтом, приложениями и компонентами блокировки. Были выбраны Nagios, Cacti и Ganglia, поскольку руководители были знакомы с этими платформами. К тому же была достаточно высока результирующая скорость внедрения и низкие накладные расходы (эти платформы распространяются на бесплатной основе).

Со временем, благодаря частой итерации и эволюции, все подразделения Etsy были охвачены практикой «измерять все, что только можно». Помимо опережающего планирования объектов измерения любой пользователь мог легко получить нужные ему сведения в виде графика. Был разработан и выпущен StatsD, сетевой демон, выполняющийся на платформе Node.js. Этот демон может прослушивать статистику, отсылаемую через порты UDP и TCP, и агрегировать полученные данные с помощью подключаемых серверных служб, таких как Graphite. Поскольку каждые 10 секунд данные сбрасываются, обеспечивается создание коллекции данных практически в режиме реального времени.

Общая цель заключалась в создании и доставке программного обеспечения. Разные команды осуществляют мониторинг в соответствии со своими нуждами. Как правило, не назначаются отдельные люди, выполняющие мониторинг. Поощряется участие в процессах мониторинга каждого сотрудника, который может вносить свой посильный вклад в это дело. Что же касается мониторинга, рекомендуется следовать таким советам.

• Если у вас возникают вопросы, задайте их кому-либо.

• В случае, когда ваши проблемы относятся к категории производственных, эксплуатационная команда пообщается с вами на предмет устранения этих проблем.

В качестве примера devops-пакта в действии Дэниелс описала процесс эксплуатации, реализуемый при работе с совсем другой командой. В этом случае формируется команда, отвечающая за интерфейсную инфраструктуру, которая обрабатывает полученные предупреждения. После того как в полночь было получено предупреждение о размере дискового пространства на сервере (любимое предупреждение каждого сисадмина), она поняла, что причина этого предупреждения заключается в том, что логи были сохранены в разделе диска, размер которого намного меньше размера стандартного раздела диска, применяемого для хранения логов.

Мониторинг и оповещения являются ключевыми элементами каждой программной среды, а также областями, для которых эффективное использование инструментов обеспечивает огромные преимущества. Обязательно примите во внимание следующие вопросы.

• Каким образом ваши инструменты дифференцируются между мониторингом и обработкой оповещений?

• Каким образом ваши инструменты и процессы удовлетворяют потребности в мониторинге разных команд?

• Насколько гибки и настраиваемы решения мониторинга и обработки оповещений?

После осознания причины появления предупреждения Дэниелс обсудила вместе с командой лучшие операционные практики, применяемые для создания логов, обговорила соответствующую документацию, описала возникающие проблемы и предложила пару решений. Команда, отвечающая за интерфейсную инфраструктуру, выбрала и внедрила наиболее подходящее решение. Подобное сочетание безупречности и обмена информацией является основным условием создания и поддержки культуры понимания.

Проблемы, связанные с мотивацией и процессом принятия решений

На основе двух рассмотренных ранее примеров стало очевидно, что решения по выбору инструментов, используемых изо дня в день, не следует принимать впопыхах. Корпоративные информационные бюллетени, ведущие средства массовой информации и конференц-киоски публикуют перечни и статьи, описывающие «лучшие» инструменты, предназначенные для devops-команд. И вряд ли вы заметите разницу между компанией, пытающейся продать решение, которое может быть эффективным в вашей среде, и компанией, пытающейся вписаться в devops-тренд.

Инструменты важны для выполнения работы, но они не являются единственным и необходимым условием для осуществления этого процесса. Не существует «devops-услуги», которую можно купить и использовать в качестве исчерпывающего решения всех ваших производственных проблем. Важно понимать, что хотя инструменты и воздействуют на культуру, они не способны заменить ее. Поэтому будьте осторожны, если кто-то пытается вам продать «devops-решение, сделанное на заказ». Подобные предложения звучат заманчиво, но вряд ли реальны.

Другие мотивации находятся вне сферы действия наших собственных целей и амбиций. Они выступают в виде наших межличностных отношений. Например, организация собирается сделать выбор в пользу поставщика X, поскольку он предложил провести спортивное мероприятие и организовать хороший обед. Либо у лица, принимающего решения, имеется друг в стартапе, который нужно поддержать.

В конце концов, на выбор инструментов может оказать влияние их хорошая репутация, которая проявляется в той или иной форме. Например, с высказыванием «никто и никогда не был уволен за покупку техники IBM» трудно спорить. Благодаря осознанию мотивов принятия решений в вашей среде вам будет проще принять решение по выбору способов улучшения процессов в вашей организации.

Использование инструментов в Sparkle Corp

«Я действительно считаю, что наши демо-дни являются довольно интересными и познавательными, – заявил Джордж. – Я заметил, что вы используете виртуальную машину на ноутбуке и управляете ею отдельно от кода. Пытались ли вы использовать инструмент Test Kitchen для создания проекта по управлению виртуальной машиной? Эксплуатационная команда использует этот инструмент при тестировании новых реализаций сервисов. Таким образом мы можем воссоздать то, что делает каждый сотрудник или команда».

«Нет, я раньше никогда не слышала о Test Kitchen. Я хотела бы познакомиться с этим инструментом поближе, особенно в свете того, что он позволит облегчить создание пользовательской виртуальной системы», – сказала Элис.

«Фактически мы начинаем с ChefDK. Этот набор для разработки кода от Chef. Он уже установлен на всех ноутбуках, находящихся у сотрудников компании, – заметил Джордж. – Похоже, что мы должны координировать свои действия с ИТ-командой и обязаны позаботиться об обновлении документации, посвященной описанию локальной среды разработки для компании. Эти обязанности прописаны в моем новом контракте инженера по эксплуатации. И я не понимал, почему другие команды не выполняли эти действия».

Джордж проиллюстрировал простоту настройки быстрой «поваренной книги» Chef. При этом использовался заранее созданный шаблон Test Kitchen, включающий зеркальное отображение настроек, сделанных Элис, Джорди и Джози при установке MongoDB.

«Теперь я могу передать это обратно, в нашу централизованную среду Git, а любой из вас может получить проект и работать с ним дальше», – сказал Джордж.

Элис протестировала сказанное путем клонирования проекта и использования команд kitchen, как это делал Джордж. После того как образ ОС был синхронизирован, она быстро сформировала тестовую среду на своем ноутбуке.

«Эта работа также может быть сделана с помощью MySQL, и тогда мы сможем быстрее оценить преимущество выбранного решения на основе реальных показателей», – сказала Джози.

«А как насчет того, чтобы разделиться на две команды и в паре подключиться к нашему кластеру Jenkins? Это позволит нам протестировать процесс вытягивания программного проекта на каждую платформу с одновременным выполнением оценки», – сказал Джордж.

В конце концов все пришли к выводу, что использование MySQL имело смысл с точки зрения эксплуатационных расходов. Благодаря использованию визуализированных показателей соответствующие команды смогли

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату