View in Telegram
Сегодня у нас мега хайповая тема: Chaos Engineering! Совместно с Леонидом Шалаевым, специалистом в нагрузочных тестированиях Lamoda Tech 👊Кому и как хаос-инжиниринг помогает найти слабые места и помогает ли? 🦍История Хаос-инжиниринг (Chaos Engineering) зародился в Netflix в начале 2010-х годов, когда компания столкнулась с необходимостью поддерживать надёжность своей сложной распределённой инфраструктуры в условиях перехода от традиционных серверов к облачным. Переход к облачным серверам потребовал более гибких методов тестирования отказоустойчивости. В ответ на этот вызов компания Netflix создала инструмент Chaos Monkey — первый в своем роде инструмент для хаотического тестирования, который случайным образом «выключал» сервисы и помогал команде отработать сценарии аварийного восстановления. Успех этого подхода в Netflix положил начало развитию практик хаос-инжиниринга, и со временем методики распространились на множество других компаний. 🦍Ключевой принцип Главный принцип хаос-инжиниринга — проверка устойчивости системы к сбоям через преднамеренное внесение отказов и нарушение нормальных условий работы, чтобы увидеть, как система реагирует на сбои в реальных условиях, и заранее выявить скрытые уязвимости. 🦍Чем хаос-инжиниринг помогает компаниям 1) Обеспечивать высокую надёжность сервисов. Тесты выявляют слабые места, позволяя разработчикам предотвращать сбои до того, как они затронут пользователей. 2) Улучшить системы автоматического восстановления. Компании могут проверить, насколько быстро и эффективно срабатывают инструменты автоматического восстановления после отказов. 3) Повысить подготовленность команды к инцидентам. Разработчики и операционные специалисты могут регулярно отрабатывать аварийные сценарии, что уменьшает время реагирования в случае реальных проблем. Когда инженеры привыкают к искусственным отказам, то при реальных инцидентах они становятся спокойнее, т.к. сбои и тесты в проде для них становятся обычным делом. 4) Снижать бизнес-риски. За счёт повышенной отказоустойчивости компания уменьшает вероятность потери дохода и репутационных издержек в случае критических отказов. 🦍Основные методики 1) Проверки отказов на уровне компонентов. Например, отключение микросервисов или снижение скорости работы базы данных для проверки реакции системы на выход отдельных компонентов из строя. 2) Тестирование на уровне инфраструктуры. Включение случайных сбоев в сети, отказов серверов или ограничения пропускной способности сети. 3) Тестирование в реальном времени. Метод “testing in production” позволяет тестировать систему в реальной среде под боевой нагрузкой, что особенно полезно для масштабируемых сервисов. 4) Использование инструментов автоматизации. Инструменты типа Chaos Monkey, Gremlin и Chaos Toolkit позволяют создавать автоматизированные сценарии отказов и управлять ими. 🦍Потенциальные проблемы и риски 1) Сложность реализации. Построение сценариев хаос-тестирования требует значительных знаний о системе и архитектуре. Внедрение таких тестов может занять много времени, привести к высокой стоимости внедрения. В некоторых случаях хаос инженерию как раз используют, чтобы тестировать слишком сложные системы, где человек инженеры не могут сами держать всё в голове, а для написания тестов (не хаос) понадобится еще больше времени и денег. Такие системы Кейси Розенталь называет "нелинейными" в книге Хаос-инжинириг: Революция в разработке устойчивых систем 2) Риск реальных сбоев в системе. Если тестирование проводится в продакшн-среде, всегда есть вероятность, что сбои окажут негативное влияние на пользователей. 3) Финансовые и временные затраты. Разработка сценариев и внедрение хаос-тестов требует инвестиций в инструменты и квалифицированные кадры. 4) Стресс для команды. Хаос-тесты могут оказывать негативное влияние на разработчиков, так как требуют высокой концентрации и готовности к частым сбоям. Продолжение здесь #полезныематериалы @downtime_bar
Please open Telegram to view this post
VIEW IN TELEGRAM
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Love Center - Dating, Friends & Matches, NY, LA, Dubai, Global
Find friends or serious relationships easily