HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-19
1 <p>Ранее<a>затрагивали тему</a><a>Chaos Engineering,</a>давайте подробнее.</p>
1 <p>Ранее<a>затрагивали тему</a><a>Chaos Engineering,</a>давайте подробнее.</p>
2 <p>Все знают: прод может сломаться в любой момент. Сервер упадёт, сеть ляжет, база зависнет... Если система к этому не готова, случится катастрофа. Но настоящий SRE не ждёт, когда что-то сломается случайно. Он сам создаёт хаос, чтобы проверить, выживет ли система.</p>
2 <p>Все знают: прод может сломаться в любой момент. Сервер упадёт, сеть ляжет, база зависнет... Если система к этому не готова, случится катастрофа. Но настоящий SRE не ждёт, когда что-то сломается случайно. Он сам создаёт хаос, чтобы проверить, выживет ли система.</p>
3 <p><strong>Это и есть Chaos Engineering - методология, которая помогает намеренно создавать сбои, чтобы:</strong></p>
3 <p><strong>Это и есть Chaos Engineering - методология, которая помогает намеренно создавать сбои, чтобы:</strong></p>
4 <ul><li>понять, как ведёт себя система под нагрузкой;</li>
4 <ul><li>понять, как ведёт себя система под нагрузкой;</li>
5 <li>найти слабые места до того, как они приведут к реальному инциденту;</li>
5 <li>найти слабые места до того, как они приведут к реальному инциденту;</li>
6 <li>улучшить отказоустойчивость и снизить риски.</li>
6 <li>улучшить отказоустойчивость и снизить риски.</li>
7 </ul><p><strong>Какие хаотичные тесты можно делать?</strong></p>
7 </ul><p><strong>Какие хаотичные тесты можно делать?</strong></p>
8 <p>❗️ Убить случайный сервер - выживут ли остальные?</p>
8 <p>❗️ Убить случайный сервер - выживут ли остальные?</p>
9 <p>❗️ Отключить базу данных - что будет с приложением?</p>
9 <p>❗️ Отключить базу данных - что будет с приложением?</p>
10 <p>❗️ Замедлить сеть - справятся ли микросервисы?</p>
10 <p>❗️ Замедлить сеть - справятся ли микросервисы?</p>
11 <p>❗️ Увеличить нагрузку - начнёт ли прод троттлить запросы или ляжет целиком?</p>
11 <p>❗️ Увеличить нагрузку - начнёт ли прод троттлить запросы или ляжет целиком?</p>
12 <p><strong>Инструменты для Chaos Engineering:</strong></p>
12 <p><strong>Инструменты для Chaos Engineering:</strong></p>
13 <ul><li>Chaos Monkey - убивает случайные инстансы в проде.</li>
13 <ul><li>Chaos Monkey - убивает случайные инстансы в проде.</li>
14 <li>Gremlin - симуляция сетевых задержек, отказов CPU, отключений серверов.</li>
14 <li>Gremlin - симуляция сетевых задержек, отказов CPU, отключений серверов.</li>
15 <li>LitmusChaos - хаос-тестирование для Kubernetes.</li>
15 <li>LitmusChaos - хаос-тестирование для Kubernetes.</li>
16 <li>Pumba - хаос-инструмент для Docker.</li>
16 <li>Pumba - хаос-инструмент для Docker.</li>
17 </ul><p><strong>Правила безопасного хаоса:</strong></p>
17 </ul><p><strong>Правила безопасного хаоса:</strong></p>
18 <p>1️⃣<em>Сначала тестируйте на staging!</em>Никто не любит, когда прод падает "по приколу".</p>
18 <p>1️⃣<em>Сначала тестируйте на staging!</em>Никто не любит, когда прод падает "по приколу".</p>
19 <p>2️⃣ Ограничивайте радиус эксперимента. Ломать всё сразу не лучшая идея.</p>
19 <p>2️⃣ Ограничивайте радиус эксперимента. Ломать всё сразу не лучшая идея.</p>
20 <p>3️⃣ Мониторинг обязателен. Без него вы просто создаете проблемы, а не изучаете их.</p>
20 <p>3️⃣ Мониторинг обязателен. Без него вы просто создаете проблемы, а не изучаете их.</p>
21 <p>4️⃣ Знайте, когда остановиться. Если тест пошёл не так, должен быть способ быстро откатиться.</p>
21 <p>4️⃣ Знайте, когда остановиться. Если тест пошёл не так, должен быть способ быстро откатиться.</p>
22 <p>Хаос неизбежен. Либо вы контролируете хаос, либо он контролирует вас. SRE-инженеры используют Chaos Engineering, чтобы узнать слабые места заранее и подготовить систему к реальным сбоям.</p>
22 <p>Хаос неизбежен. Либо вы контролируете хаос, либо он контролирует вас. SRE-инженеры используют Chaos Engineering, чтобы узнать слабые места заранее и подготовить систему к реальным сбоям.</p>