Философия DevOps — страница 59 из 95


Культура безупречности

Как уже упоминалось в главе 4, безупречная среда формируется там, где сотрудники делятся между собой историями и несут ответственность за повышение степени безопасности. Джон Оллспоу, занимающий пост технического директора Etsy, в мае 2012 года написал статью Blameless PostMortems and a Just Culture» (https://codeascraft.com/2012/05/22/blameless-postmortems/). В этой статье описывается трансформация обработки неточностей и ошибок с применением безупречного подхода.

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

В постмортеме, созданном с помощью применяемого в Etsy инструмента Morgue (https://github.com/etsy/morgue), отдельным сотрудникам предлагается дать подробный отчет, включающий следующие пункты:

• график действий и событий;

• наблюдаемые эффекты;

• ожидания;

• допущения;

• результаты и решения.

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


Дружелюбие по отношению к удаленным пользователям

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

Чтобы внедрить подобный вид культуры, используются несколько инструментов, в том числе IRC (обмен мгновенными сообщениями или организация чата), электронная почта (обмен более длинными текстовыми сообщениями) и Vidyo (организация видеоконференций и сотрудничества). В Etsy практикуется идея общения в «удаленной по умолчанию» форме, когда даже те люди, которые работают в локальном офисе, будут использовать инструменты, предназначенные для удаленного общения.

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

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

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

• Каким образом инструменты улучшают или уменьшают степень комфорта пользователя?

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

• Каким образом воздействуют инструменты на ежедневный стиль общения между людьми?


Роль инструментов в укреплении практик

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

При осуществлении поддержки удаленных сотрудников недоступны сеансы специального кодирования и неформальные беседы с глазу на глаз. В этом случае большая часть общения осуществляется в письменном формате. Люди обмениваются сообщениями электронной почты в случае принятия решений, внесения изменений, появления простоев, возникновения проблем либо при необходимости поделиться какими-либо инициативами. Чтобы уменьшить количество сообщений электронной почты, используются фильтры. Всю переписку целесообразно хранить в архиве с возможностью поиска. Ретранслируемый интернет-чат (Internet Relay Chat; IRC) критически важен для формирования культуры, дружественной к удаленным пользователям, которая взлелеяна в Etsy. Чат-боты обновляют каналы с помощью информации о развертываниях, предупреждениях и изменениях конфигурации. Чат-боты также поддерживают системное взаимодействие, например, для обмена тихими предостережениями Nagios, относящимися к предстоящему плановому техническому обслуживанию либо к обзору кода. Чат-боты могут применяться для продвижения культуры благодарности путем обмена «плюсиками» и одобрениями.

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

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

Документация воспринимается в качестве способа выполнения каких-либо операций в Etsy. Как правило, wiki-страницы, созданные с помощью программы Atlassian Confluence, являются точными и актуальными. Настоятельно рекомендуется обновлять страницы с документацией (особенно с информацией о текущих задачах). В то время как некоторые компании ленятся создавать документацию, мотивируя свое поведение фактом ее быстрого устаревания, компания Etsy является сторонником принципа «обновление wiki-страниц – лучшее вложение трудозатрат».


Покупка или самостоятельная разработка

Компания Etsy уклоняется от практики использования новейших технологий только на основании того, что они являются новыми и интересными. Большинство инструментов, применяемых в компании, хорошо известны и имеют большой стаж использования. Дополнительная информация, обосновывающая эту философию, приводится в посте блога бывшего инженера компании Etsy Дэна Маккинли Choose Boring Technology («Выбор скучной технологии»). Эта статья доступна на сайте http://mcfunley.com/choose-boring-technology. Идея, заложенная в основу этой статьи, заключается в том, что сосредоточение на реализации новых и непроверенных технологий крадет время и энергию, которые могут потребоваться на инновации продукта, что является конечной целью компании.

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

Общий подход к выбору инструментов предусматривает получение ответов на следующие вопросы.

• Можем ли мы сделать это с помощью инструмента, который мы знаем и которым владеем? Существуют ли веские причины отказаться от такого решения?

• Существует ли инструмент, который отвечает нашим потребностям?

• Существует ли инструмент, который в целом отвечает нашим потребностям и может быть расширен или настроен? Создан ли этот инструмент на основе проекта с открытым исходным кодом?

• Имеются ли возможность, время и желание создать инструмент самостоятельно?

• Нужно ли решать возникшую проблему и достаточно ли только внутренних возможностей?

Компания Etsy вносит вклад в разработку множества инструментов, в том числе Nagios, Chef, Elasticsearch и Kibana. Если же инструменты перестают давать нужную отдачу, они подлежат замене. В Etsy контролируется сетевое оборудование и отслеживается поведение новых устройств. Одно время в Etsy использовался Cacti (www.cacti.net), но из-за сложности и необходимости ручной настройки этого инструмента был разработан и выпущен FITB (https://github.com/lozzd/FITB).

Пограничный протокол шлюза (Border Gateway Protocol; BGP) выполняет мониторинг, отслеживание сайта и синтетическое тестирование. Именно в этих областях Etsy выбирала внешние услуги или программы, исходя из природы проблемного пространства. Рассматривая BGP-мониторинг в качестве примера, можно сказать, что этот пример имел смысл только для Etsy, поскольку BGP-мониторинг включает мониторинг всех внешних потоков трафика. Эти потоки анализируются,