Tehnika ir visur. Atkarībā no tā, cik liela ir jūsu nozares likme, kāda tehnoloģiska produkta vai sistēmas kļūme var būt pavisam neliela līdz dzīves beigām, kā jūs to zināt.

Slimnīcu lieldatori? Svarīgi. Candy Crush lietotnes elastība jūsu mobilajā tālrunī? Iespējams, nedaudz zemāk kopējā prioritāšu sarakstā.

Sadalītā tīklu sistēmā kļūme ir neizbēgama. Katastrofu novēršana sākas ar stingru, ūdensnecaurlaidīgu drošības dizainu. Tomēr, ko vēl var darīt?

Kas ir Netflix haosa inženierija?

2015. gada 20. septembris.

Visi klusi Rietumu frontē, kad pēkšņi vairāki svarīgi korporatīvie Amazon Web Services serveri pazūd bez vārda.

Daudzi milzīgi uzņēmumi vairākas stundas nespēja nodrošināt savus klientus. Tomēr Netflix dažu minūšu laikā atkal nostājās uz kājām. Kā? Netflix iekšējā uzņēmuma kultūra bija attīstījusies, iekļaujot daudzas "neveiksmes izraisošas" prakses, kas ieviestas reāllaikā, lai sagatavotos gan sistēmām, gan inženieriem gan katastrofas gadījumā.

Uzņēmuma vadība mērķtiecīgi veica simulētus servera pārtraukumus sistēmas daļās, lai izpētītu un sagatavotos šādiem notikumiem. Tas viņiem palīdzēja atklāt caurumus sistēmā un izveidot štatu samazināšanu, kas ļāva pakalpojumu nepārtraukti turpināt pat tādu nopietnu darbības traucējumu gadījumā kā iepriekš minētais.

Šie apzinātie "haosa inženierijas" vingrinājumi viņu inženieriem deva pietiekami daudz konkurences priekšrocību, lai redzētu sevi izmantojot fiasko, daļēji pateicoties profilaktiskajai infrastruktūrai, ko viņi izveidoja ar šāda veida pasaules dienas notikumu prātā.

Neviens cits nebija gatavs, kad skāra lielais vilnis. Netflix sistēma bija pietiekami spēcīga, lai pati par sevi spētu sevi novērst. Secinājums? Šīs haotiskās idejas varētu būt kaut kas šeit.

Tīši iznīcināt tos, kas jūs mīl

"Haosa inženierija ir disciplīna eksperimentiem ar sistēmu, lai vairotu pārliecību par sistēmas spēju izturēt nemierīgos ražošanas apstākļus."

Haosa manifesta principi

Šī ir haosa inženierijas sirds - būtībā "ugunsgrēks", kas uzlikta sistēmai darba laikā, kad ir pieejamas acis un rokas, lai risinātu uzrādīto problēmu. Konkrētas sistēmas spēja paciest neveiksmes tiek pārbaudīta, jo tiek atklātas visas vājās vietas.

Sākotnējā 2011. gada kontekstā haosa inženierija attiecās uz Netflix IT nodaļu. Viņu vadība vēlējās pārbaudīt, cik izturīgi bija komandas centieni, kad viens vai vairāki viņu datori tika apzināti atspējoti. Šīs neveiksmes ļāva IT komandai identificēt galvenās nepilnības, pirms tās kļuva par sistēmas mēroga problēmām un tās varēja izmantot no ārpuses.

Īsta neveiksme? Tas var būt dārgi kā ellē, un tas pārsniedz monetārās sekas. Pat dīkstāves periodi bez reāla drošības pārtraukuma, iespējams, radīs daudz neizmantotu iespēju nopelnīt ieņēmumus. Kāpēc gaidīt ārkārtas situāciju, kas jūs aizklās?

Pērtiķi aiz trakuma

Daži uzņēmumi pieņems "sarkanās komandas" modeli, kas pielīdzina izstrādātāju komandas pret saviem brāļiem departamentu līnijās. Netflix klasiskajā piemērā tomēr tiek izmantota "Simiānas armija". Šie roboti netīro darbu viņiem veic godīgi un pilnīgi nejauši.

Ārprāts? Varbūt laicīgajam. Ar vārdiem "Haosa pērtiķi" autors Antonio Garsija Martinezs:

"Iedomājieties, kā pērtiķis ienāk" datu centrā ", šajās serveru" saimniecībās ", kurās mitinās visas mūsu tiešsaistes darbību kritiskās funkcijas. Pērtiķis nejauši plēš kabeļus un iznīcina ierīces. Uzdevums ir izveidot informācijas sistēmu, par kuru viņi ir atbildīgi, lai tā varētu darboties, neskatoties uz šiem pērtiķiem, kurus neviens nekad nezina, kad viņi ierodas un ko viņi iznīcinās. "

Krāsaina līdzība. Tomēr ne visi simieši ir nežēlīgi: ārsts Monkey uzrauga, piemēram, sistēmas veiktspēju. Kad Haoss Kong apstājas, lai apmeklētu, visas derības tiek izslēgtas; šis raksturs nojauks visu AWS pieejamības zonu.

Saistīts: Kā tiek novērtētas drošības ievainojamības?

Haosa inženierija un zinātniskā metode

Haosa inženierija tiem, kas veic eksperimentus, kalpo kā vērtīgs sistēmiskas izpratnes avots. Šeit tiek pārbaudīti ne tikai izstrādātāji; tā ir arī sistēma, kāda tā pastāv autonomi.

Pirms pērtiķu mucas izmešanas uz galda, haosu inženierija prasa mazliet pamatu.

  1. Vispirms jums jāidentificē tas, ko jūs uzskatāt par “stabilu”, veselīgu, funkcionālu savas sistēmas stāvokli. Šī būs tā “kontrole”, ar kuru jūs mērīsit taustāmus rezultātus.
  2. Sāciet domāt par to, kā šo stāvokli izlīdzinās līdzsvars ar orķestrētas neveiksmes iejaukšanos. Plānojiet, ka jūsu zondēšanas ļaunprātīgā programmatūra ietekmē tikai ierobežotu, kontrolējamu sistēmas zonu.
  3. Iepazīstiniet ar "iebrucēju" un ļaujiet sistēmai reaģēt.
  4. Novērojiet un interpretējiet jebkādas atšķirības starp sistēmu, kāda tā pastāv tagad, un to, kā tā uzvedās iepriekš, atrodoties homeostāzē. Palieliniet trieciena “sprādziena rādiusu”, līdz vai nu atklājat ievainojamību, vai arī sasniedzat pilnu skalu, atkarībā no tā, kas notiek ātrāk.

Ideja ir tāda, ka jo grūtāk ir izjaukt funkcionālo sistēmu, jo lielāka pārliecība var būt par tās elastību mainīties un bombardēt. Šī pieeja parāda, kā dažādi sistēmas aspekti kompensēs viens otra neveiksmes pārtraukuma gadījumā.

"Tā kā neviens atsevišķs komponents nevar garantēt 100% darbspēju (un pat visdārgākā aparatūra galu galā neizdodas), mums tas ir jādara noformēt mākoņa arhitektūru, kur atsevišķi komponenti var neizdoties, neietekmējot visa pieejamību sistēmā. "

The Netflix Emuārs

Dažreiz šādā veidā spēlēšanās ar sistēmu pat ne tuvu neietekmē klientu pieredzi. Citreiz tiks atklāti nopietni drošības trūkumi. Tagad, īpaši Netflix, ārkārtas gadījumi, kas paredzēti, lai maskētu sistēmas kļūmes lietotāja līmenī, ir iebūvēti sistēmas pamatā.

Saistīts: Kas ir nulles dienas izmantojums?

Vai haosa inženierija ir tā vērts?

Ja vēlaties saprast sarežģītu sistēmu - traucējiet to

- Farhan Thawar (@fnthawar) 2021. gada 26. maijs

Kritiķi teiks, ka neviena aizmugures spēle nav vērts ietekmēt klienta pieredzi, kaut vai īsi un ar starpgadījumiem. Tie, kas atbalsta haosa inženieriju, tomēr atspēkos ar to, ka šie "plānotie pārtraukumi" ir domāti daudz mazāki nekā tas, ko AWS piedzīvoja 2015. gadā. Ja neliela, ieplānota problēma ļauj jums neļaut daudz lielākai problēmai sevi parādīt, sākotnējā incidenta plānošana var būt labākais veids, kā sagatavoties. Kopumā tas ietekmēs mazāk lietotāju. Matemātika izdodas.

No jautājuma cilvēciskā viedokļa mentalitāte ir tāda, ka tagad šie inženieri, kuriem priekšā ir servera avārija, un kompetenti rīkoties, tas būs gan modrāks nākotnē, gan arī intelektuālāk sagatavots, lai rīkotos ar visu, kas nāk no viņu puses veidā. Spēcīgākā sistēma, kas rodas, daudzos gadījumos runā pati par sevi.

Silīcija ieleja: kur sapņi iet bojā

Viņi saka, ka, ja jūs vēlaties to padarīt lielu, jums ir jābūt gatavam nogalināt savus mīļos vai, šajā gadījumā, būt gatavam ļaut citiem nogalināt viņus jūsu vietā. Kad drošība ir priekšplānā jau pašā attīstības sākumā, jūsu komanda, visticamāk, nonāks pie kaut kā necaurejama un droša, lai klienti to varētu brīvi izmantot.

Spēļu novērtēšana darba vietā padara aizraujošas izredzes gūt panākumus šajā jomā; kad gala rezultāts ir kvalitatīvs, visi nonāk līdz līmenim. Mana Netflix darbojas ļoti labi, un mums par haosu ir palikuši tikai ārprāti.

Tagad, kad esat stingri pārzinājis haosa inženieriju, kāpēc nepaplašināt savas zināšanas ar citu programmatūras izstrādes metodiku? Agile ir lieliska sistēma, kuru varat iekļaut, lai apvienotu darbaspēku un izveidotu tīru, efektīvu kodu.

E-pasts
Kas ir veiklās programmēšanas metodika?

Neatkarīgi no tā, vai piesakāties programmēšanas darbiem vai vēlaties efektīvāku darba veidu, jums jāzina par Agile.

Lasiet Tālāk

Saistītās tēmas
  • Programmēšana
  • Programmēšana
Par autoru
Emma Garofalo (Publicēti 25 raksti)

Emma Garofalo ir rakstniece, kura pašlaik dzīvo Pitsburgā, Pensilvānijā. Kad viņa nemēģina aiziet pie sava rakstāmgalda un vēlas labāku rītdienu, viņu parasti var atrast aiz kameras vai virtuvē.

Vairāk no Emmas Garofalo

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.