Философия DevOps. Искусство управления IT - [8]

Шрифт
Интервал

После прохождения внутренних и пробных тестов разработчик присоединяется к очереди магазинного типа Etsy, чтобы выполнить развертывание изменений в производственной среде. Если несколько разработчиков готовы развернуть изменения одновременно, для координирования развертывания изменений в системе управления очередью используется Internet Relay Chat (IRC) и IRC-бот. Как только подходит очередь Кэтрин, она подтверждает изменения в мастер-ветви репозитория, в которой она работает. Для развертывания изменений на сервере QA в Etsy используется среда Deployinator. Благодаря применению этой среды выполняется автоматическое создание QA-сервера и выполняется полный набор тестов CI.

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

Процесс развертывания кода настолько хорошо оптимизирован, что на его выполнение тратится около 10 минут в среднем (от начала до завершения), и инженерный персонал Etsy проделывает эту операцию до 60 раз в день. Благодаря наличию документации и наставничеству опытных сотрудников, объясняющих подробности процесса, начинающий инженер запускает код в производство за один день. Даже сотрудники, не относящиеся к инженерному персоналу, поощряются к участию в процессе в рамках программы First Push Program. Под руководством инженеров они развертывают небольшие изменения, такие как публикация фотографий на странице персонала веб-сайта. Помимо использования для регулярного развертывания ПО, процессы тестирования и Deployinator могут применяться для развертывания чего угодно – от инструментов, применяемых разработчиками для построения виртуальных машин, до панелей Kibana, применяемых для поиска журналов, от проверок программы мониторинга Nagios до самого процесса Deployinator.

Эволюция культуры развертывания ПО

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

Группы, сформированные в инженерной организации, были разрознены. Многие разработчики имели склонность «перебрасывать» код через «метафорические стены» эксплуатационной группе, которая несла исключительную ответственность за мониторинг и поддержку этого кода. В результате появлялась склонность к слишком частому изменению кода. Разработчики создавали код, вызывали на выполнение вручную написанные сценарии, чтобы создать новую SVN-ветвь. При этом развертывание выполнялось с помощью средства svn merge. Этот довольно сложный в применении инструмент применялся для слияния всех изменений, выполненных разработчиками, в одной ветви развертывания. Затем разработчики сообщали об используемой ветви инженеру из службы эксплуатации, наделенному полномочиями по выполнению развертывания ПО. Как видите, процесс развертывания был весьма кропотливым и занимал много часов (рис. 1.1). По причине сложности этот процесс выполнялся раз в две-три недели.

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

Образно говоря, инженер из эксплуатационной службы передал «ключи от царства развертывания» двум разработчикам, которым было предоставлено время и ресурсы на внесение нужных изменений в процесс развертывания. Как говорится, если есть молоток, то все, что нас окружает, может исполнять роль гвоздей, ну а если в вашей организации работает разработчик веб-приложений, возникает острая необходимость в создании таких приложений. Именно таким образом и появилось первое приложение Deployinator (рис. 1.2). Изначально это приложение представляло собой веб-оболочку, в которую заключался сценарий оболочки. Со временем благодаря усилиям многих пользователей это приложение было серьезно улучшено. Причем интерфейс остался практически без изменений, значительным изменениям подверглись внутренние механизмы.


Рекомендуем почитать
От батутов до попкорна – 2. 100 дел ФАС России против малого и среднего бизнеса

Эта книга – продолжение первой части, вышедшей в 2015 г. Во второй части анализируются 100 дел ФАС России против малого и среднего бизнеса за 2016—2018 гг. Несмотря на принятие 3.07.2016 закона об «иммунитетах» для малого бизнеса от антимонопольного контроля, подходы ФАС изменились незначительно. По основным объектом преследования остаются н самые крупные игроки на рынке. В книге предлагается реформа антимонопольного регулирования, предусматривающая полное прекращение преследования МСП.


Варгань, кропай, марай и пробуй

Нейробиолог Шрини Пиллэй, опираясь на последние исследования мозга, примеры из спорта и бизнеса и истории из своей психологической практики, бросает вызов традиционному подходу к продуктивности. Вместо внимания и сосредоточенности он предлагает специально «расфокусироваться», чтобы стимулировать креативность, развить память, увеличить продуктивность и двигаться к целям. На русском языке публикуется впервые.


Автоматический покупатель

Сразу после выхода в свет эта книга заняла первые места на Amazon среди книг по маркетингу и клиентскому сервису. Формирование источника регулярной выручки для компании – важная задача каждого предпринимателя. Благодаря разнообразию разновидностей бизнес-моделей на основе подписки для каждой отрасли можно найти подходящий вариант. Подписчики в любом случае намного ценнее для компании, чем обычные покупатели. Эта книга для всех, кто хочет построить бизнес-модель, приносящую регулярную прибыль. На русском языке публикуется впервые.


Отношение определяет результат

В бизнесе да и в жизни уже не так важно, что именно вы делаете. Гораздо важнее то, как вы это делаете. Дов Сайдман, основатель и CEO компании LRN, на страницах своей книги убедительно доказывает: моральные «факторы», прежде считавшиеся «факультативными», определяют сегодня ваш успех. Только ориентируясь на нравственные ценности, выстраивая отношения на основании доверия и заботясь о собственной репутации, вы сможете обойти конкурентов и преуспеть в бизнесе и в жизни. Эта книга будет полезна владельцам компаний, руководителям и менеджерам, которые заботятся не только о прибыли, но и о том, какое наследство они оставят своим детям.


Монетизация инноваций. Как успешные компании создают продукт вокруг цены

Инновации являются важнейшим фактором роста. Сегодня, более чем когда-либо, компании должны внедрять инновации, чтобы выжить. Но успешные инновации – это очень непростая задача. Авторы – партнеры всемирно известной консалтинговой компании Simon-Kucher & Partners Strategy & Marketing Consultants знают о чем говорят. Георг Таке – ее генеральный директор, а Мадхаван Рамануджам – партнер в Сан-Франциско. Simon-Kucher & Partners – глобальная консалтинговая компания, насчитывающая 900 профессионалов в 33 офисах по всему миру.


Аттестация персонала – путь к взаимопониманию

«Шпаргалки для менеджеров» – это ваши «карманные консультанты» в решении самых разных проблем деловой, да и повседневной жизни. Ничего лишнего – только самое главное!Аттестация персонала – важнейший этап в работе менеджера, который стремится к взаимопониманию и эффективному сотрудничеству с подчиненными. Здесь вы найдете практические советы о том, как проводить собеседование, выносить объективную оценку и способствовать профессиональному росту сотрудников.


Автостопом по Python

Перед вами — увлекательная книга, которую по достоинству оценит любой неравнодушный программист и даже бывалый питонщик. Она составлена на основе одноименного онлайнового руководства http://docs.python-guide.org/en/latest/ и содержит наработки многочисленных профессионалов и энтузиастов, знающих, что такое Python, и чего вы от него хотите. Проверенные методы и новейшие приемы, собранные в этой книге, помогут вам стать профессиональным Python-программистом и во всеоружии встретить наступающую эпоху Python 3.


iOS. Приемы программирования

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений — в этом вам помогут API UIKit Dynamics.Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы.


Простой Python. Современный стиль программирования

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