Читаем Руководство по DevOps. Как добиться гибкости, надежности и безопасности мирового уровня в технологических компаниях полностью

Практический примерРецензирование кода в компании Google (2010 г.)

Компания Google — прекрасный пример организации, использующей разработку на основе единой ветви кода и непрерывную масштабируемую поставку. Как отмечалось ранее, Эран Мессери рассказывал, что в 2013 г. организация процессов в Google позволяла более чем 13 000 разработчиков работать в своих ветвях над одним и тем же исходным кодом, совершая более 5500 коммитов в неделю. Число развертываний за неделю доходило до нескольких сотен. Согласно данным 2010 г., каждую минуту в основную ветку кода отправлялось более двадцати правок, из-за таких темпов каждый месяц обновлялось 50 % кода.

Для такой организации от команд разработчиков требуются значительная дисциплина и обязательное рецензирование кода, покрывающее следующие области:

• легкая читаемость кода (нужны руководства по стилю оформления кода);

• назначение ответственных за поддеревья кода для поддержания единообразия и контроля над отсутствием ошибок;

• прозрачность кода и сотрудничество в работе над одним и тем же кодом между разными командами.

На рис. 42 показано, как время на рецензирование кода зависит от размера внесенных изменений. На оси X отмечается размер правок, на оси Y — время, затраченное на проверку кода. В общем случае чем больше объем изменений, тем дольше проходит анализ. Точки в верхнем левом углу обозначают более сложные и потенциально рискованные изменения, требующие более глубокого обдумывания и обсуждения.

Рис. 42. Длительность рецензирования в зависимости от размера кода в компании Google (источник: Ашиш Кумар, “Development at the Speed and Scale of Google,” презентация на QCon, Сан-Франциско, CA, 2010. https://qconsf.com/sf2010/dl/qcon-sanfran-2010/slides/AshishKumar_DevelopingProductsattheSpeedandScaleofGoogle.pdf)

Чтобы решить техническую проблему компании Google, Рэнди Шуп, в то время занимавший должность технического директора организации, начал свой личный проект. Он отмечал: «Я работал над этим проектом неделями и наконец решился попросить специалиста в этой области проверить мой код. Это было примерно три тысячи строк. Через них рецензент продирался несколько дней. После чего он попросил: “Пожалуйста, больше так не делай”. Я был очень благодарен ему, что он нашел время помочь мне. Именно тогда я и понял, как встроить рецензирование кода в ежедневную работу».

Потенциальные опасности тестирования преимущественно вручную и заморозки изменений

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

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

Перейти на страницу:

Похожие книги

Оптимизация BIOS. Полный справочник по всем параметрам BIOS и их настройкам
Оптимизация BIOS. Полный справочник по всем параметрам BIOS и их настройкам

Прочтя эту книгу, вы узнаете, что представляет собой BIOS, какие типы BIOS существуют, как получить доступ к BIOS и обновлять ее. Кроме того, в издании рассказано о неполадках в работе BIOS, которые приводят, например, к тому, что ваш компьютер не загружается, или к возникновению ошибок в BIOS. Что делать в этот случае? Как устранить проблему? В книге рассказывается об этом и даже приводится описание загрузки BIOS во флэш-память.Также вы научитесь использовать различные функции BIOS, узнаете, как оптимизировать их с целью улучшения производительности и надежности системы. Вы поймете, почему рекомендуемые установки являются оптимальными.После прочтения книги вы сможете оптимизировать BIOS не хуже профессионала!Книга предназначена для всех пользователей компьютера – как начинающих, которые хотят научиться правильно и грамотно настроить свою машину, используя возможности BIOS, так и профессионалов, для которых книга окажется полезным справочником по всему многообразию настроек BIOS. Перевод: А. Осипов

Адриан Вонг

Зарубежная компьютерная, околокомпьютерная литература / Программирование / Книги по IT
SAP R/3 Системное администрирование
SAP R/3 Системное администрирование

Эта книга полностью обновлена и тщательно пересмотрена. Она является необходимым пособием для руководителей информационных служб, технических консультантов и системных администраторов R/3, которые хотят иметь полное представление об администрировании Basis.Знания, полученные "из первых рук" РѕС' различных специалистов SAP Global Support, работавших над реализацией более 20000 систем R/3, служат РѕСЃРЅРѕРІРѕР№ этой книги, которая научит выполнять все критически важные задачи системного администрирования с оптимальной эффективностью. Она учит быстро принимать правильные решения в сложных ситуациях, используя рекомендации экспертов и ценные рекомендации из реального мира, которые делают это уникальное РїРѕСЃРѕР±ие необходимым для повседневного использования.Кроме всего прочего, эта книга является ценным источником, помогающим подготовиться к экзамену СТС (Certified Technical Consultant) no R/3 Release 4.6C и Enterprise.Р' руководстве рассмотрены:# Настройка системной инфраструктуры.# Администрирование клиента.# Пользователи и полномочия.# Фоновая обработка.# Архивирование данных.# Администрирование спула.# Обслуживание инстанций.# Системный мониторинг.Р

Лиане Вилл , Сигрид Хагеман

Зарубежная компьютерная, околокомпьютерная литература