Inžinjeri haosa

Postoje mnogi inžinjeri širom svijeta koji uživaju u stvaranju haosa.

Bijah neku noć na jednoj interesantnoj prezentaciji, a na kojoj se govorilo uglavnom o Chaos Engineering. U narednih par redaka ću pokušati prenijeti šta je to Inžinjering haosa iz moje perspektive, odnosno kako sam ja sve to shvatio.

O univerzalnim principima Inžinjeringa haosa, može se više naći na stranici: Osnovna načela inžinjeringa haosa

Mjesto zadovoljstva i uživanja

Ako bismo pitali mnoge ljude širom svijeta šta i gdje je njihovo mjesto uživanja, vjerovatno bi davali odgovore kako je to njihova neka radna soba, porodica, plaža i druga manje ili više egzotična (neobična, strana, nesvakidašnja) mjesta. Međutim, postoji i sorta ljudi koji uživaju ni manje ni više nego u mjestu koje se zove: Produkcija (Production).

Većina ljudi grad budućnosti zamišlja kao neki grad smiraja, zelenila, svježeg zraka. Nešto kao na slijedećoj slici.

Međutim, inžinjeri haosa uživaju da njihov grad budućnosti (a vala i sadašnjosti) nakon njihovih aktivnosti izgleda kao na slijedećoj slici.

Scenario haosa

Naravno, nema mnogo Amazon-a ili Netflix-a, ali oni su uvijek dobri za pokazati kako stvari rade. Mnogo je i manjih kompanija i platformi koje imaju stotinjak ili svega par hiljada mikroservisa, ali dovoljno da stvore neviđene glavobolje i da se ne zna gdje se šta dogodilo i što je najvažnije zbog čega.

Na slici iznad, ovo što je desno (Netflix) trči (running) na ovome što je lijevo (Amazon AWS). Valjda je to sasvim dovoljno da se kaže kolika je kompleksnost kako jednog tako i drugog sistema ili oba u cjelini.

The Brain Games — omiljena serija na Netflix-u

Ujutro kada se probudim, pritisnem bijelo dugme na daljinskom upravljaču s natpisom Netflix, kao vjerovatno i još milion drugih ljudi u Evropi. Recimo da je to u 6.30 ujutro i da to radim svako jutro. Želim da pogledam novu epizodu moje omiljene serije The Brain Games dok perem zube ili se spremam za posao.

U tom trenutku cijela platforma Netflix-a za regiju Evropa doživljava stres u svakom mogućem smislu. Od mrežnog protokola, čitanja i pisanja na diskove, do izvršavanja raznih servisa i komunikacije između njih, jer svako od nas milion želi da mu njegova omiljena epizoda starta odmah, iste sekunde poslije klika na dugme Play. (Ako zanemarimo brzinu internet konekcije lokalnog internet provajdera)

Ovo je jedan od načina na koji platforma može biti testirana i da se svi programeri, testeri, menadžeri svih nivoa i ostali nacrtaju u firmi u 6.00 i čekaju da ljudi počnu klikati. Kada se pojavi problem, da ga pokušaju riješiti ultrasoničnom brzinom.

Međutim, postoje i mnogi drugi načini, a jedan od njih je izazivanje (slučajnog ili planiranog) haosa. Taj posao rade Inžinjeri haosa!

Ugasi me nježno

Ako bismo pitali programere koji su pisali kod za neki servis, oni bi sigurno tražili da se taj servis tretira kao mala beba. Nikada ne smije zaplakati, mora imati hranu, ne smije joj biti ni toplo ni hladno i tako dalje. Međutim, testeri, a posebno inžinjeri haosa, vole da stvaraju haos. Njihov cijeli (radni) život se svodi na destrukciju!

Postoji mnoštvo (h)alata na internetu uz pomoć kojih se mogu izazvati razni haosi. Jedan od onih koji je bio prezentovan na pomenutoj prezentaciji (nisam njihov promoter, ne radim za njih ili nešto slično, nego čisto radi slikovitog prikaza šta ovo sve radi) je i softver, platforma, halat kojeg je razvila start-up firma imena ChaosMesh.

Zamislimo da imamo našu neku platformu čiji servisi imaju po 100 nodova (čvorova). I zamislimo da želimo da simuliramo preopterećenje kroz usporenje mreže, zauzetost CPU-a, memorije i slično. Ono što se može uz pomoć navedenog halata jeste da se konfiguriše sve ovo, na određenom broju čvorova ili na svima, za određeno vrijeme, ponavljajuće ili ne. Tj, moguće je uslovno rečeno simulirati kao da je na našu platformu u jednom trenutku (ili na duži neki vremenski period) došlo milion korisnika koji žele da koriste mnoštvo usluga koje platforma nudi.

0

Hits: 1