Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 636193)
Контекстум
Руконтекст антиплагиат система

Хаос-инжиниринг. Революция в разработке устойчивых систем (4000,00 руб.)

0   0
Первый авторРозенталь
АвторыДжонс Н.
ИздательствоМ.: ДМК Пресс
Страниц285
ID837125
АннотацияХаос-инжиниринг — относительно новое, однако уже широко востребованное направление в разработке ПО. Тысячи компаний разных размеров и разного уровня развития используют этот метод в качестве основного инструмента тестирования и контроля, чтобы сделать свои продукты и услуги более безопасными и надежными. Эта книга охватывает историю рождения хаос-инжиниринга, фундаментальные теории, лежащие в его основе, определения и принципы, примеры реализации в масштабных вычислительных системах, примеры за пределами традиционного программного обеспечения, а также возможные перспективы развития подобных практик. Реальные истории от отраслевых экспертов из Google, Microsoft, Slack, LinkedIn и других компаний помогут читателю оценить преимущества хаос-инжиниринга во всей полноте. Издание предназначено для разработчиков и инженеров по эксплуатации, стремящихся повысить устойчивость сложных корпоративных систем для достижения бизнес-целей.
ISBN978-5-97060-796-1
Розенталь, К. Хаос-инжиниринг. Революция в разработке устойчивых систем / Н. Джонс; К. Розенталь .— Москва : ДМК Пресс, 2021 .— 285 с. — ISBN 978-5-97060-796-1 .— URL: https://rucont.ru/efd/837125 (дата обращения: 18.05.2024)

Предпросмотр (выдержки из произведения)

Хаос-инжиниринг._Революция_в_разработке_устойчивых_систем.pdf
УДК 62 ББК 32.972 Р64 Р64 Хаос-инжиниринг / пер. с англ. В. С. Яценкова. – М.: ДМК Пресс, 2021. – 284 с.: ил. Розенталь К., Джонс Н. ISBN 978-5-97060-796-1 Хаос-инжиниринг – относительно новое, однако уже широко востребованное направление в разработке ПО. Тысячи компаний разных размеров и разного уровня развития используют этот метод в качестве основного инструмента тестирования и контроля, чтобы сделать свои продукты и услуги более безопасными и надежными. Эта книга охватывает историю рождения хаос-инжиниринга, фундаментальные теории, лежащие в его основе, определения и принципы, примеры реализации в масштабных вычислительных системах, примеры за пределами традиционного программного обеспечения, а также возможные перспективы развития подобных практик. Реальные истории от отраслевых экспертов из Google, Microsoft, Slack, LinkedIn и других компаний помогут читателю оценить преимущества хаос-инжиниринга во всей полноте. Издание предназначено для разработчиков и инженеров по эксплуатации, стремящихся повысить устойчивость сложных корпоративных систем для достижения бизнес-целей. УДК 62 ББК 32.972 Authorized Russian translation of the English edition of Chaos Engineering © 2021 by DMK Все права защищены. Любая часть этой книги не может быть воспроизведена в каPress. This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. кой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN 978-1-492-04386-7 (англ.) ISBN 978-5-97060-796-1 (рус.) © Casey Rosenthal and Nora Jones, 2020 © Оформление, издание, перевод, ДМК Пресс, 2021
Стр.5
Содержание Предисловие ....................................................................................................12 Введение. Рождение хаос-инжиниринга .............................................15 Часть I. ОБЗОР ПОЛЯ ДЕЯТЕЛЬНОСТИ ...........................................23 Глава 1. Знакомьтесь: сложные системы ..............................................24 1.1. Размышления о сложности ...........................................................................24 1.2. Столкновение со сложностью ........................................................................26 1.2.1. Несоответствие между бизнес-логикой и логикой приложения .........26 1.2.2. Лавина повторных запросов пользователей .........................................29 1.2.3. Замораживание кода на праздники.......................................................33 1.3. Противодействие сложности .........................................................................36 1.3.1. Случайная сложность ..............................................................................36 1.3.2. Намеренная сложность ...........................................................................37 1.4. Принятие сложности ......................................................................................39 Глава 2. Навигация по сложным системам ..........................................41 2.1. Динамическая модель безопасности ............................................................41 2.1.1. Экономика ...............................................................................................42 2.1.2. Нагрузка ...................................................................................................42 2.1.3. Безопасность ...........................................................................................42 2.2. Экономические факторы сложности ............................................................44 2.2.1. Состояния ................................................................................................45 2.2.2. Отношения ..............................................................................................45 2.2.3. Окружение ...............................................................................................45 2.2.4. Обратимость ............................................................................................46 2.2.5. Экономические факторы сложности и программное обеспечение ....46 2.3. Системный подход .........................................................................................47 Глава 3. Обзор принципов хаос-инжиниринга ...................................49 3.1. Что такое хаос-инжиниринг ..........................................................................49 3.1.1. Эксперименты или тестирование? ........................................................50 3.1.2. Функциональный контроль или аттестация? .......................................51 3.2. Чем не является хаос ......................................................................................52 3.2.1. Разрушающее тестирование производства ...........................................52 3.2.2. Антихрупкость .........................................................................................53 3.3. Ключевые принципы хаос-инжиниринга ....................................................54 3.3.1. Построение гипотезы о стабильном поведении ...................................54 3.3.2. Моделирование различных событий реального мира .........................55 3.3.3. Выполнение экспериментов на производстве .....................................56
Стр.7
Содержание  7 3.3.4. Автоматизация непрерывного запуска экспериментов ......................56 3.3.5. Минимизация радиуса поражения ........................................................57 3.4. Будущее «Принципов» ...................................................................................59 Часть II. ПРИНЦИПЫ ХАОСА В ДЕЙСТВИИ ...................................61 Глава 4. Slack и островок спокойствия среди хаоса ........................63 4.1. Настройка методов хаоса под свои нужды...................................................64 4.1.1. Подходы к проектированию старых систем .........................................64 4.1.2. Подходы к проектированию современных систем ..............................65 4.1.3. Предварительная подготовка отказоустойчивости ..............................65 4.2. Disasterpiece Theater ......................................................................................66 4.2.1. Цели экспериментов ...............................................................................67 4.2.2. Антицели .................................................................................................67 4.3. Процесс проверки по шагам..........................................................................68 4.3.1. Подготовка эксперимента ......................................................................68 4.3.2. Эксперимент ............................................................................................71 4.3.3. Подведение итогов ..................................................................................74 4.4. Как развивался Disasterpiece Theater ............................................................74 4.5. Как получить одобрение руководства ..........................................................75 4.6. Результаты ......................................................................................................76 4.6.1. Избегайте несогласованности кеша .......................................................76 4.6.2. Пробуйте и еще раз пробуйте ................................................................77 4.6.3. Невозможность как результат ................................................................77 4.7. Вывод ...............................................................................................................78 Глава 5. Google DiRT: тестирование аварийного восстановления ...............................................................................................79 5.1. Жизненный цикл теста DiRT .........................................................................81 5.1.1. Правила взаимодействия .......................................................................82 5.1.2. Что следует проверить ............................................................................86 5.1.3. Как выполнить тестирование .................................................................93 5.1.4. Сбор результатов .....................................................................................95 5.2. Объем тестов в Google ....................................................................................96 5.3. Вывод ..............................................................................................................99 Глава 6. Вариативность и приоритеты экспериментов в Microsoft ......................................................................................................101 6.1. Почему все так сложно? ...............................................................................101 6.1.1. Пример неожиданных осложнений .....................................................102 6.1.2. Простая система – лишь вершина айсберга ........................................103 6.2. Категории результатов эксперимента ........................................................104 6.2.1. Известные события / непредвиденные последствия .........................105 6.2.2. Неизвестные события / неожиданные последствия ...........................106 6.3. Расстановка приоритетов отказов ..............................................................107 6.3.1. Исследуйте зависимости ......................................................................108
Стр.8
8  Содержание 6.4. Глубина варьирования .................................................................................109 6.4.1. Вариативность отказов .........................................................................109 6.4.2. Объединение вариативности и расстановки приоритетов ................111 6.4.3. Расширение вариативности до зависимостей ....................................111 6.5. Развертывание масштабных экспериментов ............................................112 6.6. Вывод ............................................................................................................113 Глава 7. Как LinkedIn заботится о пользователях ...........................115 7.1. Учитесь на примерах катастроф ..................................................................116 7.2. Детализованные эксперименты ..................................................................117 7.3. Масштабные, но безопасные эксперименты..............................................119 7.4. На практике: LinkedOut ................................................................................120 7.4.1. Режимы отказа .......................................................................................121 7.4.2. Использование LiX для нацеливания экспериментов ........................123 7.4.3. Браузерное расширение для быстрых экспериментов .......................126 7.4.4. Автоматизированные эксперименты ..................................................128 7.5. Вывод .............................................................................................................130 Глава 8. Развитие хаос-инжиниринга в Capital One .......................131 8.1. Практический опыт Capital One ..................................................................132 8.1.1. Слепое тестирование устойчивости ....................................................132 8.1.2. Переход к хаос-инжинирингу ..............................................................133 8.1.3. Хаос-эксперименты в CI/CD .................................................................134 8.2. Чего нужно остерегаться при разработке эксперимента ..........................135 8.3. Инструментарий ..........................................................................................136 8.4. Структура команды ......................................................................................137 8.5. Продвижение хаос-инжиниринга ...............................................................139 8.6. Вывод ............................................................................................................139 Часть III. ЧЕЛОВЕЧЕСКИЕ ФАКТОРЫ .............................................141 Глава 9. Формирование предвидения .................................................143 9.1. Хаос-инжиниринг и отказоустойчивость ...................................................144 9.2. Этапы рабочего цикла хаос-инжиниринга ................................................144 9.2.1. Разработка эксперимента.....................................................................145 9.3. Инструменты для разработки хаос-экспериментов ..................................146 9.4. Эффективное внутреннее партнерство ......................................................148 9.4.1. Организация рабочих процедур ..........................................................149 9.4.2. Обсуждение предмета эксперимента ..................................................151 9.4.3. Построение гипотезы ...........................................................................152 9.5. Вывод ............................................................................................................154 Глава 10. Гуманистический хаос .............................................................156 10.1. Люди в cистеме ...........................................................................................156 10.1.1. Значение человека в социотехнических системах ...........................157 10.1.2. Организация – это система систем ....................................................158
Стр.9
Содержание  9 10.2. Инженерно-адаптивный потенциал ........................................................158 10.2.1. Обнаружение слабых сигналов ..........................................................159 10.2.2. Неудача и успех, две стороны одной монеты....................................160 10.3. Применение принципов хаос-инжиниринга на практике .....................160 10.3.1. Построение гипотезы .........................................................................161 10.3.2. Варьирование событий реального мира ...........................................161 10.3.3. Минимизация радиуса поражения ....................................................162 10.3.4. Пример 1: игровые дни .......................................................................163 10.3.5. Коммуникации и сетевая задержка в организациях ........................165 10.3.6. Пример 2: связь между точками ........................................................166 10.3.7. Лидерство как новое свойство системы ............................................169 10.3.8. Пример 3: изменение базового предположения ..............................170 10.3.9. Безопасная организация хаоса ..........................................................172 10.3.10. Все, что вам нужно, – это высота и направление ............................173 10.3.11. Замыкайте петли обратной связи ....................................................173 10.3.12. Если вы не ошибаетесь, вы не учитесь ............................................174 Глава 11. Роль человека в системе ........................................................175 11.1. Эксперименты: почему, как и когда .........................................................176 11.1.1. Почему .................................................................................................176 11.1.2. Как ........................................................................................................177 11.1.3. Когда .....................................................................................................178 11.1.4. Распределение функций, или Каждый хорош по-своему ................179 11.1.5. Миф замещения ..................................................................................181 11.2. Вывод ..........................................................................................................183 Глава 12. Проблема выбора эксперимента и ее решение ..........184 12.1. Выбор экспериментов ................................................................................184 12.1.1. Случайный поиск ................................................................................186 12.1.2. Настало время экспертов ....................................................................186 12.2. Наблюдаемость системы ...........................................................................191 12.2.1. Наблюдаемость и интуиция ...............................................................192 12.3. Вывод ..........................................................................................................194 Часть IV. ФАКТОРЫ БИЗНЕСА .............................................................195 Глава 13. Рентабельность хаос-инжиниринга ..................................196 13.1. Краткосрочный эффект хаос-инжиниринга ............................................196 13.2. Модель Киркпатрика .................................................................................197 13.2.1. Уровень 1: реакция ..............................................................................197 13.2.2. Уровень 2: обучение ............................................................................198 13.2.3. Уровень 3: перенос ..............................................................................198 13.2.4. Уровень 4: результаты .........................................................................199 13.3. Альтернативный вариант оценки рентабельности .................................199 13.4. Побочная отдача от инвестиций ...............................................................201 13.5. Вывод ..........................................................................................................202
Стр.10
10  Содержание Глава 14. Открытые умы, открытая наука и открытый хаос ......203 14.1. Совместное мышление ..............................................................................203 14.2. Открытая наука, открытый исходный код ...............................................205 14.2.1. Открытые хаос-эксперименты...........................................................206 14.2.2. Обмен результатами и выводами ......................................................208 14.3. Вывод ..........................................................................................................208 Глава 15. Модель зрелости хаоса ..........................................................209 15.1. Внедрение ...................................................................................................209 15.1.1. От кого исходит идея внедрения........................................................210 15.1.2. Какая часть организации участвует в хаос-инжиниринге ...............211 15.1.3. Обязательные условия ........................................................................212 15.1.4. Препятствия для внедрения ...............................................................213 15.1.5. Освоение ..............................................................................................214 15.2. Карта состояния хаос-инжиниринга ........................................................219 Часть V. ЭВОЛЮЦИЯ .................................................................................221 Глава 16. Непрерывная проверка..........................................................223 16.1. Происхождение непрерывной проверки..................................................223 16.2. Разновидности систем непрерывной проверки ......................................225 16.3. CV в реальной жизни: ChAP ......................................................................227 16.3.1. Выбор экспериментов в ChAP ............................................................227 16.3.2. Запуск экспериментов в ChAP ...........................................................228 16.3.3. ChAP и принципы хаос-инжиниринга ..............................................228 16.3.4. ChAP как непрерывная проверка .......................................................229 16.4. Непрерывная проверка в системах рядом с вами ...................................229 16.4.1. Проверка производительности ..........................................................230 16.4.2. Артефакты данных ..............................................................................230 16.4.3. Корректность .......................................................................................230 Глава 17. Поговорим о киберфизических системах .......................232 17.1. Происхождение и развитие киберфизических систем ............................233 17.2. Слияние функциональной безопасности с хаос-инжинирингом ...........234 17.2.1. FMEA и хаос-инжиниринг ...................................................................236 17.3. Программное обеспечение в киберфизических системах ......................236 17.4. Хаос-инжиниринг как следующий шаг после FMEA ................................238 17.5. Эффект щупа ...............................................................................................241 17.5.1. Решение проблемы щупа ....................................................................242 17.6. Вывод ...........................................................................................................244 Глава 18. HOP с точки зрения хаос-инжиниринга ...........................246 18.1. Что такое HOP? ...........................................................................................246 18.2. Ключевые принципы HOP .........................................................................247 18.2.1. Принцип 1: ошибка – это норма ........................................................247 18.2.2. Принцип 2: вина ничего не исправляет ............................................247
Стр.11
Содержание  11 18.2.3. Принцип 3: контекст определяет поведение ....................................248 18.2.4. Принцип 4: обучение и улучшение имеют жизненно важное значение ..........................................................................................................249 18.2.5. Принцип 5: важны осмысленные ответы .........................................249 18.3. Хаос-инжиниринг в мире HOP ..................................................................249 18.3.1. Практический пример хаос-инжиниринга в мире HOP ...................251 18.4. Вывод ..........................................................................................................253 Глава 19. Хаос-инжиниринг и базы данных ......................................254 19.1. Зачем нам нужен хаос-инжиниринг? .......................................................254 19.1.1. Надежность и стабильность ................................................................254 19.1.2. Пример из реального мира .................................................................255 19.2. Применение хаос-инжиниринга ...............................................................257 19.2.1. Наш особый подход к хаос-инжинирингу .........................................257 19.2.2. Внедрение отказов ..............................................................................258 19.2.3. Отказы приложений ...........................................................................258 19.2.4. Ошибки процессора и памяти ............................................................259 19.2.5. Отказы сети .........................................................................................259 19.2.6. Внедрение ошибок в файловую систему ...........................................260 19.3. Обнаружение сбоев ....................................................................................261 19.4. Автоматизация хаоса .................................................................................262 19.4.1. Автоматизированная платформа для экспериментов Schrodinger ......................................................................................................262 19.4.2. Рабочий процесс на платформе Schrodinger .....................................264 19.5. Вывод ..........................................................................................................264 Глава 20. Хаос-инжиниринг в информационной безопасности ..................................................................................................266 20.1. Современный подход к безопасности ......................................................267 20.1.1. Человеческий фактор и отказы ..........................................................267 20.1.2. Устраните легкодоступные цели ........................................................269 20.1.3. Петли обратной связи .........................................................................270 20.2. Хаос-инжиниринг и новая методология безопасности ..........................271 20.2.1. Проблемы с Red Teaming.....................................................................272 20.2.2. Проблемы с Purple Teaming ................................................................272 20.2.3. Преимущества хаос-инжиниринга в кибербезопасности ................273 20.3. Игровые дни в кибербезопасности ...........................................................274 20.4. Пример инструмента безопасности: ChaoSlingr ......................................274 20.4.1. История ChaoSlingr .............................................................................275 20.5. Вывод ..........................................................................................................277 Заключение ....................................................................................................279 Предметный указатель ..............................................................................282
Стр.12

Облако ключевых слов *


* - вычисляется автоматически
Антиплагиат система на базе ИИ