Файл: Дэвис Дженнифер, Дэниелс КэтринД94 Философия DevOps. Искусство управления it. Спб. Питер, 2017. 416 с. ил. Серия Бестселлеры OReilly.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 402
Скачиваний: 25
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
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
«Я действительно считаю, что наши демо-дни являются довольно интересными и познавательными, — заявил Джордж. — Я заметил, что вы используете вирту- альную машину на ноутбуке и управляете ею отдельно от кода. Пытались ли вы