[ad_1]
Netflix является родиной хаос-инжиниринга, все более значимого подхода к разработке сложных современных технологических архитектур. По сути, это означает, что пока вы смотрите свое любимое шоу Netflix, платформа тестирует свое программное обеспечение, пока вы смотрите. (Посмотрите на альтернативу программное обеспечение для пользовательского тестирования (откроется в новой вкладке).)
Практика хаос-инженерии началась, когда основным бизнесом Netflix была онлайн-прокат DVD. Одно повреждение базы данных означало большой сбой системы, из-за чего доставка DVD задерживалась на три дня. Это побудило инженеров Netflix перейти от монолитного локального стека программного обеспечения к распределенной облачной архитектуре, работающей на Amazon Web Services (AWS).
В то время как пользователи распределенной архитектуры и сотен микросервисов выиграли от устранения единой точки отказа, это создало гораздо более сложную систему для управления и обслуживания. Следовательно, это привело к парадоксальному осознанию того, что для того, чтобы избежать любой возможности сбоя, команда инженеров Netflix должна привыкнуть к регулярным сбоям!
Введите обезьяну хаоса (откроется в новой вкладке): уникальный инструмент Netflix, который позволяет пользователям перемещаться по его сложной архитектуре и вызывать сбои в случайных местах и через произвольные промежутки времени во всех системах. Благодаря его внедрению команда смогла быстро проверить, достаточно ли надежны и устойчивы сервисы для преодоления незапланированных инцидентов.
Это было началом хаос-инжиниринга — практики экспериментирования с распределенной системой, чтобы укрепить уверенность в способности системы противостоять турбулентным условиям производства и неожиданным сбоям.
Лицензия Chaos Monkey с открытым исходным кодом позволяет растущему числу организаций, таких как Amazon, Google и Nike, использовать хаос-инжиниринг в своих архитектурах. Но насколько хаотичной может быть инженерия хаоса?
Успешная инженерия хаоса включает в себя серию вдумчивых, спланированных и контролируемых экспериментов, предназначенных для демонстрации того, как ваши системы ведут себя в случае сбоя.
По иронии судьбы, это звучит как противоположность хаосу. Однако практикующие должны помнить, что целью является обучение, чтобы подготовиться к неожиданностям. Современные программные системы часто слишком сложны для полной интерпретации, поэтому эта дисциплина посвящена проведению экспериментов для выявления всех элементов неизвестного. Эксперимент по созданию хаоса расширяет наши знания о системных слабостях.
Прежде чем можно будет применить хаос-инженерию на практике, вы должны сначала добиться определенного уровня устойчивости в своих системах. Мы не рекомендуем наводить хаос, если вы постоянно боретесь с пожарами. Если это так, вот несколько ключевых советов для проведения успешных экспериментов по созданию хаоса:
01. Выясните устойчивые системы
Начните с определения показателей, которые показывают, что ваши системы исправны и функционируют должным образом. Netflix использует «потоки в секунду» — скорость, с которой клиенты нажимают кнопку воспроизведения на устройстве для потоковой передачи видео — для измерения стабильного состояния.
02. Создайте гипотезу
Каждому эксперименту нужна гипотеза для проверки. Поскольку вы пытаетесь нарушить устойчивое состояние, ваша гипотеза должна выглядеть примерно так: «Когда мы делаем X, не должно происходить никаких изменений в устойчивом состоянии этой системы». Вся деятельность по созданию хаоса должна включать в себя настоящие эксперименты с использованием реальных неизвестных.
03. Рассмотрите сценарии реального мира
Для получения оптимальных результатов подумайте: «Что может пойти не так?» а затем смоделируйте это. Убедитесь, что вы также отдаете приоритет потенциальным ошибкам. Хаос-инжиниринг поначалу может показаться пугающим, но когда он выполняется контролируемым образом, он может оказаться бесценным для понимания того, как сложные современные системы можно сделать более устойчивыми и надежными. Обучение работе с организованным хаосом поможет вашим командам полностью понять эффективность и устойчивость ваших систем к опасным условиям.
Эта статья была первоначально опубликована в выпуске 324 сеть (откроется в новой вкладке), самый продаваемый в мире журнал для веб-дизайнеров и разработчиков. Купить выпуск 324 (откроется в новой вкладке) или же подписываться (откроется в новой вкладке) сегодня в сеть.
Статьи по Теме:
[ad_2]