Обложка канала

Умный программист: it, программирование, hi-tech

Легендарный Гарвардский курс по основам программирования в закрепе канала! Поможем научиться программировать бесплатно

Умный программист: it, программирование, hi-tech

5 лет назад
Открыть в
Введение в Chaos Engineering Хаос-инжиниринг - это нарушение работы системы для повышения ее устойчивости. В этой статье мы разберем происхождение, принципы и преимущества этой дисциплины. С ростом количества микросервисов и распределенной инфраструктуры становится все труднее контролировать отказы систем. Раньше это не было проблемой, потому что инфраструктура размещалась и управлялась локально, а опытные системные администраторы обеспечивали ее стабильную работу. Теперь, когда системы размещаются в глобально распределенных инфраструктурах, трудно предсказать, какой сбой может произойти в системе. Что такое Chaos Engineering Согласно принципам хаоса, Chaos Engineering - это «дисциплина экспериментирования с системой с целью создания уверенности в ее способности противостоять турбулентным условиям в процессе производства». Разработка Chaos началась в 2010 году, когда инженеры Netflix создали Chaos Monkey в ответ на их переход от физической локальной инфраструктуры к AWS. Когда Netflix перешел на облачную инфраструктуру, они решили разработать Chaos Monkey, чтобы протестировать различные условия сбоя и убедиться, что отказавший компонент на AWS не повлияет на качество потоковой передачи Netflix. Принципы Хаос-Инжиниринга Принципы хаос-инжиниринга описывают идеальный пошаговый процесс экспериментирования с отказами в распределенных системах, чтобы укрепить уверенность в их устойчивости и надежности. Определите, что для вашей системы "нормально" Первый процесс разработки эксперимента по хаосу для вашей системы - это определение нормального состояния вашей системы. Было бы полезно, если бы вы определили некоторые ключевые показатели, такие как количество процессов, которые должны быть запущены, и поведение вашей системы, которые будут указывать на то, что ваша система работает нормально. Постройте гипотезу о нормальном поведении Поняв нормальное функциональное состояние вашей системы, вы можете сформировать гипотезу о том, как компоненты вашей системы будут вести себя при выходе из строя одного из них. Вы должны учитывать все важные элементы, включая экземпляры, пропускную способность, задержку и производительность ввода-вывода. Создавайте реальные события Обрисовать в общих чертах реальные события, которые могут вызвать нарушение нормального поведения вашей системы - такие события, как отказ оборудования, отказ сервера, отказ программного обеспечения, а также любые другие события, которые потенциально могут вызвать простой вашей системы. Минимизируйте радиус взрыва Поскольку эксперименты по хаотической инженерии проводятся непосредственно в производственной среде, они могут вызывать неблагоприятные эффекты в реальном времени. Чтобы убедиться, что расследование находится в пределах возможностей устойчивости вашей системы, минимизируйте радиус взрыва, а затем постепенно увеличивайте, пока он не достигнет полного масштаба. Преимущества Chaos Engineering Chaos Engineering предлагает множество преимуществ для бизнеса, технических команд и пользователей. Это сокращает время простоя системы и приложений. Chaos Engineering помогает выявить распространенные сбои, которые могут вызвать частые простои системы, тем самым позволяя вам укрепить вашу систему против известных сбоев, которые могут привести к простою. Повышенная отказоустойчивость системы означает, что в системе будет меньше сбоев, что позволит избежать простоев, ведущих к потере дохода.