Материал: Дэвис Дженнифер, Дэниелс КэтринД94 Философия DevOps. Искусство управления it. Спб. Питер, 2017. 416 с. ил. Серия Бестселлеры OReilly

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

264
Часть IV. Инструменты
Документация воспринимается в качестве способа выполнения каких-либо опера- ций в Etsy. Как правило, wiki-страницы, созданные с помощью программы Atlassian
Confluence, являются точными и актуальными. Настоятельно рекомендуется обнов- лять страницы с документацией (особенно с информацией о текущих задачах). В то время как некоторые компании ленятся создавать документацию, мотивируя свое поведение фактом ее быстрого устаревания, компания Etsy является сторонником принципа «обновление wiki-страниц — лучшее вложение трудозатрат».
Покупка или самостоятельная разработка
Компания Etsy уклоняется от практики использования новейших технологий только на основании того, что они являются новыми и интересными. Большинство инструментов, применяемых в компании, хорошо известны и имеют большой стаж использования. Дополнительная информация, обосновывающая эту философию, приводится в посте блога бывшего инженера компании Etsy Дэна Маккинли
Choose Boring Technology («Выбор скучной технологии»). Эта статья доступна на сайте http://mcfunley.com/choose-boring-technology. Идея, заложенная в основу этой статьи, заключается в том, что сосредоточение на реализации новых и непро- веренных технологий крадет время и энергию, которые могут потребоваться на инновации продукта, что является конечной целью компании.
В Etsy высоко ценится так называемое благородство духа, которое заключается в работе на благо сообщества. Эта отдача может принимать форму сообщений в блогах, выступлений на конференциях, наставничества других сотрудников либо создания вклада в проекты с открытым исходным кодом (свои собственные или посторонние).
Общий подход к выбору инструментов предусматривает получение ответов на следующие вопросы.
t
Можем ли мы сделать это с помощью инструмента, который мы знаем и ко- торым владеем? Существуют ли веские причины отказаться от такого ре- шения?
t
Существует ли инструмент, который отвечает нашим потребностям? t
Существует ли инструмент, который в целом отвечает нашим потребно- стям и может быть расширен или настроен? Создан ли этот инструмент на основе проекта с открытым исходным кодом?
t
Имеются ли возможность, время и желание создать инструмент самосто- ятельно?
t
Нужно ли решать возникшую проблему и достаточно ли только внутрен- них возможностей?
Компания Etsy вносит вклад в разработку множества инструментов, в том числе
Nagios, Chef, Elasticsearch и Kibana. Если же инструменты перестают давать нуж- ную отдачу, они подлежат замене. В Etsy контролируется сетевое оборудование

Глава 12. Инструменты: акселераторы культуры
265
и отслеживается поведение новых устройств. Одно время в Etsy использовался
Cacti (www.cacti.net), но из-за сложности и необходимости ручной настройки этого инструмента был разработан и выпущен FITB (https://github.com/lozzd/FITB).
Пограничный протокол шлюза (Border Gateway Protocol; BGP) выполняет мо- ниторинг, отслеживание сайта и синтетическое тестирование. Именно в этих областях Etsy выбирала внешние услуги или программы, исходя из природы проблемного пространства. Рассматривая BGP-мониторинг в качестве примера, можно сказать, что этот пример имел смысл только для Etsy, поскольку BGP- мониторинг включает мониторинг всех внешних потоков трафика. Эти потоки анализируются, чтобы понять их влияние и устранить проблемы, возникающие при маршрутизации в сетях. Лучше использовать время сетевых инженеров, чем воссоздавать сложную услугу мониторинга, которая применяется в других ме- стах. В этом случае понятно, что лучше использовать существующий инструмент.
Рассмотрение автоматизации
На протяжении многих лет в Etsy была проделана большая работа по автоматиза- ции различных рабочих потоков и процессов в областях, в которых засилье ручных процессов вызывало проблемы. Один из ключевых примеров был рассмотрен во введении — выполняемый вручную и чреватый ошибками процесс развертывания, который занимал много часов и был невероятно труден в откате. Этот процесс был заменен на более рациональный автоматический инструмент развертывания,
Deployinator. Процесс замены был не одномоментным, а скорее итеративным, представлявшим большую часть автоматизации в Etsy.
В качестве другого примера рассмотрим процесс создания новых серверов. По- скольку Etsy использует собственные центры обработки данных, не обращаясь к облачным сервисам, процесс создания сервера является ручным, занимая часы или даже дни, начиная с момента установки сервера в стойку и завершая момен- том запуска в эксплуатацию. Первый этап автоматизации заключался в создании коллекции скриптов, написанных на Ruby, которые предназначены для устране- ния некоторых наибольших «болевых точек», таких как настройка коммутаторов и виртуальных локальных сетей. На протяжении нескольких следующих лет были добавлены новые средства, устранены ошибки и автоматизированы допол- нительные «болевые точки». В результате инструмент получил веб-интерфейс, с помощью которого любой инженер (помимо члена эксплуатационной команды) может выбрать профиль оборудования, роль Chef и получить новый сервер в свое распоряжение в течение нескольких минут.
Инженеры из компании Etsy не пытаются слепо автоматизировать все на свете ради самой автоматизации. Они осведомлены об остаточном принципе
1
, согласно кото- рому остаются неавтоматизированные задачи, выполняемые людьми-операторами.
1
Tom Limoncelli, «Automation Should Be Like Iron Man, Not Ultron», ACM Queue, October 31, 2015.

266
Часть IV. Инструменты
Эти задачи либо слишком сложны для автоматизации и редко автоматизируются, либо слишком просты и нерентабельны для автоматизации. В результате может появиться так называемая дисквалификация, когда из-за автоматизации задач люди забывают, как их выполнять. Это приводит к постепенной утрате навыков в соответствующих областях.
Автоматизация может обеспечивать большие преимущества во многих ситу- ациях, позволяя сэкономить время на выполнение ручных повторяющихся задач и исключить появление ошибок. Конечно, автоматизация не является панацеей. Если вы собираетесь внедрять автоматизацию, задайте себе следу- ющие вопросы.
t
Каковы ваши самые большие «болевые точки»?
t
Что можно, а что нельзя автоматизировать?
t
Должны ли полностью автоматизироваться некоторые аспекты рабочего процесса?
t
Как вы поступите в случае появления сбоя при выполнении автоматизации?
Оценка успеха
Чтобы сознательно экспериментировать и поощрять обучение, в Etsy придают большое значение «прозрачности» и мониторингу. Эти принципы демонстриру- ются множеством инструментов и процессов. Начиная от мониторинга произво- дительности на уровне системы и завершая показателями на бизнес-уровне, Etsy стремится собрать как можно больше данных. Эти данные являются «прозрач- ными» для сотрудников, поэтому даже те, кто не обладает глубоким пониманием операций, могут прийти к выводам о необходимости выполнения итеративных улучшений. Этот процесс требует определенного времени.
Майкл Римбетси присоединился к Etsy в 2008 году. Он и его команда начали про- сматривать посты на форумах пользователей Etsy. В результате этого просмотра обнаружились проблемы, которые оставались скрытыми из-за отсутствия реаль- ного мониторинга в организации. В результате анализа причин частых простоев и в процессе обратной связи с пользователями Римбетси и другие руководители обнаружили более устойчивые способы запуска и выполнения платформы. Вме- сто того чтобы пытаться запланировать внедрение полностью исчерпывающего решения, они начали с минимально жизнеспособного решения, с основных поло- жений решения мониторинга, которые оказывают наиболее влияние на качество обслуживания клиентов.
Поскольку не существовало четких критериев выбора нужных инструментов, приходилось экспериментировать. При этом ставилась цель понять, что происхо- дит с сайтом, приложениями и компонентами блокировки. Были выбраны Nagios,
Cacti и Ganglia, поскольку руководители были знакомы с этими платформами.
К тому же была достаточно высока результирующая скорость внедрения и низкие накладные расходы (эти платформы распространяются на бесплатной основе).

Глава 12. Инструменты: акселераторы культуры
267
Со временем, благодаря частой итерации и эволюции, все подразделения Etsy были охвачены практикой «измерять все, что только можно». Помимо опережаю- щего планирования объектов измерения любой пользователь мог легко получить нужные ему сведения в виде графика. Был разработан и выпущен StatsD, сетевой демон, выполняющийся на платформе Node.js. Этот демон может прослушивать статистику, отсылаемую через порты UDP и TCP, и агрегировать полученные дан- ные с помощью подключаемых серверных служб, таких как Graphite. Поскольку каждые 10 секунд данные сбрасываются, обеспечивается создание коллекции данных практически в режиме реального времени.
Общая цель заключалась в создании и доставке программного обеспечения. Раз- ные команды осуществляют мониторинг в соответствии со своими нуждами. Как правило, не назначаются отдельные люди, выполняющие мониторинг. Поощряет- ся участие в процессах мониторинга каждого сотрудника, который может вносить свой посильный вклад в это дело. Что же касается мониторинга, рекомендуется следовать таким советам.

Если у вас возникают вопросы, задайте их кому-либо.

В случае, когда ваши проблемы относятся к категории производственных, эксплуатационная команда пообщается с вами на предмет устранения этих проблем.
В качестве примера devops-пакта в действии Дэниелс описала процесс эксплуа- тации, реализуемый при работе с совсем другой командой. В этом случае форми- руется команда, отвечающая за интерфейсную инфраструктуру, которая обраба- тывает полученные предупреждения. После того как в полночь было получено предупреждение о размере дискового пространства на сервере (любимое преду- преждение каждого сисадмина), она поняла, что причина этого предупреждения заключается в том, что логи были сохранены в разделе диска, размер которого намного меньше размера стандартного раздела диска, применяемого для хране- ния логов.
Мониторинг и оповещения являются ключевыми элементами каждой про- граммной среды, а также областями, для которых эффективное использование инструментов обеспечивает огромные преимущества. Обязательно примите во внимание следующие вопросы.
t
Каким образом ваши инструменты дифференцируются между мониторин- гом и обработкой оповещений?
t
Каким образом ваши инструменты и процессы удовлетворяют потребно- сти в мониторинге разных команд?
t
Насколько гибки и настраиваемы решения мониторинга и обработки оповещений?
После осознания причины появления предупреждения Дэниелс обсудила вместе с командой лучшие операционные практики, применяемые для создания логов,

268
Часть IV. Инструменты обговорила соответствующую документацию, описала возникающие проблемы и предложила пару решений. Команда, отвечающая за интерфейсную инфраструк- туру, выбрала и внедрила наиболее подходящее решение. Подобное сочетание безупречности и обмена информацией является основным условием создания и поддержки культуры понимания.
Проблемы, связанные с мотивацией и процессом
принятия решений
На основе двух рассмотренных ранее примеров стало очевидно, что решения по выбору инструментов, используемых изо дня в день, не следует принимать впопы- хах. Корпоративные информационные бюллетени, ведущие средства массовой ин- формации и конференц-киоски публикуют перечни и статьи, описывающие «луч- шие» инструменты, предназначенные для devops-команд. И вряд ли вы заметите разницу между компанией, пытающейся продать решение, которое может быть эффективным в вашей среде, и компанией, пытающейся вписаться в devops-тренд.
Инструменты важны для выполнения работы, но они не являются единственным и необходимым условием для осуществления этого процесса. Не существует
«devops-услуги», которую можно купить и использовать в качестве исчерпываю- щего решения всех ваших производственных проблем. Важно понимать, что хотя инструменты и воздействуют на культуру, они не способны заменить ее. Поэтому будьте осторожны, если кто-то пытается вам продать «devops-решение, сделанное на заказ». Подобные предложения звучат заманчиво, но вряд ли реальны.
Другие мотивации находятся вне сферы действия наших собственных целей и ам- биций. Они выступают в виде наших межличностных отношений. Например, орга- низация собирается сделать выбор в пользу поставщика X, поскольку он предложил провести спортивное мероприятие и организовать хороший обед. Либо у лица, при- нимающего решения, имеется друг в стартапе, который нужно поддержать.
В конце концов, на выбор инструментов может оказать влияние их хорошая репутация, которая проявляется в той или иной форме. Например, с выска- зыванием «никто и никогда не был уволен за покупку техники IBM» трудно спорить. Благодаря осознанию мотивов принятия решений в вашей среде вам будет проще принять решение по выбору способов улучшения процессов в ва- шей организации.
Использование инструментов в Sparkle Corp
«Я действительно считаю, что наши демо-дни являются довольно интересными и познавательными, — заявил Джордж. — Я заметил, что вы используете вирту- альную машину на ноутбуке и управляете ею отдельно от кода. Пытались ли вы
Источник: https://files.student-it.ru/previewfile/170498