Технологија је свуда. У зависности од тога колико висок улог има ваша индустрија, неуспех технолошког производа или система може пасти негде између потпуно занемарљивог до краја живота какав познајете.
Основе болнице? Некако важно. Отпорност апликације Цанди Црусх на вашем мобилном телефону? Вероватно нешто ниже на целокупној листи приоритета.
У дистрибуираном систему мрежа неуспех је неизбежан. Спречавање катастрофе започиње чврстим, водонепропусним сигурносним дизајном. Међутим, мимо тога, шта још могу учинити?
Шта је Нетфлик Цхаос Енгинееринг?
20. септембра 2015.
Сасвим тихо на западном фронту, када одједном неколико важних корпоративних Амазон Веб Сервицес сервера пропадне без речи.
Многе огромне компаније нису могле да обезбеде своје купце неколико сати. Нетфлик се, међутим, вратио на ноге за неколико минута. Како? Култура интерне компаније компаније Нетфлик еволуирала је тако да укључује многе праксе „изазивања неуспеха“ примењене у реалном времену како би се припремили и системи и инжењери за случај катастрофе.
Руководство компаније је намерно спровело симулиране прекиде рада сервера у одређеним деловима система како би проучило и припремило се за догађаје попут ових. То им је помогло да идентификују рупе у систему и направе вишкове који су омогућили несметани рад услуге, чак и у случају већег квара попут претходно поменутог.
Ове намерне вежбе „инжењеринга хаоса“ дале су својим инжењерима довољно конкурентску предност да се виде кроз фијаско, делом захваљујући превентивној инфраструктури коју су изградили овом врстом догађаја судњег дана на уму.
Нико други није био спреман кад је ударио велики талас. Нетфлик систем је био довољно јак да се сам снађе. Закључак? Ови хаотични налогодавци можда су овде на нечему.
Намерно уништавајући оне који те воле
„Инжењеринг хаоса је дисциплина експериментисања на систему како би се изградило поверење у способност система да издржи турбулентне услове у производњи.“
Принципи манифеста Хаос
Ово је срце инжењерства хаоса - у суштини, „ватрогасна вежба“ наметнута систему током радног времена када су на располагању очи и руке за решавање представљеног изазова. Способност датог система да толерише неуспех ставља се на тест када су изложене било какве рањивости.
У свом изворном контексту из 2011. године, инжењеринг хаоса односио се на Нетфликов ИТ одељење. Њихово руководство је желело да тестира колико су отпорни напори тима били када су један или више њихових рачунара намерно онеспособљени. Ови неуспеси омогућили су ИТ тиму да идентификује кључне слабости пре него што постану проблеми широм система и могу да се искористе споља.
Прави неуспех? То може скупо коштати, а то превазилази новчане импликације. Чак и периоди застоја, без стварног пропуста у безбедности, вероватно ће резултирати обиљем пропуштених прилика за зараду. Зашто чекати хитан случај да вас заслепи?
Мајмуни иза лудила
Неке компаније ће усвојити модел „црвеног тима“ који поставља тимове програмера против своје браће преко одељења. Класични пример који је Нетфлик покренуо, међутим, користи „Симиан Арми“. Ови ботови раде прљав посао за њих поштено и потпуно насумично.
Инсане? Лаику, можда. По речима аутора "Хаос мајмуна" Антонија Гарсија Мартинеза:
„Замислите мајмуна који улази у„ центар података “, на те„ фарме “сервера који су домаћин свим критичним функцијама наших онлајн активности. Мајмун насумично поцепа каблове и уништава уређаје. Изазов је дизајнирати информациони систем за који су одговорни како би могао да функционише упркос овим мајмунима, за које нико никада не зна када стигну и шта ће уништити “.
Шарена аналогија. Нису сви Симци окрутни: доктор Монкеи, на пример, надгледа перформансе система. Међутим, када Цхаос Конг сврати у посету, све опкладе су искључене; овај лик ће уклонити целу зону доступности АВС-а.
Повезан: Како се процењују сигурносне рањивости?
Инжењерство хаоса и научна метода
Инжењеринг хаоса служи као драгоцен извор системског увида за оне који спроводе експерименте. Нису овде тестирани само програмери; то је систем какав и аутономно постоји.
Пре него што бачву мајмуна баци на сто, инжењерство хаоса захтева мало темеља.
- Прво треба да идентификујете оно што сматрате „стабилним“, здравим, функционалним стањем вашег система. Ово ће бити „контрола“ према којој мерите било који опипљиви исход.
- Почните да размишљате о томе како ће ово стање избити из равнотеже упадом оркестрираног неуспеха. Планирајте да малвер за испитивање утиче само на ограничено, контролисано подручје вашег система.
- Представите „уљеза“ и дозволите систему да одговори.
- Уочите и протумачите све разлике између система какав постоји сада и како се понашао раније, док је био у хомеостази. Повећавајте свој „радијус експлозије“ удара све док не откријете рањивост или не достигнете пуну скалу, шта год да се прво догоди.
Идеја је да што је теже пореметити функционалан систем, то више поверења можете имати у његову отпорност на промене и бомбардовање. Овај приступ показује како ће различити аспекти система надокнадити кварове једни другима у случају нестанка струје.
„Будући да ниједна појединачна компонента не може да гарантује 100% трајање рада (па чак и најскупљи хардвер на крају не успе), морамо дизајнирајте архитектуру у облаку у којој поједине компоненте могу пропасти без утицаја на доступност целине систем. "
Тхе Нетфлик Блог
Понекад се поигравање системом на овај начин ни изблиза не утиче на корисничко искуство. Други пут ће се изнети озбиљне сигурносне мане. Сада, посебно у Нетфлик-у, непредвиђени случајеви намењени маскирању системског квара на корисничком нивоу уграђени су у основу система.
Повезан: Шта је експлоатација нула дана?
Да ли је инжењерство каоса вредно тога?
Ако желите да разумете сложени систем - узнемирите га
- Фархан Тхавар (@фнтхавар) 26. маја 2021
Критичари ће рећи да ниједна позадинска игра не вреди утицати на искуство купца, чак и само на кратко и случајно. Они који су за инжењерство хаоса, међутим, оповргаваће чињеницом да су ти „планирани прекиди“ требало да буду много мањи од онога што је АВС доживео 2015. године. Ако вас мали, планирани проблем доведе у ситуацију да спречите да се много већи проблем икад представи, планирање почетног инцидента може бити најбољи начин за припрему. Укупно ће то утицати на мање корисника. Математика успева.
Од људског краја ствари, менталитет је такав да су ови инжењери који су имали пад сервера пред собом и ако се с тим компетентно баве, у будућности ће бити и опрезнији, а такође и интелектуално опремљенији за руковање оним што им падне на памет начин. Јачи систем који резултира у многим случајевима говори сам за себе.
Силицијумска долина: Где снови умиру
Кажу да ако желите да то учините великим, морате бити спремни да убијете своје драге или, у овом случају, да будете спремни да дозволите да их други убију за вас. Када је сигурност на првом месту од самог почетка развоја, много је вероватније да ће ваш тим завршити са нечим непробојним и сигурним за слободно коришћење купаца.
Играње искуства на радном месту чини изгледе за успех у овом домену узбудљивим; када је крајњи резултат квалитетан, сви морају да пређу на виши ниво. Мој Нетфлик ради сасвим добро, а на њему имамо само луђаке иза хаоса.
Сад кад сте чврсто схватили инжењеринг хаоса, зашто не бисте проширили своје знање другом методологијом за развој софтвера? Агиле је одличан систем који можете да интегришете за обједињавање радне снаге и производњу чистог, ефикасног кода.
Без обзира да ли се пријављујете за послове програмирања или желите ефикаснији начин рада, мораћете да знате о Агиле-у.
Прочитајте следеће
- Програмирање
- Програмирање
Емма Гарофало је списатељица која тренутно живи у Питтсбургху, Пеннсилваниа. Кад се не труди за својим столом у жељи за бољим сутра, обично је могу наћи иза камере или у кухињи.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, прегледе, бесплатне е-књиге и ексклузивне понуде!
Још један корак…!
Молимо потврдите своју адресу е-поште у е-поруци коју смо вам управо послали.